This module manages the RabbitMQ Middleware service.
This module has been tested against 2.7.1 and is known to not support all features against earlier versions.
- Jeff McCune jeff@puppetlabs.com
- Dan Bode dan@puppetlabs.com
- RPM/RHEL packages by Vincent Janelle randomfrequency@gmail.com
This module provides its core functionality through two main classes:
Installs the RPM from rabbitmq upstream, and imports their signing key
class { 'rabbitmq::repo::rhel':
$version => "2.8.4",
$relversion => "1",
}
Sets up an apt repo source for the vendor rabbitmq packages
class { 'rabbitmq::repo::apt':
pin => 900,
before => Class['rabbitmq::server']
}
Class for installing rabbitmq-server:
class { 'rabbitmq::server':
port => '5673',
delete_guest_user => true,
}
To use RabbitMQ clustering and H/A facilities, use the rabbitmq::server
parameters config_cluster, cluster_nodes, and cluster_node_type e.g.:
class { 'rabbitmq::server':
config_cluster => true,
cluster_nodes => ['rabbit1', 'rabbit2'],
cluster_node_type => 'ram',
}
NOTE: You still need to use x-ha-policy: all in your client
applications for any particular queue to take advantage of H/A, this module
merely clusters RabbitMQ instances.
NOTE: Unfortunately, you must specify the provider explicitly for these types
query all current users: $ puppet resource rabbitmq_user
rabbitmq_user { 'dan':
password => 'bar',
provider => 'rabbitmqctl',
tags => [ 'administrator', 'dantheman' ],
}
NOTE: Setting tags to '' will clear any existing tags.
query all current vhosts: $ puppet resource rabbitmq_vhost
rabbitmq_vhost { 'myhost':
ensure => present,
provider => 'rabbitmqctl',
}
rabbitmq_user_permissions { 'dan@myhost':
configure_permission => '.*',
read_permission => '.*',
write_permission => '.*',
provider => 'rabbitmqctl',
}
query all currently enabled plugins $ puppet resource rabbitmq_plugin
rabbitmq_plugin {'rabbitmq_stomp':
ensure => present,
provider => 'rabbitmqplugins',
}