diff options
author | Tim Watson <tim@rabbitmq.com> | 2013-06-18 12:29:54 +0100 |
---|---|---|
committer | Tim Watson <tim@rabbitmq.com> | 2013-06-18 12:29:54 +0100 |
commit | 1e433f10a10a9dc002559e1cdf54915484fe28aa (patch) | |
tree | 013ab73dd7062192ac6fdb7b0dad7e87036f341e | |
parent | f238e42877299a9d61694b88dbebf85c20709750 (diff) | |
download | rabbitmq-server-1e433f10a10a9dc002559e1cdf54915484fe28aa.tar.gz |
Put sample config in the broker repository root
-rw-r--r-- | rabbitmq.sample.config | 315 |
1 files changed, 315 insertions, 0 deletions
diff --git a/rabbitmq.sample.config b/rabbitmq.sample.config new file mode 100644 index 00000000..69fdb0a1 --- /dev/null +++ b/rabbitmq.sample.config @@ -0,0 +1,315 @@ +[ + %% ---------------------------------------------------------------------------- + %% RabbitMQ Sample Configuration File + %% ---------------------------------------------------------------------------- + + {rabbit, [%% + %% Network Connectivity + %% + + %% AMQP listen on ports + {tcp_listeners, [5672, 5673]}, + + %% SSL (AMQP) listen on ports + {ssl_listeners, [5674, 5675]}, + + %% SSL options + {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, true}]}, + + %% Frame Max (in bytes) + {frame_max, 131072}, + + %% Heartbeat delay (in seconds) + {heartbeat, 600}, + + %% Socket options + %% See (http://www.erlang.org/doc/man/inet.html#setopts-2) + {tcp_listen_options, [binary, + {packet, raw}, + {reuseaddr, true}, + {backlog, 128}, + {nodelay, true}, + {exit_on_close, false}]}, + + %% + %% Security/AAA & Default VHost/User + %% + + %% Set available auth mechanisms + {auth_mechanisms, ['PLAIN', 'AMQPLAIN']}, + + %% To enable auth-mechanism-ssl + %% {auth_mechanisms, ['EXTERNAL']}, + + %% Available authentication databases + {auth_backends, [rabbit_auth_backend_internal]}, + + %% To enable the LDAP backend + %% {auth_backends, [rabbit_auth_backend_ldap]}, + + %% Virtual host to create on first start + {default_vhost, <<"/">>}, + + %% User name to create on first start + {default_user, <<"guest">>}, + + %% Password for default user + {default_pass, <<"guest">>}, + + %% Tags for default user + {default_user_tags, [administrator]}, + + %% Permissions for default user + {default_permissions, [<<".*">>, <<".*">>, <<".*">>]}, + + %% + %% Resource Limits & Flow Control + %% + + %% Memory-based Flow Control threshold + {vm_memory_high_watermark, 0.4}, + + %% Disk free limits (set in bytes) + {disk_free_limit, 1000000000}, + + %% Disk free limits (relative to total RAM) + {disk_free_limit, {mem_relative, 1.0}}, + + %% Log levels + {log_levels, [{connection, info}]}, + + %% + %% Misc/Advanced Options: + %% + %% NB: Change these only if you understand what you're doing! + %% + + %% How to respond to cluster partitions + {cluster_partition_handling, ignore}, + + %% Make clustering happen *automatically* + {cluster_nodes, {['rabbit@my.host.com'], disc}}, + + %% Set (internal) statistics granularity + {collect_statistics, none}, + + %% Statistics collection interval (in milliseconds) + {collect_statistics_interval, 5000}, + + %% Override file handle limits + {file_handles_high_watermark, 10000000}, + + %% Explicitly enable/disable hipe compilation + {hipe_compile, true}, + + %% Override the number of delegate processes in use + {delegate_count, 16}m + + %% Implementation module for queue indexing + {msg_store_index_module, rabbit_msg_store_ets_index}, + + %% Implementation module for queue content handling + {backing_queue_module, rabbit_variable_queue}, + + %% Tunes the maximum (individual) file size limit for + %% the broker's persistent message store. WARNING you + %% should almost certainly not need to change this + {msg_store_file_size_limit, 16777216}, + + %% Tunes the maximum number of journal entries for + %% the broker's persistent message store. WARNING: + %% you should almost certainly not need to change this + {queue_index_max_journal_entries, 65536} + ]}, + + %% ---------------------------------------------------------------------------- + %% RabbiMQ Management Plugin + %% + %% See http://www.rabbitmq.com/management.html for details + %% ---------------------------------------------------------------------------- + + {rabbitmq_management, + [%% Pre-Load schema definitions from the following JSON file + {load_definitions, "/path/to/schema.json"}, + + %% Log HTTP requests to a file + {http_log_dir, "/path/to/access.log"}, + + %% Change the port on which the HTTP listener listens, + %% specify an interface for the web server to bind to. + %% Also set the listener to use SSL + {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"}]}]}, + + %% Sample retention policies + {sample_retention_policies, + [{global, [{60, 5}, {3600, 60}, {86400, 1200}]}, + {basic, [{60, 5}, {3600, 60}]}, + {detailed, [{10, 5}]}]} + ]}, + + {rabbitmq_management_agent [%% Force fine-grained statistics + {force_fine_statistics, true}]}, + + %% ---------------------------------------------------------------------------- + %% RabbiMQ Shovel Plugin + %% + %% See http://www.rabbitmq.com/shovel.html for details + %% ---------------------------------------------------------------------------- + + {rabbitmq_shovel, + [{shovels, [{my_first_shovel, + [{sources, + %% Setting SSL Options via the connection string + [{brokers, ["amqps://username:password@host:port/vhost?" + "cacertfile=/path/to/cacert.pem" + "&certfile=/path/to/certfile.pem" + "&keyfile=/path/to/keyfile.pem" + "&verify=verify_peer" + "&fail_if_no_peer_cert=true", + + %% Tuning connection via the connection string + "amqp://john:secret@host2.domain/my_vhost" + "?heartbeat=5&frame_max=8192" + ]}, + {declarations, + [ {'exchange.declare', + [{exchange, <<"my_fanout">>}, + {type, <<"fanout">>}, durable]}, + {'queue.declare', + [{arguments, + [{<<"x-message-ttl">>, long, 60000}]}]}, + {'queue.bind', + [{exchange, <<"my_direct">>}, {queue,<<>>}]} + ]} + ]}, + {destinations, + [{broker, "amqp://"}, + {declarations, [{'exchange.declare', + [{exchange, <<"my_direct">>}, + {type, <<"direct">>}, durable]}]} + ]}, + {queue, <<>>}, + {prefetch_count, 10}, + {ack_mode, on_confirm}, + {publish_properties, [{delivery_mode, 2}]}, + {publish_fields, [{exchange, <<"my_direct">>}, + {routing_key, <<"from_shovel">>}]}, + {reconnect_delay, 2.5} + ]} + ]}]}, + + %% ---------------------------------------------------------------------------- + %% RabbiMQ Stomp Adapter + %% + %% See http://www.rabbitmq.com/stomp.html for details + %% ---------------------------------------------------------------------------- + + {rabbitmq_stomp, [%% Listen only on localhost (ipv4 & ipv6) on port 61613 + {tcp_listeners, [{"127.0.0.1", 61612}, + {"::1", 61612}]}, + + %% Listen for SSL connections on 61613 + {ssl_listeners, [61613]}, + + %% Extract name from client's certificate when using SSL + {ssl_cert_login, true}, + + %% Use cn instead of dn when reading from the SSL cert + %% , {ssl_cert_login_from, common_name} + + %% Set a default user and password + {default_user, [{login, "guest"}, + {passcode, "guest"}]} + ]}, + + %% ---------------------------------------------------------------------------- + %% RabbiMQ MQTT Adapter + %% + %% See http://hg.rabbitmq.com/rabbitmq-mqtt/file/stable/README.md for details + %% ---------------------------------------------------------------------------- + + {rabbitmq_mqtt, [{default_user, <<"guest">>}, + {default_pass, <<"guest">>}, + {allow_anonymous, true}, + {vhost, <<"/">>}, + {exchange, <<"amq.topic">>}, + {subscription_ttl, 1800000}, + {prefetch, 10}, + {ssl_listeners, []}, + {tcp_listeners, [1883]}, + {tcp_listen_options, [binary, + {packet, raw}, + {reuseaddr, true}, + {backlog, 128}, + {nodelay, true}]}]}, + + %% ---------------------------------------------------------------------------- + %% RabbiMQ AMQP 1.0 Support + %% + %% See http://hg.rabbitmq.com/rabbitmq-amqp1.0/file/default/README.md + %% for details + %% ---------------------------------------------------------------------------- + + {rabbitmq_amqp1_0, [{default_user, "guest"}, + {protocol_strict_mode, false}]}, + + %% ---------------------------------------------------------------------------- + %% RabbitMQ LDAP Plugin + %% + %% See http://www.rabbitmq.com/ldap.html for details. + %% + %% ---------------------------------------------------------------------------- + + {rabbitmq_auth_backend_ldap, + [{servers, ["my-ldap-server"]}, + {user_dn_pattern, "cn=${username},ou=People,dc=example,dc=com"}, + {use_ssl, false}, + {port, 389}, + {log, false}, + {vhost_access_query, {in_group + "ou=${vhost}-users,ou=vhosts,dc=example,dc=com"}}, + {resource_access_query, + {for, [{permission, configure, {in_group, "cn=admin,dc=example,dc=com"}}, + {permission, write, + {for, [{resource, queue, {in_group, + "cn=admin,dc=example,dc=com"}}, + {resource, exchange, {constant, true}}]}}, + {permission, read, + {for, [{resource, exchange, {in_group, + "cn=admin,dc=example,dc=com"}}, + {resource, queue, {constant, true}}]}} + ] + }}, + {tag_queries, [{administrator, {constant, false}}, + {management, {constant, true}}]} + ] + }, + + %% ---------------------------------------------------------------------------- + %% Lager Logging Support + %% + %% See https://github.com/basho/lager for specific configuration. + %% + %% ---------------------------------------------------------------------------- + + {lager, [{handlers, + [{lager_console_backend, info}, + {lager_file_backend, + [%% Location of the error log + {"/var/log/rabbitmq/error.log", error, 10485760, "$D0", 5}, + %% Location of the info log + {"/var/log/rabbitmq/console.log", info, 10485760, "$D0", 5} + ]} + ]} + ]} +]. + |