Files
83d8ec2a3049e81c8cdb07acc97f16ab2d57e08e
openstack-ansible-rabbitmq_... /templates /rabbitmq.conf.j2
Niklas Schwarz e46cf7c988 Add ability to add custom configuration for RabbitMQ
This implements a new variable rabbitmq_custom_config to
be able to place custom configuration to the rabbitmq.conf
e.g. to configure installed plugins
Change-Id: I952eefe646b00f60184f8d353f6f055bbdc4ac90
2023年11月07日 09:50:42 +01:00

85 lines
2.9 KiB
Django/Jinja

collect_statistics_interval = {{ rabbitmq_collect_statistics_interval }}
log.journald = true
log.file = false
heartbeat = 640
ssl_handshake_timeout = 20000
handshake_timeout = 40000
{% for key, value in rabbitmq_port_bindings.items() %}
{% if 'tcp' in key %}
{% set _opt = 'tcp' %}
{% elif 'ssl' in key %}
{% set _opt = 'ssl' %}
{% endif %}
{% for _key, _value in value.items() %}
listeners.{{ _opt }}.{{ loop.index }} = {{ _key }}:{{ _value }}
{% endfor %}
{% endfor %}
ssl_options.certfile = {{ rabbitmq_ssl_cert }}
ssl_options.keyfile = {{ rabbitmq_ssl_key }}
{% if rabbitmq_user_ssl_ca_cert is defined -%}
ssl_options.cacertfile = {{ rabbitmq_ssl_ca_cert }}
{% endif %}
ssl_options.honor_cipher_order = true
ssl_options.honor_ecc_order = true
{% if "tlsv1.3" not in rabbitmq_ssl_tls_versions %}
ssl_options.client_renegotiation = false
ssl_options.secure_renegotiate = true
{% endif %}
{% for version in rabbitmq_ssl_tls_versions %}
ssl_options.versions.{{ loop.index }} = {{ version }}
{% endfor %}
{% for cipher in rabbitmq_ssl_ciphers %}
ssl_options.ciphers.{{ loop.index }} = {{ cipher }}
{% endfor %}
ssl_options.verify = {{ rabbitmq_ssl_verify | lower }}
ssl_options.fail_if_no_peer_cert = {{ rabbitmq_ssl_fail_if_no_peer_cert | lower }}
{% if rabbitmq_memory_high_watermark is float %}
{% set watermark_type = 'relative' %}
{% else %}
{% set watermark_type = 'absolute' %}
{% endif %}
vm_memory_high_watermark.{{ watermark_type }} = {{ rabbitmq_memory_high_watermark }}
cluster_partition_handling = {{ rabbitmq_cluster_partition_handling }}
# Management plugin configuration
{% if rabbitmq_management_ssl %}
management.ssl.ip = {{ rabbitmq_management_bind_address }}
management.ssl.port = {{ rabbitmq_management_bind_tls_port }}
management.ssl.certfile = {{ rabbitmq_ssl_cert }}
management.ssl.keyfile = {{ rabbitmq_ssl_key }}
{% if rabbitmq_user_ssl_ca_cert is defined -%}
management.ssl.cacertfile = {{ rabbitmq_ssl_ca_cert }}
{% endif %}
management.ssl.honor_cipher_order = true
management.ssl.honor_ecc_order = true
{% if "tlsv1.3" not in rabbitmq_ssl_tls_versions %}
management.ssl.client_renegotiation = false
management.ssl.secure_renegotiate = true
{% endif %}
{% for version in rabbitmq_ssl_tls_versions %}
management.ssl.versions.{{ loop.index }} = {{ version }}
{% endfor %}
{% for cipher in rabbitmq_ssl_ciphers %}
management.ssl.ciphers.{{ loop.index }} = {{ cipher }}
{% endfor %}
management.ssl.verify = {{ rabbitmq_ssl_verify | lower }}
management.ssl.fail_if_no_peer_cert = {{ rabbitmq_ssl_fail_if_no_peer_cert | lower }}
{% else %}
management.tcp.ip = {{ rabbitmq_management_bind_address }}
management.tcp.port = {{ rabbitmq_management_bind_tcp_port }}
{% endif %}
{% if rabbitmq_additional_config | length > 0 %}
# Custom configuration
{% for config_key, config_value in rabbitmq_additional_config.items() %}
{{ config_key }} = {{ config_value }}
{% endfor %}
{% endif %}