Version information
This version is compatible with:
- Puppet Enterprise 2023.8.x, 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x
- Puppet >= 7.0.0 < 9.0.0
- OpenBSD , , , , , ,
Start using this module
Add this module to your Puppetfile:
mod 'puppet-rabbitmq', '14.2.0'
Learn more about managing modules with a PuppetfileDocumentation
rabbitmq
Table of Contents
- Overview
- Module Description - What the module does and why it is useful
- Setup - The basics of getting started with rabbitmq
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
Overview
This module manages RabbitMQ (www.rabbitmq.com)
Module Description
The rabbitmq module sets up rabbitmq and has a number of providers to manage everything from vhosts to exchanges after setup.
This module has been tested against 3.5.x and 3.6.x (as well as earlier versions) and is known to not support all features against versions prior to 2.7.1.
Setup
What rabbitmq affects
- rabbitmq repository files.
- rabbitmq package.
- rabbitmq configuration file.
- rabbitmq service.
Usage
All options and configuration can be done through interacting with the parameters on the main rabbitmq class. These are now documented via Puppet Strings
You can view example usage in REFERENCE.
puppet/epel is a soft dependency. If you're on CentOS 7 and don't want to require it, set $require_epel
to false
Version v13.2.0 and older also added an erlang repository on CentOS 7. That isn't used and can be safely removed.
Reference
See REFERENCE.
Development
This module is maintained by Vox Pupuli. Voxpupuli welcomes new contributions to this module, especially those that include documentation and rspec tests. We are happy to provide guidance if necessary.
Please see CONTRIBUTING for more details.
Authors
- Jeff McCune jeff@puppetlabs.com
- Dan Bode dan@puppetlabs.com
- RPM/RHEL packages by Vincent Janelle randomfrequency@gmail.com
- Puppetlabs Module Team
- Voxpupuli Team
Reference
Table of Contents
Classes
Public Classes
rabbitmq
: A module to manage RabbitMQ
Private Classes
rabbitmq::config
: Sets all the configuration values for RabbitMQ and creates the directories for config and ssl.rabbitmq::install
: Ensures that rabbitmq-server existsrabbitmq::install::rabbitmqadmin
: Install rabbitmq adminrabbitmq::management
: Manage presence / absence of user resource for guest management user.rabbitmq::repo::apt
: requires puppetlabs-apt puppetlabs-stdlibrabbitmq::repo::rhel
: Makes sure that the Packagecloud repo is installedrabbitmq::service
: This class manages the rabbitmq server service itself.
Resource types
rabbitmq_binding
: Native type for managing rabbitmq bindings rabbitmq_binding { 'binding 1': ensure => present, source => 'myexchange'rabbitmq_cluster
: Native type for managing rabbitmq clusterrabbitmq_erlang_cookie
: Type to manage the rabbitmq erlang cookie securely This is essentially a private type used by the rabbitmq::config class to manage the erlanrabbitmq_exchange
: Native type for managing rabbitmq exchangesrabbitmq_parameter
: Type for managing rabbitmq parametersrabbitmq_plugin
: manages rabbitmq pluginsrabbitmq_policy
: Type for managing rabbitmq policiesrabbitmq_queue
: Native type for managing rabbitmq queuerabbitmq_user
: Native type for managing rabbitmq usersrabbitmq_user_permissions
: Type for managing rabbitmq user permissionsrabbitmq_vhost
: Native type for managing rabbitmq vhosts
Classes
rabbitmq
A module to manage RabbitMQ
Examples
Basic usage
include rabbitmq
rabbitmq class
class { 'rabbitmq':
service_manage => false,
port => '5672',
delete_guest_user => true,
}
Offline installation from local mirror:
class { 'rabbitmq':
key_content => template('openstack/rabbit.pub.key'),
package_gpg_key => '/tmp/rabbit.pub.key',
}
Use external package key source for any (apt/rpm) package provider:
class { 'rabbitmq':
package_gpg_key => 'http://www.some_site.some_domain/some_key.pub.key',
}
Offline installation from local mirror:
class { 'rabbitmq':
key_content => template('openstack/rabbit.pub.key'),
repo_gpg_key => '/tmp/rabbit.pub.key',
}
Use external package key source for any (apt/rpm) package provider:
class { 'rabbitmq':
repo_gpg_key => 'http://www.some_site.some_domain/some_key.pub.key',
}
To use RabbitMQ Environment Variables, use the parameters environment_variables
e.g.:
class { 'rabbitmq':
port => '5672',
environment_variables => {
'NODENAME' => 'node01',
'SERVICENAME' => 'RabbitMQ'
}
}
Change RabbitMQ Config Variables in rabbitmq.config:
class { 'rabbitmq':
port => '5672',
config_variables => {
'hipe_compile' => true,
'frame_max' => 131072,
}
}
Change RabbitMQ log level in rabbitmq.config for RabbitMQ version < 3.7.x :
class { 'rabbitmq':
config_variables => {
'log_levels' => "[{queue, info}]"
}
}
Change RabbitMQ log level in rabbitmq.config for RabbitMQ version since 3.7.x :
class { 'rabbitmq':
config_variables => {
'log' => "[{file, [{level,debug}]},{categories, [{queue, [{level,info},{file,'queue.log'}]}]}]"
}
}
Change Erlang Kernel Config Variables in rabbitmq.config
class { 'rabbitmq':
port => '5672',
config_kernel_variables => {
'inet_dist_listen_min' => 9100,
'inet_dist_listen_max' => 9105,
}
}
Change Management Plugin Config Variables in rabbitmq.config
class { 'rabbitmq':
config_management_variables => {
'rates_mode' => 'basic',
}
}
Change Additional Config Variables in rabbitmq.config
class { 'rabbitmq':
config_additional_variables => {
'autocluster' => '[{consul_service, "rabbit"},{cluster_name, "rabbit"}]',
'foo' => '[{bar, "baz"}]'
}
}
This will result in the following config appended to the config file:
{autocluster, [{consul_service, "rabbit"},{cluster_name, "rabbit"}]},
{foo, [{bar, "baz"}]}
(This is required for the [autocluster plugin](https://github.com/rabbitmq/rabbitmq-autocluster)
Use RabbitMQ clustering facilities
class { 'rabbitmq':
cluster => {
'name' => 'test_cluster',
'init_node' => 'hostname'
},
config_cluster => true,
cluster_nodes => ['rabbit1', 'rabbit2'],
cluster_node_type => 'ram',
erlang_cookie => 'A_SECRET_COOKIE_STRING',
wipe_db_on_cookie_change => true,
}
Parameters
The following parameters are available in the rabbitmq
class:
admin_enable
management_enable
use_config_file_for_plugins
plugins
auth_backends
cluster
cluster_node_type
cluster_nodes
cluster_partition_handling
collect_statistics_interval
config
config_additional_variables
config_cluster
config_cowboy_opts
config_kernel_variables
config_path
config_ranch
config_management_variables
config_stomp
config_shovel
config_shovel_statics
config_variables
default_user
default_pass
delete_guest_user
enable_centos_release
env_config
env_config_path
environment_variables
erlang_cookie
file_limit
oom_score_adj
heartbeat
inetrc_config
inetrc_config_path
ipv6
interface
key_content
ldap_auth
ldap_server
ldap_user_dn_pattern
ldap_other_bind
ldap_config_variables
ldap_use_ssl
ldap_port
ldap_log
manage_python
management_hostname
management_port
management_ip_address
management_ssl
node_ip_address
package_apt_pin
package_ensure
package_gpg_key
package_source
package_provider
repo_gpg_key
package_name
port
python_package
quorum_membership_reconciliation_enabled
quorum_membership_reconciliation_auto_remove
quorum_membership_reconciliation_interval
quorum_membership_reconciliation_trigger_interval
quorum_membership_reconciliation_target_group_size
repos_ensure
service_ensure
service_manage
service_name
service_restart
ssl
ssl_cacert
ssl_cert
ssl_cert_password
ssl_client_renegotiation
ssl_depth
ssl_dhfile
ssl_erl_dist
ssl_honor_cipher_order
ssl_interface
ssl_key
ssl_only
ssl_management_port
ssl_management_cacert
ssl_management_cert
ssl_management_key
ssl_management_fail_if_no_peer_cert
ssl_port
ssl_reuse_sessions
ssl_secure_renegotiate
ssl_stomp_port
ssl_verify
ssl_fail_if_no_peer_cert
ssl_management_verify
ssl_versions
ssl_ciphers
ssl_crl_check
ssl_crl_cache_hash_dir
ssl_crl_cache_http_timeout
stomp_port
stomp_ssl_only
stomp_ensure
tcp_backlog
tcp_keepalive
tcp_recbuf
tcp_sndbuf
wipe_db_on_cookie_change
rabbitmq_user
rabbitmq_group
rabbitmq_home
rabbitmqadmin_package
archive_options
loopback_users
admin_enable
Data type: Boolean
If enabled sets up the management interface/plugin for RabbitMQ. This will also install the rabbitmqadmin command line tool.
Default value: true
management_enable
Data type: Boolean
If enabled sets up the management interface/plugin for RabbitMQ. NOTE: This does not install the rabbitmqadmin command line tool.
Default value: false
use_config_file_for_plugins
Data type: Boolean
If enabled the /etc/rabbitmq/enabled_plugins config file is created, replacing the use of the rabbitmqplugins provider to enable plugins.
Default value: false
plugins
Data type: Array
Additional list of plugins to start, or to add to /etc/rabbitmq/enabled_plugins, if use_config_file_for_plugins is enabled.
Default value: []
auth_backends
Data type: Optional[Array]
An array specifying authorization/authentication backend to use. Single quotes should be placed around array entries,
ex. ['{foo, baz}', 'baz']
Defaults to [rabbit_auth_backend_internal], and if using LDAP defaults to [rabbit_auth_backend_internal,
rabbit_auth_backend_ldap].
Default value: undef
cluster
Data type: Hash
Join cluster and change name of cluster.
Default value: $rabbitmq::cluster
cluster_node_type
Data type: Enum['ram', 'disc']
Choose between disc and ram nodes.
Default value: 'disc'
cluster_nodes
Data type: Array
An array of nodes for clustering.
Default value: []
cluster_partition_handling
Data type: String
Value to set for cluster_partition_handling
RabbitMQ configuration variable.
Default value: 'ignore'
collect_statistics_interval
Data type: Optional[Integer]
Set the collect_statistics_interval in rabbitmq.config
Default value: undef
config
Data type: String
The file to use as the rabbitmq.config template.
Default value: 'rabbitmq/rabbitmq.config.epp'
config_additional_variables
Data type: Hash
Additional config variables in rabbitmq.config
Default value: {}
config_cluster
Data type: Boolean
Enable or disable clustering support.
Default value: false
config_cowboy_opts
Data type: Hash
Hash of additional configs (key / value) for cowboy_opts
in rabbitmq.config.
Default value: {}
config_kernel_variables
Data type: Hash
Hash of Erlang kernel configuration variables to set (see Variables Configurable in rabbitmq.config).
Default value: {}
config_path
Data type: Stdlib::Absolutepath
The path to write the RabbitMQ configuration file to.
Default value: '/etc/rabbitmq/rabbitmq.config'
config_ranch
Data type: Boolean
When true, suppress config directives needed for older (<3.6) RabbitMQ versions.
Default value: true
config_management_variables
Data type: Hash
Hash of configuration variables for the Management Plugin.
Default value: {}
config_stomp
Data type: Boolean
Enable or disable stomp.
Default value: false
config_shovel
Data type: Boolean
Enable or disable shovel.
Default value: false
config_shovel_statics
Data type: Hash
Hash of static shovel configurations
Default value: {}
config_variables
Data type: Hash
To set config variables in rabbitmq.config
Default value: {}
default_user
Data type: String
Username to set for the default_user
in rabbitmq.config.
Default value: 'guest'
default_pass
Data type: String
Password to set for the default_user
in rabbitmq.config.
Default value: 'guest'
delete_guest_user
Data type: Boolean
Controls whether default guest user is deleted.
Default value: false
enable_centos_release
Data type: Boolean
Enable the centos-release-rabbitmq-38
if set to true
and if the OS is in the
RedHat family and repos_ensure
is false
. Defaults to true on CentOS.
Default value: false
env_config
Data type: String
The template file to use for rabbitmq_env.config.
Default value: 'rabbitmq/rabbitmq-env.conf.epp'
env_config_path
Data type: Stdlib::Absolutepath
The path to write the rabbitmq_env.config file to.
Default value: '/etc/rabbitmq/rabbitmq-env.conf'
environment_variables
Data type: Hash
RabbitMQ Environment Variables in rabbitmq_env.config
Default value: { 'LC_ALL' => 'en_US.UTF-8' }
erlang_cookie
Data type: Optional[String]
The erlang cookie to use for clustering - must be the same between all nodes. This value has no default and must be set explicitly if using clustering. If you run Pacemaker and you don't want to use RabbitMQ buildin cluster, you can set config_cluster to 'False' and set 'erlang_cookie'.
Default value: undef
file_limit
Data type: Variant[Integer[-1],Enum['unlimited'],Pattern[/^(infinity|\d+(:(infinity|\d+))?)$/]]
Set rabbitmq file ulimit. Defaults to 16384. Only available on Linux
Default value: 16384
oom_score_adj
Data type: Integer[-1000, 1000]
Set rabbitmq-server process OOM score. Defaults to 0.
Default value: 0
heartbeat
Data type: Optional[Integer]
Set the heartbeat timeout interval, default is unset which uses the builtin server defaults of 60 seconds. Setting this
Default value: undef
inetrc_config
Data type: String
Template to use for the inetrc config
Default value: 'rabbitmq/inetrc.erb'
inetrc_config_path
Data type: Stdlib::Absolutepath
Path of the file to push the inetrc config to.
Default value: '/etc/rabbitmq/inetrc'
ipv6
Data type: Boolean
Whether to listen on ipv6
Default value: false
interface
Data type: Optional[String]
Interface to bind to (sets tcp_listeners parameter). By default, bind to all interfaces
to 0
will disable heartbeats.
Default value: undef
key_content
Data type: Optional[String]
Uses content method for Debian OS family. Should be a template for apt::source class. Overrides package_gpg_key
behavior, if enabled. Undefined by default.
Default value: undef
ldap_auth
Data type: Boolean
Set to true to enable LDAP auth.
Default value: false
ldap_server
Data type: Variant[String[1],Array[String[1]]]
LDAP server or servers to use for auth.
Default value: 'ldap'
ldap_user_dn_pattern
Data type: Optional[String]
User DN pattern for LDAP auth.
Default value: undef
ldap_other_bind
Data type: String
How to bind to the LDAP server. Defaults to 'anon'.
Default value: 'anon'
ldap_config_variables
Data type: Hash
Hash of other LDAP config variables.
Default value: {}
ldap_use_ssl
Data type: Boolean
Set to true to use SSL for the LDAP server.
Default value: false
ldap_port
Data type: Integer[1, 65535]
Numeric port for LDAP server.
Default value: 389
ldap_log
Data type: Boolean
Set to true to log LDAP auth.
Default value: false
manage_python
Data type: Boolean
If enabled, on platforms that don't provide a Python 2 package by default, ensure that the python package is
installed (for rabbitmqadmin). This will only apply if admin_enable
and service_manage
are set.
Default value: true
management_hostname
Data type: Optional[String]
The hostname for the RabbitMQ management interface.
Default value: undef
management_port
Data type: Integer[1, 65535]
The port for the RabbitMQ management interface.
Default value: 15672
management_ip_address
Data type: Optional[String]
Allows you to set the IP for management interface to bind to separately. Set to 127.0.0.1 to bind to localhost only, or 0.0.0.0 to bind to all interfaces.
Default value: undef
management_ssl
Data type: Boolean
Enable/Disable SSL for the management port. Has an effect only if ssl => true.
Default value: true
node_ip_address
Data type: Optional[String]
Allows you to set the IP for RabbitMQ service to bind to. Set to 127.0.0.1 to bind to localhost only, or 0.0.0.0 to bind to all interfaces.
Default value: undef
package_apt_pin
Data type: Optional[Variant[Numeric, String[1]]]
Whether to pin the package to a particular source
Default value: undef
package_ensure
Data type: String
Determines the ensure state of the package. Set to installed by default, but could be changed to latest.
Default value: 'installed'
package_gpg_key
Data type: Optional[String]
RPM package GPG key to import. Uses source method. Should be a URL for Debian/RedHat OS family, or a file name for RedHat OS family. Set to https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc for Debian/RedHat OS Family by default.
Default value: undef
package_source
Data type: Optional[String]
Default value: undef
package_provider
Data type: Optional[String]
Default value: undef
repo_gpg_key
Data type: Optional[String]
RPM package GPG key to import. Uses source method. Should be a URL for Debian/RedHat OS family, or a file name for
RedHat OS family. Set to https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey for Debian/RedHat OS Family by
default. Note, that key_content
, if specified, would override this parameter for Debian OS family.
Default value: undef
package_name
Data type: Variant[String, Array]
Name(s) of the package(s) to install
Default value: 'rabbitmq'
port
Data type: Integer
The RabbitMQ port.
Default value: 5672
python_package
Data type: String
Name of the package required by rabbitmqadmin.
Default value: 'python'
quorum_membership_reconciliation_enabled
Data type: Optional[Boolean]
Enables or disables continuous membership reconciliation. This REQUIRES RabbitMQ 3.13 or higher to be set to true. More information on this configuration can be found here: https://www.rabbitmq.com/docs/quorum-queues
Default value: undef
quorum_membership_reconciliation_auto_remove
Data type: Optional[Boolean]
Enables or disables automatic removal of member nodes that are no longer part of the cluster, but still a member of the quorum queue. Important Note: This only takes affect if quorum_membership_reconciliation_enabled is set to true.
Default value: undef
quorum_membership_reconciliation_interval
Data type: Optional[Integer]
The default evaluation interval in milliseconds. Important Note: This only takes affect if quorum_membership_reconciliation_enabled is set to true.
Default value: undef
quorum_membership_reconciliation_trigger_interval
Data type: Optional[Integer]
The reconciliation delay in milliseconds, used when a trigger event occurs, for example, a node is added or removed from the cluster or an applicable policy changes. This delay will be applied only once, then the regular interval will be used again. Important Note: This only takes affect if quorum_membership_reconciliation_enabled is set to true.
Default value: undef
quorum_membership_reconciliation_target_group_size
Data type: Optional[Integer]
Controls the target group size for a quorum queue Important Note: This only takes affect if quorum_membership_reconciliation_enabled is set to true.
Default value: undef
repos_ensure
Data type: Boolean
Ensure that a repo with the official (and newer) RabbitMQ package is configured, along with its signing key. Defaults to false (use system packages). This does not ensure that soft dependencies are present. It also does not solve the erlang dependency. See https://www.rabbitmq.com/which-erlang.html for a good breakdown of the different ways of handling the erlang deps. See also https://github.com/voxpupuli/puppet-rabbitmq/issues/788
Default value: false
service_ensure
Data type: Enum['running', 'stopped']
The state of the service.
Default value: 'running'
service_manage
Data type: Boolean
Determines if the service is managed.
Default value: true
service_name
Data type: String
The name of the service to manage.
Default value: 'rabbitmq'
service_restart
Data type: Boolean
Default defined in param.pp. Whether to restart the service on config change.
Default value: true
ssl
Data type: Boolean
Configures the service for using SSL.
Default value: false
ssl_cacert
Data type: Optional[Stdlib::Absolutepath]
CA cert path to use for SSL.
Default value: undef
ssl_cert
Data type: Optional[Stdlib::Absolutepath]
Cert to use for SSL.
Default value: undef
ssl_cert_password
Data type: Optional[String]
Password used when generating CSR.
Default value: undef
ssl_client_renegotiation
Data type: Optional[Boolean]
Allow ssl client renegotiation
Default value: undef
ssl_depth
Data type: Optional[Integer]
SSL verification depth.
Default value: undef
ssl_dhfile
Data type: Optional[Stdlib::Absolutepath]
Use this dhparam file [example: generate with openssl dhparam -out /etc/rabbitmq/ssl/dhparam.pem 2048
Default value: undef
ssl_erl_dist
Data type: Boolean
Whether to use the erlang package's SSL (relies on the ssl_erl_path fact)
Default value: false
ssl_honor_cipher_order
Data type: Boolean
Force use of server cipher order
Default value: true
ssl_interface
Data type: Optional[String]
Interface for SSL listener to bind to
Default value: undef
ssl_key
Data type: Optional[Stdlib::Absolutepath]
Key to use for SSL.
Default value: undef
ssl_only
Data type: Boolean
Configures the service to only use SSL. No cleartext TCP listeners will be created. Requires that ssl => true and port => undef
Default value: false
ssl_management_port
Data type: Integer[1, 65535]
SSL management port.
Default value: 15671
ssl_management_cacert
Data type: Optional[Stdlib::Absolutepath]
SSL management cacert. If unset set to ssl_cacert for backwards compatibility.
Default value: $ssl_cacert
ssl_management_cert
Data type: Optional[Stdlib::Absolutepath]
SSL management cert. If unset set to ssl_cert for backwards compatibility.
Default value: $ssl_cert
ssl_management_key
Data type: Optional[Stdlib::Absolutepath]
SSL management key. If unset set to ssl_key for backwards compatibility.
Default value: $ssl_key
ssl_management_fail_if_no_peer_cert
Data type: Boolean
Default value: false
ssl_port
Data type: Integer[1, 65535]
SSL port for RabbitMQ
Default value: 5671
ssl_reuse_sessions
Data type: Boolean
Reuse ssl sessions
Default value: true
ssl_secure_renegotiate
Data type: Boolean
Use ssl secure renegotiate
Default value: true
ssl_stomp_port
Data type: Integer[1, 65535]
SSL stomp port.
Default value: 6164
ssl_verify
Data type: Enum['verify_none','verify_peer']
rabbitmq.config SSL verify setting.
Default value: 'verify_none'
ssl_fail_if_no_peer_cert
Data type: Boolean
rabbitmq.config fail_if_no_peer_cert
setting.
Default value: false
ssl_management_verify
Data type: Enum['verify_none','verify_peer']
rabbitmq.config SSL verify setting for rabbitmq_management.
Default value: 'verify_none'
ssl_versions
Data type: Optional[Array]
Choose which SSL versions to enable. Example: ['tlsv1.2', 'tlsv1.1']
Note
that it is recommended to disable sslv3 and
tlsv1` to prevent against
POODLE and BEAST attacks. Please see the
RabbitMQ SSL documentation for more information.
Default value: undef
ssl_ciphers
Data type: Array
Support only a given list of SSL ciphers, using either the Erlang or OpenSSL styles.
Supported ciphers in your install can be listed with: rabbitmqctl eval 'ssl:cipher_suites().'
Functionality can be tested with cipherscan or similar tool: https://github.com/mozilla/cipherscan
- Erlang style:
['ecdhe_rsa,aes_256_cbc,sha', 'dhe_rsa,aes_256_cbc,sha']
- OpenSSL style:
['ECDHE-RSA-AES256-SHA', 'DHE-RSA-AES256-SHA']
Default value: []
ssl_crl_check
Data type: Enum['true','false','peer','best_effort']
Perform CRL (Certificate Revocation List) verification Please see the Erlang SSL module documentation for more information.
Default value: 'false'
ssl_crl_cache_hash_dir
Data type: Optional[Stdlib::Absolutepath]
This setting makes use of a directory where CRLs are stored in files named by the hash of the issuer name. Please see the Erlang SSL module documentation for more information.
Default value: undef
ssl_crl_cache_http_timeout
Data type: Optional[Integer]
This setting enables use of internal CRLs cache and sets HTTP timeout interval on fetching CRLs from distributino URLs defined inside certificate. Please see the Erlang SSL module documentation for more information.
Default value: undef
stomp_port
Data type: Integer[1, 65535]
The port to use for Stomp.
Default value: 6163
stomp_ssl_only
Data type: Boolean
Configures STOMP to only use SSL. No cleartext STOMP TCP listeners will be created. Requires setting ssl_stomp_port also.
Default value: false
stomp_ensure
Data type: Boolean
Enable to install the stomp plugin.
Default value: false
tcp_backlog
Data type: Integer
The size of the backlog on TCP connections.
Default value: 128
tcp_keepalive
Data type: Boolean
Enable TCP connection keepalive for RabbitMQ service.
Default value: false
tcp_recbuf
Data type: Optional[Integer]
Corresponds to recbuf in RabbitMQ tcp_listen_options
Default value: undef
tcp_sndbuf
Data type: Optional[Integer]
Integer, corresponds to sndbuf in RabbitMQ tcp_listen_options
Default value: undef
wipe_db_on_cookie_change
Data type: Boolean
Boolean to determine if we should DESTROY AND DELETE the RabbitMQ database.
Default value: false
rabbitmq_user
Data type: String
OS dependent The system user the rabbitmq daemon runs as.
Default value: 'rabbitmq'
rabbitmq_group
Data type: String
OS dependent The system group the rabbitmq daemon runs as.
Default value: 'rabbitmq'
rabbitmq_home
Data type: Stdlib::Absolutepath
OS dependent The home directory of the rabbitmq deamon.
Default value: '/var/lib/rabbitmq'
rabbitmqadmin_package
Data type: Optional[String]
OS dependent If undef: install rabbitmqadmin via archive, otherwise via package
Default value: undef
archive_options
Data type: Array
Extra options to Archive resource to download rabbitmqadmin file
Default value: []
loopback_users
Data type: Array
This option configures a list of users to allow access via the loopback interfaces
Default value: ['guest']
Resource types
rabbitmq_binding
Native type for managing rabbitmq bindings
rabbitmq_binding { 'binding 1': ensure => present, source => 'myexchange', destination => 'myqueue', vhost => 'myvhost', user => 'dan', password => 'bar', destination_type => 'queue', routing_key => 'key1', arguments => {}, }
rabbitmq_binding { 'binding 2': ensure => present, source => 'myexchange', destination => 'myqueue', vhost => 'myvhost', user => 'dan', password => 'bar', destination_type => 'queue', routing_key => 'key2', arguments => {}, }
Examples
Create a rabbitmq_binding
rabbitmq_binding { 'myexchange@myqueue@myvhost':
user => 'dan',
password => 'bar',
destination_type => 'queue',
routing_key => '#',
arguments => {},
ensure => present,
}
Create bindings with same source / destination / vhost but different routing key using individual parameters
Properties
The following properties are available in the rabbitmq_binding
type.
arguments
binding arguments
Default value: {}
destination
Valid values: %r{^\S+$}
namevar
destination of binding
destination_type
Valid values: %r{queue|exchange}
binding destination_type
Default value: queue
ensure
Valid values: present
, absent
Whether the resource should be present or absent
Default value: present
routing_key
Valid values: %r{^\S*$}
namevar
binding routing_key
source
Valid values: %r{^\S+$}
namevar
source of binding
vhost
Valid values: %r{^\S+$}
namevar
vhost
Default value: /
Parameters
The following parameters are available in the rabbitmq_binding
type.
name
namevar
resource name, either source@destination@vhost or arbitrary name with params
password
Valid values: %r{\S+}
The password to use to connect to rabbitmq
Default value: guest
provider
The specific backend to use for this rabbitmq_binding
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
user
Valid values: %r{^\S+$}
The user to use to connect to rabbitmq
Default value: guest
rabbitmq_cluster
Native type for managing rabbitmq cluster
Examples
Configure a cluster, rabbit_cluster
rabbitmq_cluster { 'rabbit_cluster':
init_node => 'host1'
}
Optional parameter tags will set further rabbitmq tags like monitoring, policymaker, etc.
To set the cluster name use cluster_name.
rabbitmq_cluster { 'rabbit_cluster':
init_node => 'host1',
node_disc_type => 'ram',
}
Properties
The following properties are available in the rabbitmq_cluster
type.
ensure
Valid values: present
, absent
Whether the resource should be present or absent
Default value: present
Parameters
The following parameters are available in the rabbitmq_cluster
type.
init_node
Name of which cluster node to join.
local_node
Name of the local node
Default value: undef
name
namevar
The cluster name
node_disc_type
Valid values: %r{disc|ram}
Storage type of node, default disc.
Default value: disc
provider
The specific backend to use for this rabbitmq_cluster
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
rabbitmq_erlang_cookie
Type to manage the rabbitmq erlang cookie securely
This is essentially a private type used by the rabbitmq::config class to manage the erlang cookie. It replaces the rabbitmq_erlang_cookie fact from earlier versions of this module. It manages the content of the cookie usually located at "${rabbitmq_home}/.erlang.cookie", which includes stopping the rabbitmq service and wiping out the database at "${rabbitmq_home}/mnesia" if the user agrees to it. We don't recommend using this type directly.
Properties
The following properties are available in the rabbitmq_erlang_cookie
type.
content
Valid values: %r{^\S+$}
Content of cookie
Parameters
The following parameters are available in the rabbitmq_erlang_cookie
type.
force
Valid values: true
, false
Force parameter
Default value: false
path
Path of the erlang cookie
provider
The specific backend to use for this rabbitmq_erlang_cookie
resource. You will seldom need to specify this --- Puppet
will usually discover the appropriate provider for your platform.
rabbitmq_group
Rabbitmq Group
Default value: rabbitmq
rabbitmq_home
Path to the rabbitmq home directory
Default value: /var/lib/rabbitmq
rabbitmq_user
Rabbitmq User
Default value: rabbitmq
service_name
Valid values: %r{^\S+$}
Name of the service
rabbitmq_exchange
Native type for managing rabbitmq exchanges
Examples
Create a rabbitmq_exchange
rabbitmq_exchange { 'myexchange@myvhost':
user => 'dan',
password => 'bar',
type => 'topic',
ensure => present,
internal => false,
auto_delete => false,
durable => true,
arguments => {
hash-header => 'message-distribution-hash'
}
}
Properties
The following properties are available in the rabbitmq_exchange
type.
ensure
Valid values: present
, absent
Whether the resource should be present or absent
Default value: present
Parameters
The following parameters are available in the rabbitmq_exchange
type.
arguments
Exchange arguments example: {"hash-header": "message-distribution-hash"}
Default value: {}
auto_delete
Valid values: %r{^\S+$}
Exchange auto delete option to be set on creation
Default value: false
durable
Valid values: %r{^\S+$}
Exchange durability to be set on creation
Default value: false
internal
Valid values: %r{^\S+$}
Exchange internal option to be set on creation
Default value: false
name
Valid values: %r{^\S*@\S+$}
namevar
Name of exchange
password
Valid values: %r{\S+}
The password to use to connect to rabbitmq
Default value: guest
provider
The specific backend to use for this rabbitmq_exchange
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
type
Valid values: %r{^\S+$}
Exchange type to be set on creation
user
Valid values: %r{^\S+$}
The user to use to connect to rabbitmq
Default value: guest
rabbitmq_parameter
Type for managing rabbitmq parameters
Examples
Create some rabbitmq_parameter resources
rabbitmq_parameter { 'documentumShovel@/':
component_name => '',
value => {
'src-uri' => 'amqp://',
'src-queue' => 'my-queue',
'dest-uri' => 'amqp://remote-server',
'dest-queue' => 'another-queue',
},
}
rabbitmq_parameter { 'documentumFed@/':
component_name => 'federation-upstream',
value => {
'uri' => 'amqp://myserver',
'expires' => '360000',
},
}
rabbitmq_parameter { 'documentumShovelNoMunging@/':
component_name => '',
value => {
'src-uri' => 'amqp://',
'src-exchange' => 'my-exchange',
'src-exchange-key' => '6',
'src-queue' => 'my-queue',
'dest-uri' => 'amqp://remote-server',
'dest-exchange' => 'another-exchange',
},
autoconvert => false,
}
Properties
The following properties are available in the rabbitmq_parameter
type.
component_name
The component_name to use when setting parameter, eg: shovel or federation
ensure
Valid values: present
, absent
Whether the resource should be present or absent
Default value: present
value
A hash of values to use with the component name you are setting
Parameters
The following parameters are available in the rabbitmq_parameter
type.
autoconvert
Valid values: true
, false
whether numeric strings from value
should be converted to int automatically
Default value: true
name
Valid values: %r{^\S+@\S+$}
namevar
combination of name@vhost to set parameter for
provider
The specific backend to use for this rabbitmq_parameter
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
rabbitmq_plugin
manages rabbitmq plugins
Examples
query all currently enabled plugins
$ puppet resource rabbitmq_plugin
Ensure a rabbitmq_plugin resource
rabbitmq_plugin {'rabbitmq_stomp':
ensure => present,
}
Ensure a rabbitmq_plugin offline resource (with RabbitMQ version >=3.4.0)
rabbitmq_plugin {'rabbitmq_stomp':
ensure => present,
mode => 'offline',
}
Properties
The following properties are available in the rabbitmq_plugin
type.
ensure
Valid values: present
, absent
Whether the resource should be present or absent
Default value: present
Parameters
The following parameters are available in the rabbitmq_plugin
type.
mode
Valid values: online
, offline
, best
Define how the plugin should be enabled regarding node status.
Default value: best
name
Valid values: %r{^\S+$}
namevar
The name of the plugin to enable
provider
The specific backend to use for this rabbitmq_plugin
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
umask
Sets the octal umask to be used while creating this resource
Default value: 0022
rabbitmq_policy
Type for managing rabbitmq policies
Examples
Create a rabbitmq_policy
rabbitmq_policy { 'ha-all@myvhost':
pattern => '.*',
priority => 0,
applyto => 'all',
definition => {
'ha-mode' => 'all',
'ha-sync-mode' => 'automatic',
},
}
Properties
The following properties are available in the rabbitmq_policy
type.
applyto
Valid values: all
, classic_queues
, exchanges
, queues
, quorum_queues
, streams
policy apply to
Default value: all
definition
policy definition
ensure
Valid values: present
, absent
Whether the resource should be present or absent
Default value: present
pattern
policy pattern
priority
Valid values: %r{^\d+$}
policy priority
Default value: 0
Parameters
The following parameters are available in the rabbitmq_policy
type.
name
Valid values: %r{^\S+@\S+$}
namevar
combination of policy@vhost to create policy for
provider
The specific backend to use for this rabbitmq_policy
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
rabbitmq_queue
Native type for managing rabbitmq queue
Examples
Create a rabbitmq_queue
rabbitmq_queue { 'myqueue@myvhost':
ensure => present,
user => 'dan',
password => 'bar',
durable => true,
auto_delete => false,
arguments => {
x-message-ttl => 123,
x-dead-letter-exchange => 'other'
},
}
Properties
The following properties are available in the rabbitmq_queue
type.
ensure
Valid values: present
, absent
Whether the resource should be present or absent
Default value: present
Parameters
The following parameters are available in the rabbitmq_queue
type.
arguments
Queue arguments example: {x-message-ttl => 60, x-expires => 10}
Default value: {}
auto_delete
Valid values: %r{true|false}
Queue will be auto deleted
Default value: false
durable
Valid values: %r{true|false}
Queue is durable
Default value: true
name
Valid values: %r{^\S*@\S+$}
namevar
Name of queue
password
Valid values: %r{\S+}
The password to use to connect to rabbitmq
Default value: guest
provider
The specific backend to use for this rabbitmq_queue
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
user
Valid values: %r{^\S+$}
The user to use to connect to rabbitmq
Default value: guest
rabbitmq_user
Native type for managing rabbitmq users
Examples
query all current users
$ puppet resource rabbitmq_user
Configure a user, dan
rabbitmq_user { 'dan':
admin => true,
password => 'bar',
}
Optional parameter tags will set further rabbitmq tags like monitoring, policymaker, etc.
To set the administrator tag use admin-flag.
rabbitmq_user { 'dan':
admin => true,
password => 'bar',
tags => ['monitoring', 'tag1'],
}
Properties
The following properties are available in the rabbitmq_user
type.
admin
Valid values: %r{true|false}
whether or not user should be an admin
Default value: false
ensure
Valid values: present
, absent
Whether the resource should be present or absent
Default value: present
password
User password to be set on creation and validated each run
tags
additional tags for the user
Default value: []
Parameters
The following parameters are available in the rabbitmq_user
type.
name
Valid values: %r{^\S+$}
namevar
Name of user
provider
The specific backend to use for this rabbitmq_user
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
rabbitmq_user_permissions
Type for managing rabbitmq user permissions
Examples
Define some rabbitmq_user_permissions
rabbitmq_user_permissions { 'dan@myvhost':
configure_permission => '.*',
read_permission => '.*',
write_permission => '.*',
}
Properties
The following properties are available in the rabbitmq_user_permissions
type.
configure_permission
regexp representing configuration permissions
ensure
Valid values: present
, absent
Whether the resource should be present or absent
Default value: present
read_permission
regexp representing read permissions
write_permission
regexp representing write permissions
Parameters
The following parameters are available in the rabbitmq_user_permissions
type.
name
Valid values: %r{^\S+@\S+$}
namevar
combination of user@vhost to grant privileges to
provider
The specific backend to use for this rabbitmq_user_permissions
resource. You will seldom need to specify this ---
Puppet will usually discover the appropriate provider for your platform.
rabbitmq_vhost
Native type for managing rabbitmq vhosts
Examples
query all current vhosts
$ puppet resource rabbitmq_vhost`
Create a rabbitmq_vhost
rabbitmq_vhost { 'myvhost':
ensure => present,
description => 'myvhost description',
tags => ['tag1', 'tag2'],
default_queue_type => 'quorum',
}
Properties
The following properties are available in the rabbitmq_vhost
type.
default_queue_type
Valid values: classic
, quorum
, stream
The default queue type for queues in this vhost
description
A description of the vhost
ensure
Valid values: present
, absent
Whether the resource should be present or absent
Default value: present
tags
additional tags for the vhost
Default value: []
Parameters
The following parameters are available in the rabbitmq_vhost
type.
name
Valid values: %r{^\S+$}
namevar
The name of the vhost to add
provider
The specific backend to use for this rabbitmq_vhost
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
Changelog
All notable changes to this project will be documented in this file. Each new release typically also includes the latest modulesync defaults. These should not affect the functionality of the module.
v14.2.0 (2024-12-21)
Implemented enhancements:
v14.1.0 (2024-12-11)
Implemented enhancements:
Closed issues:
- centos-release being enabled by default on RHEL #1033
v14.0.0 (2024-12-07)
Breaking changes:
- Add support for CentOS / RHEL 9 and drop support for 7 #1027 (wyardley)
- Drop support for Debian 10, Ubuntu 18, and FreeBSD 12 #1026 (wyardley)
Implemented enhancements:
Fixed bugs:
v13.7.0 (2024-09-06)
Implemented enhancements:
- Add support for Ubuntu 20 and 22 #1015 (wyardley)
- Add support for cowboy_opts config in rabbitmq.config #1013 (SpinEternel)
Fixed bugs:
v13.6.0 (2024-06-28)
Implemented enhancements:
Merged pull requests:
- replace systemd fact with core fact #1007 (bastelfreak)
v13.5.1 (2024-05-29)
Fixed bugs:
- Fix indentation for cluster_nodes #1002 (jplindquist)
- require puppet/systemd >= 6.0.0 #1001 (saz)
v13.5.0 (2024-05-23)
Implemented enhancements:
- Add require_epel parameter, defaulting to
true
#997 (wyardley) - Add support for policy definition consumer-timeout #991 (wyardley)
Fixed bugs:
Closed issues:
- Does not find rabbitmqadmin under ubuntu #812
Merged pull requests:
- Add unit test to handle bug solved on PR #993 #994 (nosrio)
- Use stdlib::ensure_packages #990 (wyardley)
v13.4.0 (2024-05-19)
Historically we used the garethr/erlang module as soft dependency on CentOS 7. This also configured the EPEL7 repository. We have replaced this with an include of the EPEL repo on CentOS 7.
Implemented enhancements:
- puppetlabs/apt: Allow 9.x #988 (bastelfreak)
- puppetlabs/stdlib: Allow 9.x #986 (bastelfreak)
- puppet/archive: Allow 7.x #952 (bastelfreak)
Fixed bugs:
- metadata.json: re-add Puppet 8 support #985 (bastelfreak)
- CentOS7: default to EPEL7 as source #983 (bastelfreak)
Merged pull requests:
v13.3.0 (2024-05-19)
Implemented enhancements:
- Use epp template to handle sensitive data #966
- systemd: migrate from service_limits->manage_dropin #982 (bastelfreak)
- Remove leftovers from Linux systems without systemd #981 (bastelfreak)
- update puppet-systemd upper bound to 8.0.0 #977 (TheMeier)
- Harden codebase and add documentation stubs #974 (zilchms)
Fixed bugs:
Merged pull requests:
- Migrate erb to epp templates #978 (nosrio)
- Use a more expressive method of rewriting values #975 (ekohl)
v13.2.0 (2023-12-11)
Implemented enhancements:
- Add support for Vhost metadata #964 (jimmybigcommerce)
Fixed bugs:
- resources fail to prefetch when rabbitmq is not intended to be installed (via --noop or --tags) #961
v13.1.2 (2023-11-06)
Fixed bugs:
- Bugfix: Fix parsing issue for queue policies targeted at quorum queues #958 (jimmybigcommerce)
v13.1.1 (2023-11-01)
Fixed bugs:
- Treat
initial-cluster-size
option in policy as an integer #950 (jimmybigcommerce)
v13.1.0 (2023-10-30)
Implemented enhancements:
- Add additional applyto options for policies #948 (wyardley)
- Add Puppet 8 support #938 (bastelfreak)
Fixed bugs:
v13.0.0 (2023-05-13)
Breaking changes:
- BREAKING: Drop official Archlinux support #933 (wyardley)
- Remove support for Debian 9 and Ubuntu 16.04; Add Debian 10 support #928 (wyardley)
- Drop Puppet 6 support #927 (bastelfreak)
Implemented enhancements:
- Support FreeBSD 12 and 13 #932 (wyardley)
- Remove deprecated
Stdlib::Compat
#931 (wyardley) - cluster: add local_node settings #923 (fatpat)
Fixed bugs:
- Idempotency issue with implicitly enabled plugins #930
- Fix detection of management_ip_address for rabbitmqadmin #924 (kajinamit)
Closed issues:
Merged pull requests:
v12.1.0 (2023-02-11)
Implemented enhancements:
- bump puppet/systemd to \< 5.0.0 #919 (jhoblitt)
- Enable usage of custom list of plugins when using static config file #917 (enothen)
Closed issues:
- rabbitmq clustering status needs manual intervention if cluster partners aren't reachable at time of creation #130
Merged pull requests:
v12.0.2 (2022-08-13)
Fixed bugs:
- rabbitmq_plugin not working properly with RabbitMQ 3.10.x #909
Merged pull requests:
- Make rabbitmq_plugin resource functional on RabbitMQ 3.10.x #912 (kvisle)
- Update tests for rabbitmqctl version parsing #911 (wyardley)
v12.0.1 (2022-06-17)
Fixed bugs:
v12.0.0 (2022-03-28)
Breaking changes:
- breaking: remove support for debian 8 #888 (TheMeier)
- Drop Puppet 5 support; require 6.1.0 / Drop RedHat 6 support #878 (bastelfreak)
Fixed bugs:
- change default python version for FreeBSD: 3.8 #904 (olevole)
- RedHat: Fix outdated gpgkey for packagecloud repo #901 (kajinamit)
- Fix Bug #804 'rabbitmqadmin will not be upgraded' #897 (s-johansson)
Closed issues:
- Reference for log_levels does not apply #894
- Adding rabbitmq-delayed-message-exchange plugin #890
- rabbitmqadmin will not be upgraded #804
- fix or eliminate remaining "multiple expectations" warnings #603
Merged pull requests:
- Adjust docu for RabbitMQ log level #894 #896 (s-johansson)
- puppet-lint: fix top_scope_facts warnings #893 (bastelfreak)
- Allow archive 6.0.0 #892 (smortex)
- Allow stdlib 8.0.0 #891 (smortex)
- switch from camptocamp/systemd to voxpupuli/systemd #889 (bastelfreak)
v11.1.0 (2021-05-06)
Implemented enhancements:
- Compatibility with camptocamp/systemd 3.x #886 (TheMeier)
- camptocamp/systemd: Allow 3.x #884 (bastelfreak)
- Add auto cluster configuration support #883 (fatpat)
- puppet/archive: Allow 5.x #882 (bastelfreak)
- Enable Puppet 7 support (where applicable) #881 (bastelfreak)
- puppetlabs/stdlib: allow 7.x #880 (bastelfreak)
- Add support for oom_score_adj #877 (jlutran)
Fixed bugs:
- CLI Environment Fixes #876 (bishopbm1)
- make sure the rabbitmq_version method actually returns the version. #874 (TomRitserveldt)
Closed issues:
- Auto Clustering of nodes should be enabled #792
Merged pull requests:
v11.0.0 (2021-01-17)
Breaking changes:
Implemented enhancements:
v10.3.0 (2020-12-01)
Implemented enhancements:
Fixed bugs:
v10.2.0 (2020-10-13)
Debian 8 is EOL since some months now. Release 10.2.0 will be the last one with Debian 8 support. Aftwards we will do a 11.0.0 release.
Implemented enhancements:
v10.1.2 (2020-10-02)
Fixed bugs:
- Not idempotent again on RHEL based platforms since move to systemd module #836
- remove invalid cluster_node_type 'disk' #859 (danoe)
Merged pull requests:
- Ignore SELinux defaults for systemd on RHEL based #856 (tobias-urdin)
v10.1.1 (2020-07-15)
Fixed bugs:
- Password comparison error in Rabbitmq_user when password contains double quotes #850
Merged pull requests:
- Escape double quotes in password during comparison #851 (jplindquist)
- Remove facter rabbitmq_nodename error message #849 (mbaldessari)
v10.1.0 (2020-07-10)
Implemented enhancements:
Fixed bugs:
- Cannot set delivery-limit policy #846
- rabbitmq_user resource displays password when needed changed in noop #839
- erlang_cookie echo'ed to agent output #837
- breaks /etc/rabbitmq ownership under ubuntu #813
- Owner of /etc/rabbitmq #703
Merged pull requests:
- Allow delivery-limit policy to be set #847 (philomory)
- Hide user password #840 (tobias-urdin)
- Hide erlang cookie content #838 (tobias-urdin)
- [fix] ownership and permissions on conf files #835 (wyardley)
v10.0.1 (2020-04-25)
Fixed bugs:
- Problem removing (ensure => 'absent') federation upstream #832
- Fix env_config_path on FreeBSD #828 (olivermussell)
Merged pull requests:
- Fix issue #832 - removing federation upstream #833 (fiksn)
- Use voxpupuli-acceptance #831 (ekohl)
- delete legacy travis directory #823 (bastelfreak)
v10.0.0 (2019-12-02)
Breaking changes:
- drop Ubuntu 14.04 support #818 (bastelfreak)
- Update the ssl_ciphers parameter to support the OpenSSL style #785 (jamgregory)
Implemented enhancements:
- Extend version regex for RabbitMQ 3.8 #814 (codeinthehole)
Merged pull requests:
v9.1.0 (2019-08-17)
Implemented enhancements:
- add vars to manage management ssl certs separately. #564
- Refactor rabbitmq_parameter provider #806 (jlutran)
- Add a custom fact for rabbitmq's plugins folder. #778 (TomRitserveldt)
- Add support for enabled plugins config using enabled_plugins file #777 (hjensas)
- Allow Array values in rabbitmq_parameter #774 (vStone)
- Add optional variables for SSL management-console #648 (slm0n87)
Fixed bugs:
- Fact rabbitmq_plugins_dirs can crash the puppet run #783
- Package manager update is not triggered before installing package #780
- Packagecloud Apt Pin is hardcoded #779
Closed issues:
- rabbitmqadmin install broke with ipv6 #799
- admin_enable - controles both rabbitmq_management plugin and install of rabbitmqadmin #775
- unexpected token at 'arguments' #772
Merged pull requests:
- docs: Updates autocluster plugin link #809 (wyardley)
- Update link to rabbitmq-autocluster #808 (ghost)
- Allow
puppetlabs/stdlib
6.x andpuppet/archive
4.x #803 (alexjfisher) - Remove unused curl_prefix variable #800 (mbaldessari)
- Use data-in-modules instead of params.pp #797 (dhoppe)
- Remove ordering of classes #795 (dhoppe)
- Fetch domain from URL and use it as origin #794 (dhoppe)
- make config path distribution-dependent #793 (olevole)
- Slightly improved documentation of the ensure_repos parameter. #789 (tobixen)
- Don't crash on rabbitmq_plugins_dirs fact if rabbitmqctl is not present #784 (jistr)
v9.0.0 (2019-01-29)
Breaking changes:
- modulesync 2.5.1 and drop Puppet4 #761 (bastelfreak)
Implemented enhancements:
v8.5.0 (2019-01-25)
Implemented enhancements:
Fixed bugs:
- rabbitmqctl -q status fails #763
- Wrong rabbitmq-plugins command is used installing plugins #748
- Error 765 after latest update #741
- rabbitmqctl 'broken' in 3.7.9 #740
- Override the PATH for providers to include /usr/lib/rabbitmq/bin #766 (JayH5)
- RabbitMQ 3.7.9+ list compatibility and provider cleanup #759 (JayH5)
Closed issues:
- Officially support Ubuntu 18.04 #757
Merged pull requests:
- Make Ubuntu 18.04 persistent for modulesync #767 (baurmatt)
- Remove trailing whitespace in HISTORY #762 (wyardley)
v8.4.1 (2018-12-08)
Fixed bugs:
Closed issues:
- Package cloud APT GPG key changed? #742
Merged pull requests:
- Remove duplicated / outdated docs in README #747 (wyardley)
- Updates to rabbitmq::server docs #745 (wyardley)
- Update REFERENCE.md, remove docs dir from master #744 (wyardley)
- Replace is_ipv6_address with Puppet 4 native comparision #738 (baurmatt)
- modulesync 2.2.0 and allow puppet 6.x #735 (bastelfreak)
v8.4.0 (2018-10-04)
Implemented enhancements:
- Make restarting services optional #727
- Add service_restart option to prevent automatic service reload #728 (spuder)
Fixed bugs:
Closed issues:
Merged pull requests:
v8.3.0 (2018-09-05)
Implemented enhancements:
Fixed bugs:
- no parameter named 'download_option' #706
- Some boolean properties were being ignored when
false
. #712 (orium)
Closed issues:
- rabbitmq_version fact fails on Ubuntu 18.04 #704
- Allow the remote connections with the guest user #698
Merged pull requests:
- Set lower limit for puppet-archive to 2.0.0 #721 (wyardley)
- Enable acceptance tests; Add debian 9 support #720 (bastelfreak)
- allow puppetlabs/stdlib 5.x, puppet/archive 3.x and puppetlabs/apt 6.x #716 (bastelfreak)
- Rebase of #683 / mock systemd fact properly #715 (bastelfreak)
- Fixing puppet apt module requirement to \< 6.0.0 #714 (meltingrobot)
- Updated comment symbol on inetrc.erb #709 (covidium)
- Ensure version fact does not throw an error for invalid match #705 (ctrox)
- Rely on beaker-hostgenerator for docker nodesets #702 (ekohl)
v8.2.2 (2018-04-11)
Fixed bugs:
- rabbitmq_user_permissions timing out #689
- Set default LC_ALL => en_US.UTF-8 (#671, #689) #694 (wyardley)
Closed issues:
- not working with rabbitmq-server 3.7 - Cannot parse invalid user line #671
v8.2.1 (2018-04-03)
Fixed bugs:
Merged pull requests:
- bump puppet to latest supported version 4.10.0 #692 (bastelfreak)
v8.2.0 (2018-03-24)
Implemented enhancements:
- Add archive_options parameter for Archive download of rabbitmqadmin #681 (paebersold)
Fixed bugs:
- puppet package install error when running on SLES 12 #684
- Allow dash as valid character for regex #687 (crazymind1337)
- Install package via title, not name (#684) #686 (wyardley)
Closed issues:
- Failure to install rabbitmq admin via curl when proxy set #663
Merged pull requests:
- Fixes for Archlinux and modulesync 1.8 #685 (bastelfreak)
v8.1.0 (2018-01-11)
Implemented enhancements:
- Add options for ssl verify and 'fail_if_no_peer_cert' for the managem… #657 (paebersold)
- add ability to have array as package name #656 (tampakrap)
Fixed bugs:
- Support policy format change in v3.7.0 - #671 (Replaces #674) #676 (fatmcgav)
- Remove
archive require
in rabbitmqadmin class #669 (lzecca78)
Closed issues:
- Rabbitmq crashing with config_ranch = true #668
- puppet/rabbitmq 8.0.0 - /etc/apt/sources.list.d/rabbitmq.list not updated/created #662
- rabbitmqadmin install has no way of continuing to use staging in environments using an incompatible archive module #659
- RabbitMQ Admin Package should work with Puppet-Archive module, or explicitly depend on camptocamp's archive module #658
Merged pull requests:
- Do not use defaultfor to choose the only existing provider #672 (mbaldessari)
- regenerate puppet-strings docs #667 (bastelfreak)
- Remove EOL operatingsystems #666 (ekohl)
- Update README to specify voxpupuli/archive dependency vs. staging #660 (wyardley)
v8.0.0 (2017-10-18)
Breaking changes:
- BREAKING: Remove deprecated manage_repos parameter and disallow strings for integer parameters #649 (wyardley)
Implemented enhancements:
- allow installation of rabbitmqadmin via package #654 (bastelfreak)
Fixed bugs:
- Error on using puppet resource rabbitmq_binding #650
- use correct datatype for $package_gpg_key #653 (bastelfreak)
- Fix 'puppet resource rabbitmq_binding' and add tests (#650) #651 (wyardley)
Closed issues:
- admin_enable throws Server Error: no parameter named 'allow_insecure' #646
- Add variable to rabbitmq.config #644
Merged pull requests:
- use correct datatype for port param in README.md #652 (bastelfreak)
- Make ldap_user_dn_pattern optional #645 (sfhardman)
- Add tags to metadata #643 (wyardley)
v7.1.0 (2017-10-03)
Implemented enhancements:
- Rework apt to use packagecloud repos as well (#640) #641 (wyardley)
- Refactor rabbitmq_user provider (mpolenchuk) #598 (wyardley)
Closed issues:
- Please switch to Package Cloud apt repository; rabbitmq.com's one becomes read-only in a few months #640
Merged pull requests:
- Switch back to "include foo" (without leading colons) syntax #639 (wyardley)
- Lower required Puppet version from 4.8.0 to 4.7.1 #637 (wyardley)
v7.0.0 (2017-09-14)
Breaking changes:
- BREAKING: Ensure python package (adds manage_python option) #623 (wyardley)
- BREAKING: Adds config_ranch parameter (default: true) to suppress config lines (#618) #621 (wyardley)
Implemented enhancements:
- Add additional SSL configuration options (original PR from xepa) #632 (wyardley)
- Add support for max-length-bytes as an integer (#557), patch by zhianliu #628 (wyardley)
- Add official support for Ubuntu 16.04 #624 (wyardley)
- Move examples and params to puppet strings style docs #562 (wyardley)
Fixed bugs:
- Resolve issue with "puppet resource rabbitmq_user" failing (#147) #629 (wyardley)
- Switch back to using rabbitmq-plugins from system path (#566) #570 (wyardley)
Merged pull requests:
- Switch string to symbol for erl_ssl_path fact definition #631 (wyardley)
- Fix test cases for #623 (manage_python) #626 (wyardley)
- Add back a few examples removed in #562 #625 (wyardley)
- Update 'require' statements and mock types to fix spec tests #620 (wyardley)
- Update fixtures to voxpupuli/archive (from puppet-community) #619 (wyardley)
v5.6.1 (2017-09-14)
Fixed bugs:
- Extra newline in SSL section of rabbitmq.config #634
- Idempotency problems with rabbitmq 3.6.5 and puppet 4.8.2 #618
- Enabling new plugin fails #566
- Rabbitmq_user_permissions parser fails for empty string #172
- Error on using puppet resource rabbitmq_user #147
Closed issues:
- Add support for max-length-bytes as a integer #557
- 'provider rabbitmqplugins not functional on this host' #150
- Doesn't require curl, fails when it isn't installed #145
- EPEL RPM does not install /usr/sbin/rabbitmq-plugins #134
- Parameter config_mirrored_queues has no effect #125
v6.0.0 (2017-09-07)
Breaking changes:
- BREAKING: Drop Ruby 1.8 support. Rubocop auto-fixes in preparation for modulesync #575 (wyardley)
- BREAKING: Switch from 'UNSET' to undef, rename management_ip to management_ip_address #559 (wyardley)
- BREAKING: Drop Puppet 3 support. Replace validate_* with datatypes #536 (bastelfreak)
- Updated app.pp to address deprecation warnings #497 (ilium007)
- BREAKING: manage_repos is now repos_ensure (default false), version is now unused, switch to RabbitMQ's "packagecloud" repos #493 (wyardley)
Implemented enhancements:
- Convert to use 'archive' instead of 'staging' for rabbitmqadmin install #604 (wyardley)
- Update dependencies, name, and required Puppet version #589 (wyardley)
- Add official archlinux support #583 (bastelfreak)
- Enable configuring SSL for Erlang distribution #574 (JAORMX)
- Add FreeBSD support #567 (wyardley)
- Add options for IPv6 and inetrc #552 (jeckersb)
- Extra ssl options to harden rabbitmq listener #547 (xepa)
- [MODULES-4555] allow list values to ha-params when ha-mode=nodes #537 (eserte)
- Add ssl_depth and password params for configuration #530 (bostrowski13)
- Allow Configuring Management IP Binding #506 (naftulikay)
- Support multiple routing keys for bindings using separate parameters #504 (wyardley)
Fixed bugs:
- Look into "error while resolving custom fact" error #614
- repos_ensure and version on RHEL 7 #573
- Avoid error when rabbitmqctl is not present), update spec syntax (#614) #615 (wyardley)
- fix a couple of problems with erl_ssl_path fact #609 (costela)
- Switch $releasevar to ${::os[release][major]} #577 (wyardley)
- Fix regex double escaping of rabbitmqctl list_policies #561 (wyardley)
- Update file / directory permissions #560 (wyardley)
- Update regexp for rabbitmq_nodename fact #545 (SergK)
- [Bugfix] convert $ssl_depth from string to integer #539 (bastelfreak)
- Extend rabbitmqadmin config template with SSL options. #526 (justahero)
- [MODULES-4223] don't set NODE_PORT and NODE_IP_ADDRESS if ssl_only #524 (JAORMX)
- [MODULES-3733] rabbitmq provider env_path does not locate ruby gem installed puppet binary #517 (totalcharge)
Closed issues:
- use of new 6.0.0 module on new installation fails #611
- Problem with erl_ssl_path fact on RHEL 7.x, erlang 18.3 #610
- Update to support puppet/staging 2 #587
- Update to support puppetlabs/apt 3 or 4 #586
- puppet resource rabbitmq_exchange does not work #174
- exchanges will be recreated in every puppet run if the vhost is not / #173
- Illegal cluster node name #163
- version parameter does not work #154
- Error message when creating an exchange with rabbitmq_exchange #137
- rabbitmqadmin fails with puppet 2.7.21 with master (code from master branch) #121
- Add support for exchanges #51
- invalid parameter provider #49
Merged pull requests:
- Replace 'anchor's with 'contain' in server.pp #616 (alexjfisher)
- Switch to 'contain' vs. anchor pattern, and use Class['foo'] vs Class['::foo'] #613 (wyardley)
- Fix typo (.git => .github) in README link #608 (wyardley)
- Update README, and remove old CONTRIBUTING.md #607 (wyardley)
- Ignore remaining multiple expectations warnings #602 (wyardley)
- Eliminate more "multiple expectations" warnings and remove some redundant specs #601 (wyardley)
- Migrate changelog #599 (alexjfisher)
- Move old CHANGELOG.md to HISTORY.md #597 (wyardley)
- update more lint warnings for relative classname inclusion in examples #595 (wyardley)
- Remove redundant specs, rework others to avoid multiple expectation warnings #594 (wyardley)
- move these tests to a context block, and use 'let(:foo)' syntax #593 (wyardley)
- Fix stdlib requirement #592 (alexjfisher)
- More Rubocop fixes and README.md badges #590 (alexjfisher)
- Typo in .fixtures.yml breaking unit tests #588 (TraGicCode)
- Rewrite the spec testing case #585 (ekohl)
- Fix namevar parameter documentation in types #584 (alexjfisher)
- Rubocop fixes: Update hash syntax and some formatting #582 (wyardley)
- Switch to rspec-puppet-facts #581 (ekohl)
- update various small warnings #580 (wyardley)
- switch to structured facts for os* and rabbitmq_version #579 (wyardley)
- move facter unit tests to the proper place #578 (wyardley)
- Switch to 'let(:foo)' syntax (resolves rubocop warnings) #576 (wyardley)
- removed package_provider var from readme and added deprecation check … #571 (bostrowski13)
- don't "touch" hiera.yaml in spec_helper_acceptance #558 (wyardley)
- (MODULES-5187) mysnc puppet 5 and ruby 2.4 #554 (eputnam)
- (MODULES-5144) Prep for puppet 5 #553 (hunner)
- Fix unit tests on #535 #550 (hunner)
- Fix error text in
rabbitmq_vhost
provider #549 (hybby) - Improve distro fact handling in tests #548 (jeckersb)
- Simplify "all_vhosts" in rabbitmq_queue provider #544 (KarolisL)
- Upstream staging module released 2.2.0. Allow using it. #543 (vStone)
- Scope config_variables for Puppet 4 #541 (jarro2783)
- [msync] 786266 Implement puppet-module-gems, a45803 Remove metadata.json from locales config #540 (wilson208)
- [MODULES-4528] Replace Puppet.version.to_f version comparison from spec_helper.rb #538 (wilson208)
- Systemd open files limit #535 (tomashejatko)
- [MODULES-4450] don't set ssl depth if undef #534 (JAORMX)
- moved username:password to separate parameter #532 (vdmkenny)
- (maint) parallel_spec maintenance: spec_helper #531 (eputnam)
- (MODULES-4098) Sync the rest of the files #528 (hunner)
- (MODULES-4097) Sync travis.yml #527 (hunner)
- (FM-5972) gettext and spec.opts #525 (eputnam)
- (FM-5939) removes spec.opts #523 (eputnam)
- (MODULES-3631) msync Gemfile for 1.9 frozen strings #522 (hunner)
- Designate former tests files as examples #521 (DavidS)
- Fixed lint on README.md snippets #520 (mvisonneau)
- (MODULES-3704) Update gemfile template to be identical #519 (hunner)
- Fix sync #518 (hunner)
- Allows deprecation errors #516 (pmcmaw)
- Bug fix for when queue names include spaces #512 (Bubbad)
- Do not check cert when acquiring rabbitmqadmin with wget. #478 (modax)
- Cleanup void tcp options #464 (mpolenchuk)
5.6.0 (2016-10-25)
Implemented enhancements:
- Allow ha-sync-batch-size for rabbitmq_policy definition to be integer #500 (mxftw)
- Ability to set management_hostname in rabbitmqadmin.conf #498 (tampakrap)
Merged pull requests:
- (MODULES-3983) Update parallel_tests for ruby 2.0.0 moduleSync #514 (pmcmaw)
- [FM-5719] Release prep for unsupported release 5.6.0 #513 (wilson208)
- set $real_package_source to undef instead of empty #507 (bastelfreak)
- Update modulesync_config [a3fe424] #501 (DavidS)
- use unless instead of if, and empty? instead of !='' #491 (wyardley)
5.5.0 (2016-08-29)
Summary
Adds some exciting new features (listed below) for a long awaited release!
Features
- Updates GPG signing key
- Now add additional config variables with the
config_additional_variable
parameter! - Configure your management plugin with the new
collect_statistics_interval
parameter! - Enjoy more robust tuning of your TCP configuration with:
tcp_backlog
tcp_sndbuf
tcp_recbuf
Bugfixes
- MODULES-3740 - RabbitMQ template missing important config parameter
5.4.0 (2016-05-11)
Summary
Adds several new parameters, features, and lots of bugfixes
Features
- Adds configuration for rabbitmq_shovel plugin including static shovels
- (MODULE-2040) Add configuration of
auth_backends
- Adds the
config_management_variables
parameter - Adds
heartbeat
parameter - Adds
rabbitmq_version
fact - Adds ipv6 support to
rabbitmqadmin
- MODULES-3148: Allow shards-per-node for rabbitmq_policy definition to be integer
- Adds
rabbitmq_nodename
fact - Allow passing architecture to
apt::source
Bugfixes
- MODULES-2252 - fix "Command execution expired" issue
- Fixes an issue with Puppet 4+ when run from a cron job
- Updates RedHat to use yum instead of rpm
- Fixes the
$file_limit
parameter to allow integers - MODULES-2252 - fix "Could not prefetch rabbitmq_exchange provider 'rabbitmqadmin': 757: unexpected token at 'fanout'" issue
- Improves error message when policy definition value is not a string
- MODULES-2645 add apt::update requirement for Debian
- Fixes pinning for apt on Debian based distros
- Updates install.pp to ensure that mnesia_base directory exists
- Fixes rabbitmqadmin url
- Updates default
$package_gpg_key
to https - Fixes
curl --noproxy
command to set host dynamically - Ignore system umask when generating enabled_plugins file
- Fix to skip federated queues in the output
- Updates module dependencies to use
puppet-staging
instead ofnanliu-staging
- Fixes bug where
rabbitmq_management
block is created twice - Fixes
rabbitmq_parameter
type check foradd-forward-headers
to require boolean. - Fixes an issue when
$node_ip_address
is 'UNSET' - Fixes package installation on OpenBSD
- Fixes bug that shows new user password changes on noop runs
- (MODULES-3295) Allow ssl => false without warning
5.3.1 (2015-10-07)
Summary
Adds a new resource type and a few ssl management parameters
Features
- Add rabbitmq_parameter type
- Add management_ssl parameter to rabbitmq class
- Add stomp_ssl_only parameter to rabbitmq class
Bugfixes
- file_limit validation and el7 management
- Fix mnesia dir not getting wiped
- Fix message-ttl and max-length integer conversion in rabbitmq_policy
- Allow managing erlang cookie without config_cluster
5.3.0 (2015-05-26) [YANKED]
Summary
This is a deleted release. It did not follow semver.
5.2.3 (2015-06-23)
Summary
This is a patch release that updates the dependency requirements in the metadata.
5.2.2 (2015-06-09)
Summary
This is a bugfix to allow the rabbitmq_exchange type's internal/durable/auto_delete attributes work when they are not explicitly passed.
Bugfixes
- Fix rabbitmq_exchange create when internal/durable/auto_delete are not specified
- Start unit testing on puppet 4
- Add default value to tcp_listen_options
5.2.1 (2015-05-26)
Summary
This release includes a fix for idempotency between puppet runs, as well as Readme updates
Features
- Readme updates
- Testing updates
Bugfixes
- Ensure idempotency between Puppet runs
5.2.0 (2015-04-28)
Summary
This release adds several new features for expanded configuration, support for SSL Ciphers, several bugfixes, and improved tests.
Features
- New parameters to class
rabbitmq
ssl_ciphers
- New parameters to class
rabbitmq::config
interface
ssl_interface
- New parameters to type
rabbitmq_exchange
internal
auto_delete
durable
- Adds syncing with Modulesync
- Adds support for SSL Ciphers
- Adds
file_limit
support for RedHat platforms
Bugfixes
- Will not create
rabbitmqadmin.conf
if admin is disabled - Fixes
check_password
- Fix to allow bindings and queues to be created when non-default management port is being used by rabbitmq. (MODULES-1856)
rabbitmq_policy
converts known parameters to integers- Updates apt key for full fingerprint compliance.
- Adds a missing
routing_key
param to rabbitmqadmin absent binding call.
5.1.0 (2015-03-10)
Summary
This release adds several features for greater flexibility in configuration of rabbitmq, includes a number of bug fixes, and bumps the minimum required version of puppetlabs-stdlib to 3.0.0.
Changes to defaults
- The default environment variables in
rabbitmq::config
have been renamed fromRABBITMQ_NODE_PORT
andRABBITMQ_NODE_IP_ADDRESS
toNODE_PORT
andNODE_IP_ADDRESS
(MODULES-1673)
Features
- New parameters to class
rabbitmq
file_limit
interface
ldap_other_bind
ldap_config_variables
ssl_interface
ssl_versions
rabbitmq_group
rabbitmq_home
rabbitmq_user
- Add
rabbitmq_queue
andrabbitmq_binding
types - Update the providers to be able to retry commands
Bugfixes
- Cleans up the formatting for rabbitmq.conf for readability
- Update tag splitting in the
rabbitmqctl
provider forrabbitmq_user
to work with comma or space separated tags - Do not enforce the source value for the yum provider (MODULES-1631)
- Fix conditional around
$pin
- Remove broken SSL option in rabbitmqadmin.conf (MODULES-1691)
- Fix issues in
rabbitmq_user
with admin and no tags - Fix issues in
rabbitmq_user
with tags not being sorted - Fix broken check for existing exchanges in
rabbitmq_exchange
5.0.0 (2014-12-22)
Summary
This release fixes a longstanding security issue where the rabbitmq erlang cookie was exposed as a fact by managing the cookie with a provider. It also drops support for Puppet 2.7, adds many features and fixes several bugs.
Backwards-incompatible Changes
- Removed the rabbitmq_erlang_cookie fact and replaced the logic to manage that cookie with a provider.
- Dropped official support for Puppet 2.7 (EOL 9/30/2014 https://groups.google.com/forum/#!topic/puppet-users/QLguMcLraLE )
- Changed the default value of $rabbitmq::params::ldap_user_dn_pattern to not contain a variable
- Removed deprecated parameters: $rabbitmq::cluster_disk_nodes, $rabbitmq::server::manage_service, and $rabbitmq::server::config_mirrored_queues
Features
- Add tcp_keepalive parameter to enable TCP keepalive
- Use https to download rabbitmqadmin tool when $rabbitmq::ssl is true
- Add key_content parameter for offline Debian package installations
- Use 16 character apt key to avoid potential collisions
- Add rabbitmq_policy type, including support for rabbitmq <3.2.0
- Add rabbitmq::ensure_repo parameter
- Add ability to change rabbitmq_user password
- Allow disk as a valid cluster node type
Bugfixes
- Avoid attempting to install rabbitmqadmin via a proxy (since it is downloaded from localhost)
- Optimize check for RHEL GPG key
- Configure ssl_listener in stomp only if using ssl
- Use rpm as default package provider for RedHat, bringing the module in line with the documented instructions to manage erlang separately and allowing the default version and source parameters to become meaningful
- Configure cacertfile only if verify_none is not set
- Use -q flag for rabbitmqctl commands to avoid parsing inconsistent debug output
- Use the -m flag for rabbitmqplugins commands, again to avoid parsing inconsistent debug output
- Strip backslashes from the rabbitmqctl output to avoid parsing issues
- Fix limitation where version parameter was ignored
- Add /etc/rabbitmq/rabbitmqadmin.conf to fix rabbitmqadmin port usage when ssl is on
- Fix linter errors and warnings
- Add, update, and fix tests
- Update docs
4.1.0 (2014-08-20)
Summary
This release adds several new features, fixes bugs, and improves tests and documentation.
Features
- Autorequire the rabbitmq-server service in the rabbitmq_vhost type
- Add credentials to rabbitmqadmin URL
- Added $ssl_only parameter to rabbitmq, rabbitmq::params, and rabbitmq::config
- Added property tags to rabbitmq_user provider
Bugfixes
- Fix erroneous commas in rabbitmq::config
- Use correct ensure value for the rabbitmq_stomp rabbitmq_plugin
- Set HOME env variable to nil when leveraging rabbitmq to remove type error from Python script
- Fix location for rabbitmq-plugins for RHEL
- Remove validation for package_source to allow it to be set to false
- Allow LDAP auth configuration without configuring stomp
- Added missing $ssl_verify and $ssl_fail_if_no_peer_cert to rabbitmq::config
4.0.0 (2014-05-16)
Summary
This release includes many new features and bug fixes. With the exception of erlang management this should be backwards compatible with 3.1.0.
Backwards-incompatible Changes
- erlang_manage was removed. You will need to manage erlang separately. See the README for more information on how to configure this.
Features
- Improved SSL support
- Add LDAP support
- Add ability to manage RabbitMQ repositories
- Add ability to manage Erlang kernel configuration options
- Improved handling of user tags
- Use nanliu-staging module instead of hardcoded 'curl'
- Switch to yum or zypper provider instead of rpm
- Add ability to manage STOMP plugin installation.
- Allow empty permission fields
- Convert existing system tests to beaker acceptance tests.
Bugfixes
- exchanges no longer recreated on each puppet run if non-default vhost is used
- Allow port to be UNSET
- Re-added rabbitmq::server class
- Deprecated previously unused manage_service variable in favor of service_manage
- Use correct key for rabbitmq apt::source
- config_mirrored_queues variable removed
- It previously did nothing, will now at least throw a warning if you try to use it
- Remove unnecessary dependency on Class['rabbitmq::repo::rhel'] in rabbitmq::install
3.1.0 (2013-09-14)
Summary
This release focuses on a few small (but critical) bugfixes as well as extends the amount of custom RabbitMQ configuration you can do with the module.
Features
- You can now change RabbitMQ 'Config Variables' via the parameter
config_variables
. - You can now change RabbitMQ 'Environment Variables' via the parameter
environment_variables
. - ArchLinux support added.
Fixes
- Make use of the user/password parameters in rabbitmq_exchange{}
- Correct the read/write parameter order on set_permissions/list_permissions as they were reversed.
- Make the module pull down 3.1.5 by default.
3.0.0 (2013-07-18)
Summary
This release heavily refactors the RabbitMQ and changes functionality in several key ways. Please pay attention to the new README.md file for details of how to interact with the class now. Puppet 3 and RHEL are now fully supported. The default version of RabbitMQ has changed to a 3.x release.
Bugfixes
- Improve travis testing options.
- Stop reimporting the GPG key on every run on RHEL and Debian.
- Fix documentation to make it clear you don't have to set provider => each time.
- Reference the standard rabbitmq port in the documentation instead of a custom port.
- Fixes to the README formatting.
Features
- Refactor the module to fix RHEL support. All interaction with the module is now done through the main rabbitmq class.
- Add support for mirrored queues (Only on Debian family distributions currently)
- Add rabbitmq_exchange provider (using rabbitmqadmin)
- Add new
rabbitmq
class parameters:manage_service
: Boolean to choose if Puppet should manage the service. (For pacemaker/HA setups)
- Add SuSE support.
Incompatible Changes
- Rabbitmq::server has been removed and is now rabbitmq::config. You should not use this class directly, only via the main rabbitmq class.
2.1.0 (2013-04-11)
- remove puppetversion from rabbitmq.config template
- add cluster support
- escape resource names in regexp
2.0.2 (2012-07-31)
- Re-release 2.0.1 with $EDITOR droppings cleaned up
2.0.0 (2012-05-03)
- added support for new-style admin users
- added support for rabbitmq 2.7.1
2.0.0rc1 (2011-06-14)
- Massive refactor:
- added native types for user/vhost/user_permissions
- added apt support for vendor packages
- added smoke tests
1.0.4 (2011-04-08)
- Update module for RabbitMQ 2.4.1 and rabbitmq-plugin-stomp package.
1.0.3 (2011-03-24)
- Initial release to the forge. Reviewed by Cody. Whitespace is good.
1.0.2 (2011-03-22)
- Whitespace only fix again... ack '\t' is my friend...
1.0.1 (2011-03-22)
- Whitespace only fix.
1.0.0 (2011-03-22)
- Initial Release. Manage the package, file and service.
* This Changelog was automatically generated by github_changelog_generator
Dependencies
- puppetlabs/stdlib (>= 4.25.0 < 10.0.0)
- puppet/archive (>= 2.0.0 < 8.0.0)
- puppet/systemd (>= 6.0.0 < 9.0.0)
Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.