Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F8395984
README.md
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
9 KB
Subscribers
None
README.md
View Options
#
rabbitmq
[](https://github.com/voxpupuli/puppet-rabbitmq/blob/master/LICENSE)
[](https://travis-ci.org/voxpupuli/puppet-rabbitmq)
[](https://coveralls.io/github/voxpupuli/puppet-rabbitmq)
[](https://forge.puppetlabs.com/puppet/rabbitmq)
[](https://forge.puppetlabs.com/puppet/rabbitmq)
[](https://forge.puppetlabs.com/puppet/rabbitmq)
[](https://forge.puppetlabs.com/puppet/rabbitmq)
####
Table
of
Contents
1
.
[
Overview
](#
overview
)
2
.
[
Module
Description
-
What
the
module
does
and
why
it
is
useful
](#
module
-
description
)
3
.
[
Setup
-
The
basics
of
getting
started
with
rabbitmq
](#
setup
)
*
[
What
rabbitmq
affects
](#
what
-
rabbitmq
-
affects
)
*
[
Setup
requirements
](#
setup
-
requirements
)
4
.
[
Usage
-
Configuration
options
and
additional
functionality
](#
usage
)
5
.
[
Reference
-
An
under
-
the
-
hood
peek
at
what
the
module
is
doing
and
how
](#
reference
)
5
.
[
Limitations
-
OS
compatibility
,
etc
.](#
limitations
)
*
[
RedHat
module
dependencies
](#
redhat
-
module
-
dependecies
)
6
.
[
Development
-
Guide
for
contributing
to
the
module
](#
development
)
##
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
](
https
:
//github.com/puppetlabs/puppet-strings)
For
convenience
,
some
examples
are
duplicated
here
:
##
rabbitmq
class
To
begin
with
the
rabbitmq
class
controls
the
installation
of
rabbitmq
.
In
here
you
can
control
many
parameters
relating
to
the
package
and
service
,
such
as
disabling
puppet
support
of
the
service
:
```
puppet
class
{
'
rabbitmq
'
:
service_manage
=>
false
,
port
=>
'
5672
'
,
delete_guest_user
=>
true
,
}
```
For
RabbitMQ
versions
<
3.6
.
0
(
which
don
'
t
use
Ranch
),
you
will
need
to
manually
set
`
config_ranch
`
to
`
false
`
.
###
Environment
Variables
To
use
RabbitMQ
Environment
Variables
,
use
the
parameters
`
environment_variables
`
e
.
g
.:
```
puppet
class
{
'
rabbitmq
'
:
port
=>
5672
,
environment_variables
=>
{
'
NODENAME
'
=>
'
node01
'
,
'
SERVICENAME
'
=>
'
RabbitMQ
'
}
}
```
###
Variables
Configurable
in
rabbitmq
.
config
To
change
RabbitMQ
Config
Variables
in
rabbitmq
.
config
,
use
the
parameters
`
config_variables
`
e
.
g
.:
```
puppet
class
{
'
rabbitmq
'
:
port
=>
5672
,
config_variables
=>
{
'
hipe_compile
'
=>
true
,
'
frame_max
'
=>
131072
,
'
log_levels
'
=>
"[{connection, info}]"
}
}
```
To
change
Erlang
Kernel
Config
Variables
in
rabbitmq
.
config
,
use
the
parameters
`
config_kernel_variables
`
e
.
g
.:
```
puppet
class
{
'
rabbitmq
'
:
port
=>
5672
,
config_kernel_variables
=>
{
'
inet_dist_listen_min
'
=>
9100
,
'
inet_dist_listen_max
'
=>
9105
,
}
}
```
To
change
Management
Plugin
Config
Variables
in
rabbitmq
.
config
,
use
the
parameters
`
config_management_variables
`
e
.
g
.:
```
puppet
class
{
'
rabbitmq
'
:
config_management_variables
=>
{
'
rates_mode
'
=>
'
basic
'
,
}
}
```
###
Additional
Variables
Configurable
in
rabbitmq
.
config
To
change
Additional
Config
Variables
in
rabbitmq
.
config
,
use
the
parameter
`
config_additional_variables
`
e
.
g
.:
```
puppet
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
:
```
%
Additional
config
{
autocluster
,
[{
consul_service
,
"rabbit"
},{
cluster_name
,
"rabbit"
}]},
{
foo
,
[{
bar
,
"baz"
}]}
```
(
This
is
required
for
the
[
autocluster
plugin
](
https
:
//github.com/aweber/rabbitmq-autocluster)
###
Clustering
To
use
RabbitMQ
clustering
facilities
,
use
the
rabbitmq
parameters
`
config_cluster
`
,
`
cluster_nodes
`
,
and
`
cluster_node_type
`
,
e
.
g
.:
```
puppet
class
{
'
rabbitmq
'
:
config_cluster
=>
true
,
cluster_nodes
=>
[
'
rabbit1
'
,
'
rabbit2
'
],
cluster_node_type
=>
'
ram
'
,
erlang_cookie
=>
'
A_SECRET_COOKIE_STRING
'
,
wipe_db_on_cookie_change
=>
true
,
}
```
###
rabbitmq
\
_user
query
all
current
users
:
`
$
puppet
resource
rabbitmq_user
`
```
puppet
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
.
```
puppet
rabbitmq_user
{
'
dan
'
:
admin
=>
true
,
password
=>
'
bar
'
,
tags
=>
[
'
monitoring
'
,
'
tag1
'
],
}
```
###
rabbitmq
\
_vhost
query
all
current
vhosts
:
`
$
puppet
resource
rabbitmq_vhost
`
```
puppet
rabbitmq_vhost
{
'
myvhost
'
:
ensure
=>
present
,
}
```
###
rabbitmq
\
_exchange
```
puppet
rabbitmq_exchange
{
'
myexchange
@
myvhost
'
:
ensure
=>
present
,
user
=>
'
dan
'
,
password
=>
'
bar
'
,
type
=>
'
topic
'
,
internal
=>
false
,
auto_delete
=>
false
,
durable
=>
true
,
arguments
=>
{
hash
-
header
=>
'
message
-
distribution
-
hash
'
}
}
```
###
rabbitmq
\
_queue
```
puppet
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
'
},
}
```
###
rabbitmq
\
_binding
```
puppet
rabbitmq_binding
{
'
myexchange
@
myqueue
@
myvhost
'
:
ensure
=>
present
,
user
=>
'
dan
'
,
password
=>
'
bar
'
,
destination_type
=>
'
queue
'
,
routing_key
=>
'#'
,
arguments
=>
{},
}
```
```
puppet
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
=>
{},
}
```
###
rabbitmq
\
_user
\
_permissions
```
puppet
rabbitmq_user_permissions
{
'
dan
@
myvhost
'
:
configure_permission
=>
'
.*
'
,
read_permission
=>
'
.*
'
,
write_permission
=>
'
.*
'
,
}
```
###
rabbitmq
\
_policy
```
puppet
rabbitmq_policy
{
'
ha
-
all
@
myvhost
'
:
pattern
=>
'
.*
'
,
priority
=>
0
,
applyto
=>
'
all
'
,
definition
=>
{
'
ha
-
mode
'
=>
'
all
'
,
'
ha
-
sync
-
mode
'
=>
'
automatic
'
,
},
}
```
###
rabbitmq
\
_plugin
query
all
currently
enabled
plugins
`
$
puppet
resource
rabbitmq_plugin
`
```
puppet
rabbitmq_plugin
{
'
rabbitmq_stomp
'
:
ensure
=>
present
,
}
```
###
rabbitmq
\
_parameter
```
puppet
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
'
,
},
}
```
##
Reference
##
Classes
*
rabbitmq
:
Main
class
for
installation
and
service
management
.
*
rabbitmq
::
config
:
Main
class
for
rabbitmq
configuration
/
management
.
*
rabbitmq
::
install
:
Handles
package
installation
.
*
rabbitmq
::
params
:
Different
configuration
data
for
different
systems
.
*
rabbitmq
::
service
:
Handles
the
rabbitmq
service
.
*
rabbitmq
::
repo
::
apt
:
Handles
apt
repo
for
Debian
systems
.
*
rabbitmq
::
repo
::
rhel
:
Handles
rpm
repo
for
Redhat
systems
.
###
Module
dependencies
If
running
CentOS
/
RHEL
,
ensure
the
epel
repo
,
or
another
repo
containing
a
suitable
Erlang
version
,
is
present
.
On
Debian
systems
,
puppetlabs
/
apt
(>=
2.0
.
0
<
5.0
.
0
)
is
a
soft
dependency
.
To
have
a
suitable
erlang
version
installed
on
RedHat
and
Debian
systems
,
you
have
to
install
another
puppet
module
from
http
:
//forge.puppetlabs.com/garethr/erlang with:
puppet
module
install
garethr
-
erlang
This
module
handles
the
packages
for
erlang
.
To
use
the
module
,
add
the
following
snippet
to
your
site
.
pp
or
an
appropriate
profile
class
:
For
RedHat
systems
:
include
'
erlang
'
class
{
'
erlang
'
:
epel_enable
=>
true
}
For
Debian
systems
:
include
'
erlang
'
package
{
'
erlang
-
base
'
:
ensure
=>
'
latest
'
,
}
This
module
also
depends
on
voxpupuli
/
archive
to
install
rabbitmqadmin
.
##
Development
This
module
is
maintained
by
[
Vox
Pupuli
](
https
:
//voxpupuli.org/). 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
](.
github
/
CONTRIBUTING
.
md
)
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
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Jun 4 2025, 7:48 PM (12 w, 1 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3265843
Attached To
R198 puppet-puppet-rabbitmq
Event Timeline
Log In to Comment