Skip to content
Ruby Puppet
Find file
Pull request Compare This branch is 619 commits behind puppetlabs:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
files
lib/puppet
manifests
spec
templates
tests
.fixtures.yml
.gemfile
.gitignore
.travis.yml
CHANGELOG
LICENSE
Modulefile
README.md
Rakefile
TODO

README.md

RabbitMQ Puppet Module

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.

Authors

Classes

This module provides its core functionality through two main classes:

rabbitmq::repo::rhel

Installs the RPM from rabbitmq upstream, and imports their signing key

class { 'rabbitmq::repo::rhel':
    $version    => "2.8.4",
    $relversion => "1",
}

rabbitmq::repo::apt

Sets up an apt repo source for the vendor rabbitmq packages

class { 'rabbitmq::repo::apt':
  pin    => 900,
  before => Class['rabbitmq::server']
}

rabbitmq::server

Class for installing rabbitmq-server:

class { 'rabbitmq::server':
  port              => '5673',
  delete_guest_user => true,
}

Clustering

To use RabbitMQ clustering and H/A facilities, use the rabbitmq::server parameters config_cluster and cluster_disk_nodes, e.g.:

class { 'rabbitmq::server':
  config_cluster => true,
  cluster_disk_nodes => ['rabbit1', 'rabbit2'],
}

Currently all cluster nodes are registered as disk nodes (not 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.

Native Types

NOTE: Unfortunately, you must specify the provider explicitly for these types

rabbitmq_user

query all current users: $ puppet resource rabbitmq_user

rabbitmq_user { 'dan':
  admin    => true,
  password => 'bar',
  provider => 'rabbitmqctl',
}

rabbitmq_vhost

query all current vhosts: $ puppet resource rabbitmq_vhost

rabbitmq_vhost { 'myhost':
  ensure => present,
  provider => 'rabbitmqctl',
}

rabbitmq_user_permissions

rabbitmq_user_permissions { 'dan@myhost':
  configure_permission => '.*',
  read_permission      => '.*',
  write_permission     => '.*',
  provider => 'rabbitmqctl',
}

rabbitmq_plugin

query all currently enabled plugins $ puppet resource rabbitmq_plugin

rabbitmq_plugin {'rabbitmq_stomp':
  ensure => present,
  provider => 'rabbitmqplugins',
}
Something went wrong with that request. Please try again.