summaryrefslogtreecommitdiff
path: root/rabbitmq.conf.d
diff options
context:
space:
mode:
authorDaniil Fedotov <dfedotov@pivotal.io>2016-02-01 11:43:05 +0000
committerDaniil Fedotov <dfedotov@pivotal.io>2016-02-01 11:43:05 +0000
commit423ab9d519503ecf8c670860da4f104a90a3285e (patch)
tree5ad4c7c6cbeb34b9f45ce68df8b91e55c833d78d /rabbitmq.conf.d
parent5687c5cd0afc864512dd7245a69f7c2fc895e377 (diff)
downloadrabbitmq-server-git-423ab9d519503ecf8c670860da4f104a90a3285e.tar.gz
Docs examples in conf file
Diffstat (limited to 'rabbitmq.conf.d')
-rw-r--r--rabbitmq.conf.d/rabbitmq.conf1191
1 files changed, 551 insertions, 640 deletions
diff --git a/rabbitmq.conf.d/rabbitmq.conf b/rabbitmq.conf.d/rabbitmq.conf
index 51109ad9c8..31b0cd4910 100644
--- a/rabbitmq.conf.d/rabbitmq.conf
+++ b/rabbitmq.conf.d/rabbitmq.conf
@@ -1,187 +1,161 @@
-# [
-# {rabbit,
-# [##
- ## Network Connectivity
- ## ====================
- ##
- ## By default, RabbitMQ will listen on all interfaces, using
- ## the standard (reserved) AMQP port.
- ##
- ## {tcp_listeners, [5672]},
- ## To listen on a specific interface, provide a tuple of {IpAddress, Port}.
- ## For example, to listen only on localhost for both IPv4 and IPv6:
- ##
- ## {tcp_listeners, [{"127.0.0.1", 5672},
- ## {"::1", 5672}]},
-# Define with port
+# ======================================
+# RabbbitMQ broker section
+# ======================================
+
+## Network Connectivity
+## ====================
+##
+## By default, RabbitMQ will listen on all interfaces, using
+## the standard (reserved) AMQP port.
+##
listener.tcp.default = 5672
-# Define with IP
-# listener.tcp.local = 127.0.0.1:5672
-# Define for IPv6
+## To listen on a specific interface, provide an IP address with port.
+## For example, to listen only on localhost for both IPv4 and IPv6:
+##
+# IPv4
+# listener.tcp.local = 127.0.0.1:5672
+# IPv6
# listener.tcp.local_v6 = ::1:5672
+## You can define multiple listeners using listener names
+# listener.tcp.other_port = 5673
+# listener.tcp.other_ip = 10.10.10.10:5672
- ## SSL listeners are configured in the same fashion as TCP listeners,
- ## including the option to control the choice of interface.
- ##
- ## {ssl_listeners, [5671]},
-# SSL listeners are same
+## SSL listeners are configured in the same fashion as TCP listeners,
+## including the option to control the choice of interface.
+##
listener.ssl.default = 5671
-
- ## Number of Erlang processes that will accept connections for the TCP
- ## and SSL listeners.
- ##
- ## {num_tcp_acceptors, 10},
- ## {num_ssl_acceptors, 1},
-
+## Number of Erlang processes that will accept connections for the TCP
+## and SSL listeners.
+##
num_acceptors.tcp = 10
num_acceptors.ssl = 1
- ## Maximum time for AMQP 0-8/0-9/0-9-1 handshake (after socket connection
- ## and SSL handshake), in milliseconds.
- ##
- ## {handshake_timeout, 10000},
-
+## Maximum time for AMQP 0-8/0-9/0-9-1 handshake (after socket connection
+## and SSL handshake), in milliseconds.
+##
handshake_timeout = 10000
- ## Set to 'true' to perform reverse DNS lookups when accepting a
- ## connection. Hostnames will then be shown instead of IP addresses
- ## in rabbitmqctl and the management plugin.
- ##
- ## {reverse_dns_lookups, true},
+## Set to 'true' to perform reverse DNS lookups when accepting a
+## connection. Hostnames will then be shown instead of IP addresses
+## in rabbitmqctl and the management plugin.
+##
reverse_dns_lookups = true
- # ##
- # ## Security / AAA
- # ## ==============
- # ##
-
- # ## The default "guest" user is only permitted to access the server
- # ## via a loopback interface (e.g. localhost).
- # ## {loopback_users, [<<"guest">>]},
- # ##
- # ## Uncomment the following line if you want to allow access to the
- # ## guest user from anywhere on the network.
- # ## {loopback_users, []},
+##
+## Security / AAA
+## ==============
+##
-# Duplicate 'guest', because cutterfish doesn't support collections
+## The default "guest" user is only permitted to access the server
+## via a loopback interface (e.g. localhost).
+## {loopback_users, [<<"guest">>]},
+##
+loopback_user.guest = true
-loopback_user.guest = guest
-
- ## Configuring SSL.
- ## See http://www.rabbitmq.com/ssl.html for full documentation.
- ##
- ## {ssl_options, [{cacertfile, "/path/to/testca/cacert.pem"},
- ## {certfile, "/path/to/server/cert.pem"},
- ## {keyfile, "/path/to/server/key.pem"},
- ## {verify, verify_peer},
- ## {fail_if_no_peer_cert, false}]},
+## Uncomment the following line if you want to allow access to the
+## guest user from anywhere on the network.
+loopback_user.guest = false
+## Configuring SSL.
+## See http://www.rabbitmq.com/ssl.html for full documentation.
+##
ssl_option.verify = verify_peer
ssl_option.fail_if_no_peer_cert = false
-ssl_option.cacertfile = /Users/daniilfedotov/keys/rabbitmq.crt
-ssl_option.certfile = /Users/daniilfedotov/keys/rabbitmq.crt
-ssl_option.keyfile = /Users/daniilfedotov/keys/rabbitmq.key
-
- ## Choose the available SASL mechanism(s) to expose.
- ## The two default (built in) mechanisms are 'PLAIN' and
- ## 'AMQPLAIN'. Additional mechanisms can be added via
- ## plugins.
- ##
- ## See http://www.rabbitmq.com/authentication.html for more details.
- ##
- ## {auth_mechanisms, ['PLAIN', 'AMQPLAIN']},
-
- ## Select an authentication database to use. RabbitMQ comes bundled
- ## with a built-in auth-database, based on mnesia.
- ##
- ## {auth_backends, [rabbit_auth_backend_internal]},
-
- ## Configurations supporting the rabbitmq_auth_mechanism_ssl and
- ## rabbitmq_auth_backend_ldap plugins.
- ##
- ## NB: These options require that the relevant plugin is enabled.
- ## See http://www.rabbitmq.com/plugins.html for further details.
-
- ## The RabbitMQ-auth-mechanism-ssl plugin makes it possible to
- ## authenticate a user based on the client's SSL certificate.
- ##
- ## To use auth-mechanism-ssl, add to or replace the auth_mechanisms
- ## list with the entry 'EXTERNAL'.
- ##
- ## {auth_mechanisms, ['EXTERNAL']},
-
- ## The rabbitmq_auth_backend_ldap plugin allows the broker to
- ## perform authentication and authorisation by deferring to an
- ## external LDAP server.
- ##
- ## For more information about configuring the LDAP backend, see
- ## http://www.rabbitmq.com/ldap.html.
- ##
- ## Enable the LDAP auth backend by adding to or replacing the
- ## auth_backends entry:
- ##
- ## {auth_backends, [rabbit_auth_backend_ldap]},
-
-auth_mechanism.external = EXTERNAL
+# ssl_option.cacertfile = /path/to/rabbitmq.crt
+# ssl_option.certfile = /path/to/rabbitmq.crt
+# ssl_option.keyfile = /path/to/rabbitmq.key
+
+## Choose the available SASL mechanism(s) to expose.
+## The two default (built in) mechanisms are 'PLAIN' and
+## 'AMQPLAIN'. Additional mechanisms can be added via
+## plugins.
+##
+## See http://www.rabbitmq.com/authentication.html for more details.
+##
+auth_mechanism.plain = PLAIN
+auth_mechanism.amqplain = AMQPLAIN
+
+## Select an authentication database to use. RabbitMQ comes bundled
+## with a built-in auth-database, based on mnesia.
+##
auth_backend.internal = rabbit_auth_backend_internal
-# Add another backend
+## Configurations supporting the rabbitmq_auth_mechanism_ssl and
+## rabbitmq_auth_backend_ldap plugins.
+##
+## NB: These options require that the relevant plugin is enabled.
+## See http://www.rabbitmq.com/plugins.html for further details.
+
+
+## The RabbitMQ-auth-mechanism-ssl plugin makes it possible to
+## authenticate a user based on the client's SSL certificate.
+##
+## To use auth-mechanism-ssl, add to or replace the auth_mechanisms
+## with EXTERNAL value.
+##
+#auth_mechanism.external = EXTERNAL
+
+## The rabbitmq_auth_backend_ldap plugin allows the broker to
+## perform authentication and authorisation by deferring to an
+## external LDAP server.
+##
+## For more information about configuring the LDAP backend, see
+## http://www.rabbitmq.com/ldap.html.
+##
+## Enable the LDAP auth backend by adding to or replacing the
+## auth_backends entry:
+##
+# auth_backend.ldap = rabbit_auth_backend_ldap
+
+## Add another backend
# auth_backend.http = rabbit_auth_backend_http
- ## This pertains to both the rabbitmq_auth_mechanism_ssl plugin and
- ## STOMP ssl_cert_login configurations. See the rabbitmq_stomp
- ## configuration section later in this file and the README in
- ## https://github.com/rabbitmq/rabbitmq-auth-mechanism-ssl for further
- ## details.
- ##
- ## To use the SSL cert's CN instead of its DN as the username
- ##
- ## {ssl_cert_login_from, common_name},
-
- ## SSL handshake timeout, in milliseconds.
- ##
- ## {ssl_handshake_timeout, 5000},
-
-ssl_cert_login_from = common_name
-ssl_handshake_timeout = 5000
-
-
- ## Password hashing implementation. Will only affect newly
- ## created users. To recalculate hash for an existing user
- ## it's necessary to update her password.
- ##
- ## When importing definitions exported from versions earlier
- ## than 3.6.0, it is possible to go back to MD5 (only do this
- ## as a temporary measure!) by setting this to rabbit_password_hashing_md5.
- ##
- ## To use SHA-512, set to rabbit_password_hashing_sha512.
- ##
- ## {password_hashing_module, rabbit_password_hashing_sha256},
+## This pertains to both the rabbitmq_auth_mechanism_ssl plugin and
+## STOMP ssl_cert_login configurations. See the rabbitmq_stomp
+## configuration section later in this file and the README in
+## https://github.com/rabbitmq/rabbitmq-auth-mechanism-ssl for further
+## details.
+##
+## To use the SSL cert's CN instead of its DN as the username
+##
+# ssl_cert_login_from = common_name
-password_hashing_module = rabbit_password_hashing_sha256
+## SSL handshake timeout, in milliseconds.
+##
+# ssl_handshake_timeout = 5000
- ##
- ## Default User / VHost
- ## ====================
- ##
-
- ## On first start RabbitMQ will create a vhost and a user. These
- ## config items control what gets created. See
- ## http://www.rabbitmq.com/access-control.html for further
- ## information about vhosts and access control.
- ##
- ## {default_vhost, <<"/">>},
- ## {default_user, <<"guest">>},
- ## {default_pass, <<"guest">>},
- ## {default_permissions, [<<".*">>, <<".*">>, <<".*">>]},
+## Password hashing implementation. Will only affect newly
+## created users. To recalculate hash for an existing user
+## it's necessary to update her password.
+##
+## To use SHA-512, set to rabbit_password_hashing_sha512.
+##
+password_hashing_module = rabbit_password_hashing_sha256
+
+## When importing definitions exported from versions earlier
+## than 3.6.0, it is possible to go back to MD5 (only do this
+## as a temporary measure!) by setting this to rabbit_password_hashing_md5.
+##
+# password_hashing_module = rabbit_password_hashing_md5
+
+##
+## Default User / VHost
+## ====================
+##
+
+## On first start RabbitMQ will create a vhost and a user. These
+## config items control what gets created. See
+## http://www.rabbitmq.com/access-control.html for further
+## information about vhosts and access control.
+##
default_vhost = /
default_user = guest
default_pass = guest
@@ -190,237 +164,197 @@ default_permissions.configure = .*
default_permissions.read = .*
default_permissions.write = .*
- ## Tags for default user
- ##
- ## For more details about tags, see the documentation for the
- ## Management Plugin at http://www.rabbitmq.com/management.html.
- ##
- ## {default_user_tags, [administrator]},
-
+## Tags for default user
+##
+## For more details about tags, see the documentation for the
+## Management Plugin at http://www.rabbitmq.com/management.html.
+##
default_user_tags.administrator = true
- ##
- ## Additional network and protocol related configuration
- ## =====================================================
- ##
+## Define other tags like this:
+# default_user_tags.management = true
+# default_user_tags.custom_tag = true
- ## Set the default AMQP heartbeat delay (in seconds).
- ##
- ## {heartbeat, 600},
+##
+## Additional network and protocol related configuration
+## =====================================================
+##
- ## Set the max permissible size of an AMQP frame (in bytes).
- ##
- ## {frame_max, 131072},
+## Set the default AMQP heartbeat delay (in seconds).
+##
+heartbeat = 600
- ## Set the max frame size the server will accept before connection
- ## tuning occurs
- ##
- ## {initial_frame_max, 4096},
+## Set the max permissible size of an AMQP frame (in bytes).
+##
+frame_max = 131072
- ## Set the max permissible number of channels per connection.
- ## 0 means "no limit".
- ##
- ## {channel_max, 128},
-
-heartbeat = 600
-frame_max = 131072
+## Set the max frame size the server will accept before connection
+## tuning occurs
+##
initial_frame_max = 4096
-channel_max = 128
- ## Customising Socket Options.
- ##
- ## See (http://www.erlang.org/doc/man/inet.html#setopts-2) for
- ## further documentation.
- ##
- ## {tcp_listen_options, [{backlog, 128},
- ## {nodelay, true},
- ## {exit_on_close, false}]},
+## Set the max permissible number of channels per connection.
+## 0 means "no limit".
+##
+channel_max = 128
+
+## Customising Socket Options.
+##
+## See (http://www.erlang.org/doc/man/inet.html#setopts-2) for
+## further documentation.
+##
tcp_listen_option.backlog = 128
tcp_listen_option.nodelay = true
tcp_listen_option.exit_on_close = false
- ##
- ## Resource Limits & Flow Control
- ## ==============================
- ##
- ## See http://www.rabbitmq.com/memory.html for full details.
-
- ## Memory-based Flow Control threshold.
- ##
- ## {vm_memory_high_watermark, 0.4},
-
- ## Alternatively, we can set a limit (in bytes) of RAM used by the node.
- ##
- ## {vm_memory_high_watermark, {absolute, 1073741824}},
- ##
- ## Or you can set absolute value using memory units (with RabbitMQ 3.6.0+).
- ##
- ## {vm_memory_high_watermark, {absolute, "1024M"}},
- ##
- ## Supported units suffixes:
- ##
- ## k, kiB: kibibytes (2^10 bytes)
- ## M, MiB: mebibytes (2^20)
- ## G, GiB: gibibytes (2^30)
- ## kB: kilobytes (10^3)
- ## MB: megabytes (10^6)
- ## GB: gigabytes (10^9)
-
-# Relative watermark
+##
+## Resource Limits & Flow Control
+## ==============================
+##
+## See http://www.rabbitmq.com/memory.html for full details.
+
+## Memory-based Flow Control threshold.
+##
vm_memory_high_watermark.relative = 0.4
-# Or absolute watermark.
-# Ignored if relative is defined!
-# vm_memory_high_watermark.absolute = 1024M
+## Alternatively, we can set a limit (in bytes) of RAM used by the node.
+##
+# vm_memory_high_watermark.absolute = 1073741824
- ## Fraction of the high watermark limit at which queues start to
- ## page message out to disc in order to free up memory.
- ##
- ## Values greater than 0.9 can be dangerous and should be used carefully.
- ##
- ## {vm_memory_high_watermark_paging_ratio, 0.5},
+## Or you can set absolute value using memory units (with RabbitMQ 3.6.0+).
+## Absolute watermark will be ignored if relative is defined!
+##
+# vm_memory_high_watermark.absolute = 2GB
+##
+## Supported units suffixes:
+##
+## kb, KB: kibibytes (2^10 bytes)
+## mb, MB: mebibytes (2^20)
+## gb, GB: gibibytes (2^30)
-vm_memory_high_watermark_paging_ratio = 0.5
- ## Interval (in milliseconds) at which we perform the check of the memory
- ## levels against the watermarks.
- ##
- ## {memory_monitor_interval, 2500},
+## Fraction of the high watermark limit at which queues start to
+## page message out to disc in order to free up memory.
+##
+## Values greater than 0.9 can be dangerous and should be used carefully.
+##
+vm_memory_high_watermark_paging_ratio = 0.5
+
+## Interval (in milliseconds) at which we perform the check of the memory
+## levels against the watermarks.
+##
memory_monitor_interval = 2500
- ## Set disk free limit (in bytes). Once free disk space reaches this
- ## lower bound, a disk alarm will be set - see the documentation
- ## listed above for more details.
- ##
- ## {disk_free_limit, 50000000},
- ##
- ## Or you can set it using memory units (same as in vm_memory_high_watermark)
- ## with RabbitMQ 3.6.0+.
- ## {disk_free_limit, "50MB"},
- ## {disk_free_limit, "50000kB"},
- ## {disk_free_limit, "2GB"},
-
- ## Alternatively, we can set a limit relative to total available RAM.
- ##
- ## Values lower than 1.0 can be dangerous and should be used carefully.
- ## {disk_free_limit, {mem_relative, 2.0}},
-
-# Mem relative disk limit
+## Set disk free limit (in bytes). Once free disk space reaches this
+## lower bound, a disk alarm will be set - see the documentation
+## listed above for more details.
+##
+## Absolute watermark will be ignored if relative is defined!
+disk_free_limit.absolute = 50000
+
+## Or you can set it using memory units (same as in vm_memory_high_watermark)
+## with RabbitMQ 3.6.0+.
+# disk_free_limit.absolute = 500KB
+# disk_free_limit.absolute = 50mb
+# disk_free_limit.absolute = 5GB
+
+## Alternatively, we can set a limit relative to total available RAM.
+##
+## Values lower than 1.0 can be dangerous and should be used carefully.
disk_free_limit.relative = 2.0
-# Absolute disk limit
-# Ignored if relative defined
-disk_free_limit.absolute = 50MB
-
+##
+## Clustering
+## =====================
+##
+cluster_partition_handling = ignore
- ##
- ## Clustering
- ## =====================
- ##
+## pause_if_all_down strategy require additional configuration
+# cluster_partition_handling = pause_if_all_down
- ## How to respond to cluster partitions.
- ## See http://www.rabbitmq.com/partitions.html for further details.
- ##
- ## {cluster_partition_handling, ignore},
+## Recover strategy. Can be either 'autoheal' or 'ignore'
+# cluster_partition_handling.pause_if_all_down.recover = ignore
-cluster_partition_handling = ignore
-
- ## Mirror sync batch size, in messages. Increasing this will speed
- ## up syncing but total batch size in bytes must not exceed 2 GiB.
- ## Available in RabbitMQ 3.6.0 or later.
- ##
- ## {mirroring_sync_batch_size, 4096},
+## Node names to check
+# cluster_partition_handling.pause_if_all_down.node.rabbit = rabbit@localhost
+# cluster_partition_handling.pause_if_all_down.node.hare = hare@localhost
+## Mirror sync batch size, in messages. Increasing this will speed
+## up syncing but total batch size in bytes must not exceed 2 GiB.
+## Available in RabbitMQ 3.6.0 or later.
+##
mirroring_sync_batch_size = 4096
- ## Make clustering happen *automatically* at startup - only applied
- ## to nodes that have just been reset or started for the first time.
- ## See http://www.rabbitmq.com/clustering.html#auto-config for
- ## further details.
- ##
- ## {cluster_nodes, {['rabbit@my.host.com'], disc}},
-
+## Make clustering happen *automatically* at startup - only applied
+## to nodes that have just been reset or started for the first time.
+## See http://www.rabbitmq.com/clustering.html#auto-config for
+## further details.
+##
cluster_nodes.disc.rabbit = rabbit@my.host.com
-# Can define multiple
+## You can define multiple nodes
# cluster_nodes.disc.hare = hare@my.host.com
-# Ram nodes
-# Should not be defined together with disk nodes
+## There can be also ram nodes.
+## Ram nodes should not be defined together with disk nodes
# cluster_nodes.ram.rabbit = rabbit@my.host.com
- ## Interval (in milliseconds) at which we send keepalive messages
- ## to other cluster members. Note that this is not the same thing
- ## as net_ticktime; missed keepalive messages will not cause nodes
- ## to be considered down.
- ##
- ## {cluster_keepalive_interval, 10000},
-
+## Interval (in milliseconds) at which we send keepalive messages
+## to other cluster members. Note that this is not the same thing
+## as net_ticktime; missed keepalive messages will not cause nodes
+## to be considered down.
+##
cluster_keepalive_interval = 10000
- ##
- ## Statistics Collection
- ## =====================
- ##
-
- ## Set (internal) statistics collection granularity.
- ##
- ## {collect_statistics, none},
+##
+## Statistics Collection
+## =====================
+##
-# Cna be none, coarse or fine
+## Set (internal) statistics collection granularity.
+##
+## Can be none, coarse or fine
collect_statistics = none
- ## Statistics collection interval (in milliseconds). Increasing
- ## this will reduce the load on management database.
- ##
- ## {collect_statistics_interval, 5000},
+# collect_statistics = coarse
+## Statistics collection interval (in milliseconds). Increasing
+## this will reduce the load on management database.
+##
collect_statistics_interval = 5000
- ##
- ## Misc/Advanced Options
- ## =====================
- ##
- ## NB: Change these only if you understand what you are doing!
- ##
-
- ## Explicitly enable/disable hipe compilation.
- ##
- ## {hipe_compile, true},
+##
+## Misc/Advanced Options
+## =====================
+##
+## NB: Change these only if you understand what you are doing!
+##
+## Explicitly enable/disable hipe compilation.
+##
hipe_compile = false
- ## Timeout used when waiting for Mnesia tables in a cluster to
- ## become available.
- ##
- ## {mnesia_table_loading_timeout, 30000},
-
+## Timeout used when waiting for Mnesia tables in a cluster to
+## become available.
+##
mnesia_table_loading_timeout = 30000
-
- ## Size in bytes below which to embed messages in the queue index. See
- ## http://www.rabbitmq.com/persistence-conf.html
- ##
- ## {queue_index_embed_msgs_below, 4096}
-
+## Size in bytes below which to embed messages in the queue index. See
+## http://www.rabbitmq.com/persistence-conf.html
+##
queue_index_embed_msgs_below = 4096
- # ]},
-
- # ## ----------------------------------------------------------------------------
- # ## Advanced Erlang Networking/Clustering Options.
- # ##
- # ## See http://www.rabbitmq.com/clustering.html for details
- # ## ----------------------------------------------------------------------------
- # {kernel,
- # [## Sets the net_kernel tick time.
- # ## Please see http://erlang.org/doc/man/kernel_app.html and
- # ## http://www.rabbitmq.com/nettick.html for further details.
- # ##
- # ## {net_ticktime, 60}
- # ]},
+## You can also set this size in memory units
+##
+queue_index_embed_msgs_below = 4kb
+
+## ----------------------------------------------------------------------------
+## Advanced Erlang Networking/Clustering Options.
+##
+## See http://www.rabbitmq.com/clustering.html for details
+## ----------------------------------------------------------------------------
# ======================================
# Kernel section
@@ -428,69 +362,49 @@ queue_index_embed_msgs_below = 4096
kernel.net_ticktime = 60
- # ## ----------------------------------------------------------------------------
- # ## RabbitMQ Management Plugin
- # ##
- # ## See http://www.rabbitmq.com/management.html for details
- # ## ----------------------------------------------------------------------------
-
- # {rabbitmq_management,
- # [## Pre-Load schema definitions from the following JSON file. See
- ## http://www.rabbitmq.com/management.html#load-definitions
- ##
- ## {load_definitions, "/path/to/schema.json"},
+## ----------------------------------------------------------------------------
+## RabbitMQ Management Plugin
+##
+## See http://www.rabbitmq.com/management.html for details
+## ----------------------------------------------------------------------------
# =======================================
# Management section
# =======================================
-#management.load_definitions = /path/to/schema.json
+## Pre-Load schema definitions from the following JSON file. See
+## http://www.rabbitmq.com/management.html#load-definitions
+##
+# management.load_definitions = /path/to/schema.json
- ## Log all requests to the management HTTP API to a file.
- ##
- ## {http_log_dir, "/path/to/access.log"},
+## Log all requests to the management HTTP API to a file.
+##
+# management.http_log_dir = /path/to/access.log
-#management.http_log_dir = /path/to/access.log
+## Change the port on which the HTTP listener listens,
+## specifying an interface for the web server to bind to.
+## Also set the listener to use SSL and provide SSL options.
+##
- ## Change the port on which the HTTP listener listens,
- ## specifying an interface for the web server to bind to.
- ## Also set the listener to use SSL and provide SSL options.
- ##
- ## {listener, [{port, 12345},
- ## {ip, "127.0.0.1"},
- ## {ssl, true},
- ## {ssl_opts, [{cacertfile, "/path/to/cacert.pem"},
- ## {certfile, "/path/to/cert.pem"},
- ## {keyfile, "/path/to/key.pem"}]}]},
-
-
-# Maybe use IP type like in tcp_listener?
+# QA: Maybe use IP type like in tcp_listener?
management.listener.port = 12345
management.listener.ip = 127.0.0.1
management.listener.ssl = true
-#management.listener.ssl_opts.cacertfile = /path/to/cacert.pem
-#management.listener.ssl_opts.certfile = /path/to/cert.pem
-#management.listener.ssl_opts.keyfile = /path/to/key.pem
-
- ## One of 'basic', 'detailed' or 'none'. See
- ## http://www.rabbitmq.com/management.html#fine-stats for more details.
- ## {rates_mode, basic},
+# management.listener.ssl_opts.cacertfile = /path/to/cacert.pem
+# management.listener.ssl_opts.certfile = /path/to/cert.pem
+# management.listener.ssl_opts.keyfile = /path/to/key.pem
+## One of 'basic', 'detailed' or 'none'. See
+## http://www.rabbitmq.com/management.html#fine-stats for more details.
management.rates_mode = basic
- ## Configure how long aggregated data (such as message rates and queue
- ## lengths) is retained. Please read the plugin's documentation in
- ## http://www.rabbitmq.com/management.html#configuration for more
- ## details.
- ##
- ## {sample_retention_policies,
- ## [{global, [{60, 5}, {3600, 60}, {86400, 1200}]},
- ## {basic, [{60, 5}, {3600, 60}]},
- ## {detailed, [{10, 5}]}]}
-# ]},
-
-# Some funny syntax
+## Configure how long aggregated data (such as message rates and queue
+## lengths) is retained. Please read the plugin's documentation in
+## http://www.rabbitmq.com/management.html#configuration for more
+## details.
+##
+# QA: Some funny syntax
management.sample_retention_policies.global.60 = 5
management.sample_retention_policies.global.3600 = 60
management.sample_retention_policies.global.86400 = 1200
@@ -500,312 +414,309 @@ management.sample_retention_policies.basic.3600 = 60
management.sample_retention_policies.detailed.10 = 5
+## ----------------------------------------------------------------------------
+## RabbitMQ Shovel Plugin
+##
+## See http://www.rabbitmq.com/shovel.html for details
+## ----------------------------------------------------------------------------
+
+## Shovel plugin config example is defined in additional.config file
-# Shovel is too complex for sysctl syntax. Should be defined in additinal.conf
-
-# ## ----------------------------------------------------------------------------
-# ## RabbitMQ Shovel Plugin
-# ##
-# ## See http://www.rabbitmq.com/shovel.html for details
-# ## ----------------------------------------------------------------------------
-
-# {rabbitmq_shovel,
-# [{shovels,
-# [## A named shovel worker.
-# ## {my_first_shovel,
-# ## [
-
-# ## List the source broker(s) from which to consume.
-# ##
-# ## {sources,
-# ## [## URI(s) and pre-declarations for all source broker(s).
-# ## {brokers, ["amqp://user:password@host.domain/my_vhost"]},
-# ## {declarations, []}
-# ## ]},
-
-# ## List the destination broker(s) to publish to.
-# ## {destinations,
-# ## [## A singular version of the 'brokers' element.
-# ## {broker, "amqp://"},
-# ## {declarations, []}
-# ## ]},
-
-# ## Name of the queue to shovel messages from.
-# ##
-# ## {queue, <<"your-queue-name-goes-here">>},
-
-# ## Optional prefetch count.
-# ##
-# ## {prefetch_count, 10},
-
-# ## when to acknowledge messages:
-# ## - no_ack: never (auto)
-# ## - on_publish: after each message is republished
-# ## - on_confirm: when the destination broker confirms receipt
-# ##
-# ## {ack_mode, on_confirm},
-
-# ## Overwrite fields of the outbound basic.publish.
-# ##
-# ## {publish_fields, [{exchange, <<"my_exchange">>},
-# ## {routing_key, <<"from_shovel">>}]},
-
-# ## Static list of basic.properties to set on re-publication.
-# ##
-# ## {publish_properties, [{delivery_mode, 2}]},
-
-# ## The number of seconds to wait before attempting to
-# ## reconnect in the event of a connection failure.
-# ##
-# ## {reconnect_delay, 2.5}
-
-# ## ]} ## End of my_first_shovel
-# ]}
-# ## Rather than specifying some values per-shovel, you can specify
-# ## them for all shovels here.
-# ##
-# ## {defaults, [{prefetch_count, 0},
-# ## {ack_mode, on_confirm},
-# ## {publish_fields, []},
-# ## {publish_properties, [{delivery_mode, 2}]},
-# ## {reconnect_delay, 2.5}]}
-# ]},
-# ## ----------------------------------------------------------------------------
-# ## RabbitMQ Stomp Adapter
-# ##
-# ## See http://www.rabbitmq.com/stomp.html for details
-# ## ----------------------------------------------------------------------------
+## ----------------------------------------------------------------------------
+## RabbitMQ Stomp Adapter
+##
+## See http://www.rabbitmq.com/stomp.html for details
+## ----------------------------------------------------------------------------
# =======================================
# STOMP section
# =======================================
-# {rabbitmq_stomp,
-# [## Network Configuration - the format is generally the same as for the broker
-
-# ## Listen only on localhost (ipv4 & ipv6) on a specific port.
-# ## {tcp_listeners, [{"127.0.0.1", 61613},
-# ## {"::1", 61613}]},
-
-# Same as tcp_listener
+## Network Configuration - the format is generally the same as for the broker
+##
stomp.listener.tcp.default = 61613
+## Same for ssl listeners
+##
stomp.listener.ssl.default = 61614
-# ## Number of Erlang processes that will accept connections for the TCP
-# ## and SSL listeners.
-# ##
-# ## {num_tcp_acceptors, 10},
-# ## {num_ssl_acceptors, 1},
-
+## Number of Erlang processes that will accept connections for the TCP
+## and SSL listeners.
+##
stomp.num_acceptors.tcp = 10
stomp.num_acceptors.ssl = 1
-# ## Additional SSL options
-
-# ## Extract a name from the client's certificate when using SSL.
-# ##
-# ## {ssl_cert_login, true},
+## Additional SSL options
+## Extract a name from the client's certificate when using SSL.
+##
stomp.ssl_cert_login = true
-# ## Set a default user name and password. This is used as the default login
-# ## whenever a CONNECT frame omits the login and passcode headers.
-# ##
-# ## Please note that setting this will allow clients to connect without
-# ## authenticating!
-# ##
-# ## {default_user, [{login, "guest"},
-# ## {passcode, "guest"}]},
-
-# Same syntax as AMQP
-stomp.default_user = guest
-stomp.default_pass = guest
-
-# ## If a default user is configured, or you have configured use SSL client
-# ## certificate based authentication, you can choose to allow clients to
-# ## omit the CONNECT frame entirely. If set to true, the client is
-# ## automatically connected as the default user or user supplied in the
-# ## SSL certificate whenever the first frame sent on a session is not a
-# ## CONNECT frame.
-# ##
-# ## {implicit_connect, true}
-# ]},
-
+## Set a default user name and password. This is used as the default login
+## whenever a CONNECT frame omits the login and passcode headers.
+##
+## Please note that setting this will allow clients to connect without
+## authenticating!
+##
+# stomp.default_user = guest
+# stomp.default_pass = guest
+
+## If a default user is configured, or you have configured use SSL client
+## certificate based authentication, you can choose to allow clients to
+## omit the CONNECT frame entirely. If set to true, the client is
+## automatically connected as the default user or user supplied in the
+## SSL certificate whenever the first frame sent on a session is not a
+## CONNECT frame.
+##
stomp.implicit_connect = true
-# ## ----------------------------------------------------------------------------
-# ## RabbitMQ MQTT Adapter
-# ##
-# ## See https://github.com/rabbitmq/rabbitmq-mqtt/blob/stable/README.md
-# ## for details
-# ## ----------------------------------------------------------------------------
+## ----------------------------------------------------------------------------
+## RabbitMQ MQTT Adapter
+##
+## See https://github.com/rabbitmq/rabbitmq-mqtt/blob/stable/README.md
+## for details
+## ----------------------------------------------------------------------------
# =======================================
# MQTT section
# =======================================
-# {rabbitmq_mqtt,
-# [## Set the default user name and password. Will be used as the default login
-# ## if a connecting client provides no other login details.
-# ##
-# ## Please note that setting this will allow clients to connect without
-# ## authenticating!
-# ##
-# ## {default_user, <<"guest">>},
-# ## {default_pass, <<"guest">>},
-
-mqtt.default_user = guest
-mqtt.default_pass = guest
-
-# ## Enable anonymous access. If this is set to false, clients MUST provide
-# ## login information in order to connect. See the default_user/default_pass
-# ## configuration elements for managing logins without authentication.
-# ##
-# ## {allow_anonymous, true},
-
+## Set the default user name and password. Will be used as the default login
+## if a connecting client provides no other login details.
+##
+## Please note that setting this will allow clients to connect without
+## authenticating!
+##
+# mqtt.default_user = guest
+# mqtt.default_pass = guest
+
+## Enable anonymous access. If this is set to false, clients MUST provide
+## login information in order to connect. See the default_user/default_pass
+## configuration elements for managing logins without authentication.
+##
mqtt.allow_anonymous = true
-# ## If you have multiple chosts, specify the one to which the
-# ## adapter connects.
-# ##
-# ## {vhost, <<"/">>},
-
+## If you have multiple chosts, specify the one to which the
+## adapter connects.
+##
mqtt.vhost = /
-# ## Specify the exchange to which messages from MQTT clients are published.
-# ##
-# ## {exchange, <<"amq.topic">>},
-
+## Specify the exchange to which messages from MQTT clients are published.
+##
mqtt.exchange = amq.topic
-# ## Specify TTL (time to live) to control the lifetime of non-clean sessions.
-# ##
-# ## {subscription_ttl, 1800000},
+## Specify TTL (time to live) to control the lifetime of non-clean sessions.
+##
mqtt.subscription_ttl = 1800000
-# ## Set the prefetch count (governing the maximum number of unacknowledged
-# ## messages that will be delivered).
-# ##
-# ## {prefetch, 10},
+## Set the prefetch count (governing the maximum number of unacknowledged
+## messages that will be delivered).
+##
mqtt.prefetch = 10
-# ## TCP/SSL Configuration (as per the broker configuration).
-# ##
-# ## {tcp_listeners, [1883]},
-# ## {ssl_listeners, []},
-
-# Same as amqp tcp_listener
+## TCP/SSL Configuration (as per the broker configuration).
+##
mqtt.listener.tcp.default = 1883
-# Same as amqp ssl_listener
+## Same for ssl listener
+##
mqtt.listener.ssl.default = 1884
-# ## Number of Erlang processes that will accept connections for the TCP
-# ## and SSL listeners.
-# ##
-# ## {num_tcp_acceptors, 10},
-# ## {num_ssl_acceptors, 1},
-
+## Number of Erlang processes that will accept connections for the TCP
+## and SSL listeners.
+##
mqtt.num_acceptors.tcp = 10
mqtt.num_acceptors.ssl = 1
-# ## TCP/Socket options (as per the broker configuration).
-# ##
-# ## {tcp_listen_options, [{backlog, 128},
-# ## {nodelay, true}]}
-# ]},
-
-mqtt.tcp_listen_option.backlog = 128
-mqtt.tcp_listen_option.nodelay = true
+## TCP/Socket options (as per the broker configuration).
+##
+# mqtt.tcp_listen_option.backlog = 128
+# mqtt.tcp_listen_option.nodelay = true
-# ## ----------------------------------------------------------------------------
-# ## RabbitMQ AMQP 1.0 Support
-# ##
-# ## See https://github.com/rabbitmq/rabbitmq-amqp1.0/blob/stable/README.md
-# ## for details
-# ## ----------------------------------------------------------------------------
+## ----------------------------------------------------------------------------
+## RabbitMQ AMQP 1.0 Support
+##
+## See https://github.com/rabbitmq/rabbitmq-amqp1.0/blob/stable/README.md
+## for details
+## ----------------------------------------------------------------------------
# =======================================
# AMQP_1 section
# =======================================
-# {rabbitmq_amqp1_0,
-# [## Connections that are not authenticated with SASL will connect as this
-# ## account. See the README for more information.
-# ##
-# ## Please note that setting this will allow clients to connect without
-# ## authenticating!
-# ##
-# ## {default_user, "guest"},
-
+## Connections that are not authenticated with SASL will connect as this
+## account. See the README for more information.
+##
+## Please note that setting this will allow clients to connect without
+## authenticating!
+##
amqp1.default_user = guest
-# ## Enable protocol strict mode. See the README for more information.
-# ##
-# ## {protocol_strict_mode, false}
-# ]},
-
+## Enable protocol strict mode. See the README for more information.
+##
amqp1.protocol_strict_mode = false
-# ## Lager controls logging.
-# ## See https://github.com/basho/lager for more documentation
-# {lager, [
-# ##
-# ## Log direcrory, taken from the RABBITMQ_LOG_BASE env variable by default.
-# ## {log_root, "/var/log/rabbitmq"},
-# ##
-# ## All log messages go to the default "sink" configured with
-# ## the `handlers` parameter. By default, it has a single
-# ## lager_file_backend handler writing messages to "$nodename.log"
-# ## (ie. the value of $RABBIT_LOGS).
-# ## {handlers, [
-# ## {lager_file_backend, [{file, "rabbit.log"},
-# ## {level, info},
-# ## {date, ""},
-# ## {size, 0}]}
-# ## ]},
-# ##
-# ## Extra sinks are used in RabbitMQ to categorize messages. By
-# ## default, those extra sinks are configured to forward messages
-# ## to the default sink (see above). "rabbit_log_lager_event"
-# ## is the default category where all RabbitMQ messages without
-# ## a category go. Messages in the "channel" category go to the
-# ## "rabbit_channel_lager_event" Lager extra sink, and so on.
-# ## {extra_sinks, [
-# ## {rabbit_log_lager_event, [{handlers, [
-# ## {lager_forwarder_backend,
-# ## [lager_event, info]}]}]},
-# ## {rabbit_channel_lager_event, [{handlers, [
-# ## {lager_forwarder_backend,
-# ## [lager_event, info]}]}]},
-# ## {rabbit_conection_lager_event, [{handlers, [
-# ## {lager_forwarder_backend,
-# ## [lager_event, info]}]}]},
-# ## {rabbit_mirroring_lager_event, [{handlers, [
-# ## {lager_forwarder_backend,
-# ## [lager_event, info]}]}]}
-# ## ]}
-# ]}
-# ].
-
-#log.dir = /var/log/rabbitmq
-
-log.console = false
-log.console.level = info
-
-log.file = rabbit.log
-log.file.level = info
-
-# DO NOT SET rotation date to ''. Leave unset if require "" value
-#log.file.rotation.date =
-log.file.rotation.size = 0
-
-
-# Possible:
-log.syslog = false
-log.syslog.identity = rabbitmq
-log.syslog.level = info
-log.syslog.facility = daemon
+## Lager controls logging.
+## See https://github.com/basho/lager for more documentation
+##
+## Log direcrory, taken from the RABBITMQ_LOG_BASE env variable by default.
+##
+# log.dir = /var/log/rabbitmq
+
+## Logging to console (can be true or false)
+##
+# log.console = false
+
+## Loglevel to log to console
+##
+# log.console.level = info
+
+## Logging to file. Can be false or filename.
+## Default:
+# log.file = rabbit.log
+
+## To turn off:
+# log.file = false
+
+## Loglevel to log to file
+##
+# log.file.level = info
+
+## File rotation config. No rotation by defualt.
+## DO NOT SET rotation date to ''. Leave unset if require "" value
+# log.file.rotation.date = $D0
+# log.file.rotation.size = 0
+
+
+## QA: Config for syslog logging
+# log.syslog = false
+# log.syslog.identity = rabbitmq
+# log.syslog.level = info
+# log.syslog.facility = daemon
+
+
+## ----------------------------------------------------------------------------
+## RabbitMQ LDAP Plugin
+##
+## See http://www.rabbitmq.com/ldap.html for details.
+##
+## ----------------------------------------------------------------------------
+
+# =======================================
+# LDAP section
+# =======================================
+
+##
+## Connecting to the LDAP server(s)
+## ================================
+##
+
+## Specify servers to bind to. You *must* set this in order for the plugin
+## to work properly.
+##
+# ldap.servers.myserver = your-server-name-goes-here
+
+## You can define multiple servers
+# ldap.servers.other_server = your-other-server
+
+## Connect to the LDAP server using SSL
+##
+# ldap.use_ssl = false
+
+## Specify the LDAP port to connect to
+##
+# ldap.port = 389
+
+## LDAP connection timeout, in milliseconds or 'infinity'
+##
+# ldap.timeout = infinity
+
+## Or number
+# ldap.timeout = 500
+
+## Enable logging of LDAP queries.
+## One of
+## - false (no logging is performed)
+## - true (verbose logging of the logic used by the plugin)
+## - network (as true, but additionally logs LDAP network traffic)
+##
+## Defaults to false.
+##
+ldap.log = false
+
+## Also can be true or network
+# ldap.log = true
+# ldap.log = network
+
+##
+## Authentication
+## ==============
+##
+
+## Pattern to convert the username given through AMQP to a DN before
+## binding
+##
+ldap.user_dn_pattern = cn=${username},ou=People,dc=example,dc=com
+
+## Alternatively, you can convert a username to a Distinguished
+## Name via an LDAP lookup after binding. See the documentation for
+## full details.
+
+## When converting a username to a dn via a lookup, set these to
+## the name of the attribute that represents the user name, and the
+## base DN for the lookup query.
+##
+ldap.dn_lookup_attribute = userPrincipalName
+ldap.dn_lookup_base = DC=gopivotal,DC=com
+
+## Controls how to bind for authorisation queries and also to
+## retrieve the details of users logging in without presenting a
+## password (e.g., SASL EXTERNAL).
+## One of
+## - as_user (to bind as the authenticated user - requires a password)
+## - anon (to bind anonymously)
+## - {UserDN, Password} (to bind with a specified user name and password)
+##
+## Defaults to 'as_user'.
+##
+ldap.other_bind = as_user
+
+## Or can be more complex:
+# ldap.other_bind.user_dn = User
+# ldap.other_bind.password = Password
+
+## If user_dn and password defined - other options is ignored.
+
+# -----------------------------
+# Too complex section of LDAP
+# -----------------------------
+
+##
+## Authorisation
+## =============
+##
+
+## The LDAP plugin can perform a variety of queries against your
+## LDAP server to determine questions of authorisation. See
+## http://www.rabbitmq.com/ldap.html#authorisation for more
+## information.
+
+## Following configuration should be defined in additional.config file
+## DO NOT UNCOMMENT THIS LINES!
+
+## Set the query to use when determining vhost access
+##
+## {vhost_access_query, {in_group,
+## "ou=${vhost}-users,ou=vhosts,dc=example,dc=com"}},
+
+## Set the query to use when determining resource (e.g., queue) access
+##
+## {resource_access_query, {constant, true}},
+
+## Set queries to determine which tags a user has
+##
+## {tag_queries, []}
+# ]},
+# -----------------------------