diff options
| -rw-r--r-- | rabbitmq.conf.d/rabbitmq.conf | 6 | ||||
| -rw-r--r-- | rabbitmq.conf.d/rabbitmq.conf.example | 4 | ||||
| -rw-r--r-- | schema/rabbitmq.management.schema | 121 |
3 files changed, 108 insertions, 23 deletions
diff --git a/rabbitmq.conf.d/rabbitmq.conf b/rabbitmq.conf.d/rabbitmq.conf index a9e23b2908..06e470d6e0 100644 --- a/rabbitmq.conf.d/rabbitmq.conf +++ b/rabbitmq.conf.d/rabbitmq.conf @@ -297,14 +297,14 @@ mirroring_sync_batch_size = 4096 ## See http://www.rabbitmq.com/clustering.html#auto-config for ## further details. ## -# cluster_nodes.disc.rabbit = rabbit@my.host.com +# cluster_nodes.disc.1 = rabbit@my.host.com ## You can define multiple nodes -# cluster_nodes.disc.hare = hare@my.host.com +# cluster_nodes.disc.2 = hare@my.host.com ## There can be also ram nodes. ## Ram nodes should not be defined together with disk nodes -# cluster_nodes.ram.rabbit = rabbit@my.host.com +# cluster_nodes.ram.1 = 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 diff --git a/rabbitmq.conf.d/rabbitmq.conf.example b/rabbitmq.conf.d/rabbitmq.conf.example index 073c28e557..7afc852633 100644 --- a/rabbitmq.conf.d/rabbitmq.conf.example +++ b/rabbitmq.conf.d/rabbitmq.conf.example @@ -283,8 +283,8 @@ # cluster_partition_handling.pause_if_all_down.recover = ignore ## 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 +# cluster_partition_handling.pause_if_all_down.node.1 = rabbit@localhost +# cluster_partition_handling.pause_if_all_down.node.2 = 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. diff --git a/schema/rabbitmq.management.schema b/schema/rabbitmq.management.schema index b806252217..0623ec7dd7 100644 --- a/schema/rabbitmq.management.schema +++ b/schema/rabbitmq.management.schema @@ -33,21 +33,6 @@ %% {certfile, "/path/to/cert.pem"}, %% {keyfile, "/path/to/key.pem"}]}]}, -{mapping, "management.listener.ssl_opts.cacertfile", "rabbitmq_management.listener.ssl_opts.cacertfile", - [{datatype, string}, - {validators, ["file_accessible"]}]}. - -{mapping, "management.listener.ssl_opts.certfile", "rabbitmq_management.listener.ssl_opts.certfile", - [{datatype, string}, - {validators, ["file_accessible"]}]}. - -{mapping, "management.listener.ssl_opts.keyfile", "rabbitmq_management.listener.ssl_opts.keyfile", - [{datatype, string}, - {validators, ["file_accessible"]}]}. - -{mapping, "management.listener.ssl_opts.$option", "rabbitmq_management.listener.ssl_opts.$option", - [{datatype, atom}]}. - {mapping, "management.listener.port", "rabbitmq_management.listener.port", [{datatype, integer}]}. @@ -58,6 +43,108 @@ {mapping, "management.listener.ssl", "rabbitmq_management.listener.ssl", [{datatype, {enum, [true, false]}}]}. + +%% SSL options section ======================================================== + +{mapping, "management.listener.ssl_opts.verify", "rabbitmq_management.listener.ssl_opts.verify", [ + {datatype, {enum, [verify_peer, verify_none]}}]}. + +{mapping, "management.listener.ssl_opts.fail_if_no_peer_cert", "rabbitmq_management.listener.ssl_opts.fail_if_no_peer_cert", [ + {datatype, {enum, [true, false]}}]}. + +{mapping, "management.listener.ssl_opts.cacertfile", "rabbitmq_management.listener.ssl_opts.cacertfile", + [{datatype, string}, {validators, ["file_accessible"]}]}. + +{mapping, "management.listener.ssl_opts.certfile", "rabbitmq_management.listener.ssl_opts.certfile", + [{datatype, string}, {validators, ["file_accessible"]}]}. + +{mapping, "management.listener.ssl_opts.cacerts.$name", "rabbitmq_management.listener.ssl_opts.cacerts", + [{datatype, string}]}. + +{translation, "rabbitmq_management.listener.ssl_opts.cacerts", +fun(Conf) -> + Settings = cuttlefish_variable:filter_by_prefix("management.listener.ssl_opts.cacerts", Conf), + [ list_to_binary(V) || {_, V} <- Settings ] +end}. + +{mapping, "management.listener.ssl_opts.cert", "rabbitmq_management.listener.ssl_opts.cert", + [{datatype, string}]}. + +{translation, "rabbitmq_management.listener.ssl_opts.cert", +fun(Conf) -> + list_to_binary(cuttlefish:conf_get("management.listener.ssl_opts.cert", Conf)) +end}. + +{mapping, "management.listener.ssl_opts.client_renegotiation", "rabbitmq_management.listener.ssl_opts.client_renegotiation", + [{datatype, {enum, [true, false]}}]}. + +{mapping, "management.listener.ssl_opts.crl_check", "rabbitmq_management.listener.ssl_opts.crl_check", + [{datatype, [{enum, [true, false, peer, best_effort]}]}]}. + +{mapping, "management.listener.ssl_opts.depth", "rabbitmq_management.listener.ssl_opts.depth", + [{datatype, integer}, {validators, ["byte"]}]}. + +{mapping, "management.listener.ssl_opts.dh", "rabbitmq_management.listener.ssl_opts.dh", + [{datatype, string}]}. + +{translation, "rabbitmq_management.listener.ssl_opts.dh", +fun(Conf) -> + list_to_binary(cuttlefish:conf_get("management.listener.ssl_opts.dh", Conf)) +end}. + +{mapping, "management.listener.ssl_opts.dhfile", "rabbitmq_management.listener.ssl_opts.dhfile", + [{datatype, string}, {validators, ["file_accessible"]}]}. + +{mapping, "management.listener.ssl_opts.honor_cipher_order", "rabbitmq_management.listener.ssl_opts.honor_cipher_order", + [{datatype, {enum, [true, false]}}]}. + +{mapping, "management.listener.ssl_opts.key.RSAPrivateKey", "rabbitmq_management.listener.ssl_opts.key", + [{datatype, string}]}. + +{mapping, "management.listener.ssl_opts.key.DSAPrivateKey", "rabbitmq_management.listener.ssl_opts.key", + [{datatype, string}]}. + +{mapping, "management.listener.ssl_opts.key.PrivateKeyInfo", "rabbitmq_management.listener.ssl_opts.key", + [{datatype, string}]}. + +{translation, "rabbitmq_management.listener.ssl_opts.key", +fun(Conf) -> + case cuttlefish_variable:filter_by_prefix("management.listener.ssl_opts.key", Conf) of + [{[_,_,Key], Val}|_] -> {list_to_atom(Key), list_to_binary(Val)}; + _ -> undefined + end +end}. + +{mapping, "management.listener.ssl_opts.keyfile", "rabbitmq_management.listener.ssl_opts.keyfile", + [{datatype, string}, {validators, ["file_accessible"]}]}. + +{mapping, "management.listener.ssl_opts.log_alert", "rabbitmq_management.listener.ssl_opts.log_alert", + [{datatype, {enum, [true, false]}}]}. + +{mapping, "management.listener.ssl_opts.password", "rabbitmq_management.listener.ssl_opts.password", + [{datatype, string}]}. + +{mapping, "management.listener.ssl_opts.psk_identity", "rabbitmq_management.listener.ssl_opts.psk_identity", + [{datatype, string}]}. + +{mapping, "management.listener.ssl_opts.reuse_sessions", "rabbitmq_management.listener.ssl_opts.reuse_sessions", + [{datatype, {enum, [true, false]}}]}. + +{mapping, "management.listener.ssl_opts.secure_renegotiate", "rabbitmq_management.listener.ssl_opts.secure_renegotiate", + [{datatype, {enum, [true, false]}}]}. + +{mapping, "management.listener.ssl_opts.versions.$version", "rabbitmq_management.listener.ssl_opts.versions", + [{datatype, atom}]}. + +{translation, "rabbitmq_management.listener.ssl_opts.versions", +fun(Conf) -> + Settings = cuttlefish_variable:filter_by_prefix("management.listener.ssl_opts.cacerts", Conf), + [ V || {_, V} <- Settings ] +end}. + +%% =========================================================================== + + %% One of 'basic', 'detailed' or 'none'. See %% http://www.rabbitmq.com/management.html#fine-stats for more details. %% {rates_mode, basic}, @@ -86,7 +173,7 @@ fun(Conf) -> Detailed = cuttlefish_variable:filter_by_prefix("management.sample_retention_policies.detailed", Conf), TranslateKey = fun("minute") -> 60; ("hour") -> 3600; - ("24hours") -> 86400; + ("day") -> 86400; (Other) -> list_to_integer(Other) end, TranslatePolicy = fun(Section) -> @@ -97,8 +184,6 @@ fun(Conf) -> {detailed, TranslatePolicy(Detailed)}] end}. - - {validator, "file_accessible", "file exists", fun(File) -> ReadFile = file:read_file_info(File), |
