rockandska.rabbitmq
ansible-role-rabbitmq
Ansible-Rolle zur Installation von RabbitMQ aus dem RabbitMQ-Repository. Verfügbar auf Ansible Galaxy
Ansible Galaxy :
Kompatibilität
RabbitMQ | |
---|---|
3.6.x | Abgekündigt |
3.7.x | Abgekündigt |
3.8 | OK |
> 3.8 | Nicht getestet |
Distribution | |
CentOS 7 | OK |
CentOS > 7 | Nicht getestet |
Debian 9 | OK |
Debian > 9 | Nicht getestet |
Ubuntu bionic | OK |
Ubuntu > bionic | Nicht getestet |
Anforderungen an Remote-Hosts
Alle Distributionen
- ansible-role-erlang angewendet (vergessen Sie nicht, eine erlang-Serie zu verwenden, die mit der RabbitMQ-Version kompatibel ist, die installiert wird. Siehe RabbitMQ-Dokumentation)
- socat
- logrotate
- python requests >= 1.0.0 (wenn Bindungen, Exchanges und Queue-Management von dieser Rolle verwendet wird)
- Für einen Cluster sollten die Hosts, die Teil des Clusters sind, über ihre Hostnamen auflösbar sein.
Debian / Ubuntu
- apt-transport-https
- gpg-agent
- ca-certificates
CentOS / RedHat
- gnupg2
Variablen der Rolle
Standardeinstellungen befinden sich in defaults/main.yml
---
###########
# Installation #
###########
rabbitmq_series: 3.8
rabbitmq_series_rpm_version:
rabbitmq_series_deb_version:
rabbitmq_rpm_repo_url: https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/rpm/el
rabbitmq_rpm_gpg_url: https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/gpg.9F4587F226208342.key
rabbitmq_rpm_repo_tpl: etc/yum.repos.d/rabbitmq.repo.j2
rabbitmq_rpm_disable_repo:
rabbitmq_rpm_enable_repo:
rabbitmq_deb_repo_url: https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/deb
rabbitmq_deb_gpg_url: https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/gpg.9F4587F226208342.key
rabbitmq_deb_repo_tpl: etc/apt/sources.list.d/rabbitmq.list.j2
rabbitmq_deb_pinning_tpl: etc/apt/preferences.d/rabbitmq.j2
#################
# Benutzerdefinierte Konfiguration #
#################
rabbitmq_vars_files: []
rabbitmq_sysctl_tpl: etc/rabbitmq/sysctl.conf.j2
rabbitmq_sysctl_config: {}
rabbitmq_erlang_tpl: etc/rabbitmq/erlang.config.j2
rabbitmq_erlang_config:
rabbitmq_env_tpl: etc/rabbitmq/rabbitmq-env.conf.j2
rabbitmq_env_config: {}
rabbitmq_node_name:
rabbitmq_systemd_override_tpl: etc/systemd/system/rabbitmq-server.service.d/override.conf.j2
rabbitmq_systemd_override: {}
rabbitmq_custom_logrotate_tpl: etc/logrotate.d/rabbitmq-server.j2
rabbitmq_custom_logrotate:
rabbitmq_users_groups: []
###########
# Cluster #
###########
rabbitmq_is_master:
rabbitmq_slave_of:
rabbitmq_peer_discovery_classic: true
rabbitmq_cluster_node_type: disc
rabbitmq_internode_ssl_config:
###########
# Plugins #
###########
rabbitmq_plugins_to_enable: []
rabbitmq_plugins_to_disable: []
#########
# Benutzer #
#########
rabbitmq_users_to_create: []
rabbitmq_users_to_delete: []
#####################
# Globale Parameter #
#####################
rabbitmq_global_parameters_to_create: []
rabbitmq_global_parameters_to_delete: []
############
# API-Benutzer #
############
rabbitmq_management_user:
rabbitmq_management_password:
rabbitmq_management_host:
rabbitmq_management_port:
rabbitmq_management_protocol:
rabbitmq_management_ca_cert:
rabbitmq_management_client_cert:
rabbitmq_management_client_key:
##########
# Vhosts #
##########
rabbitmq_vhosts_to_create: []
rabbitmq_vhosts_to_delete: []
##########
# Queues #
##########
rabbitmq_queues_to_create: []
rabbitmq_queues_to_delete: []
############
# Exchanges #
############
rabbitmq_exchanges_to_create: []
rabbitmq_exchanges_to_delete: []
############
# Bindings #
############
rabbitmq_bindings_to_create: []
rabbitmq_bindings_to_delete: []
############
# Richtlinien #
############
rabbitmq_policies_to_create: []
rabbitmq_policies_to_delete: []
##############
# Parameter #
##############
rabbitmq_parameters_to_create: []
rabbitmq_parameters_to_delete: []
#########
# Debug #
#########
rabbitmq_hide_log: true
Details
rabbitmq_series
- sollte eine Fließkommazahl sein (3.8 verfügbar am 07.07.2021)
rabbitmq_rpm_repo_url
- Basis-URL des Repositories, das für die yum-Vorlage verwendet wird
rabbitmq_rpm_gpg_url
- gpg-Schlüssel, der für die yum-Vorlage verwendet wird
rabbitmq_rpm_repo_tpl
- Pfad zur yum-Repository-Vorlage
- Wenn Sie Ihre eigene Vorlage verwenden möchten,
- fügen Sie Ihre Vorlage neben Ihrem Playbook im Verzeichnis
templates
hinzu - verwenden Sie einen anderen Pfad als den Standard
- behalten Sie den Repositorynamen als
rabbitmq
- fügen Sie Ihre Vorlage neben Ihrem Playbook im Verzeichnis
rabbitmq_series_rpm_version
- installieren Sie eine bestimmte Version der
rabbitmq_series
für Centos / Redhat-Systeme - Beispiel:
3.8.11-1.el7 3.8.10-1.el7 3.8.9-1.el7 3.8.8-1.el7
- installieren Sie eine bestimmte Version der
rabbitmq_rpm_disable_repo
verwendet, wenn Sie die Möglichkeit nutzen möchten, einige Repositories beim Installieren von RabbitMQ zu deaktivieren
Standard: ""
Beispiel:
rabbitmq_rpm_disable_repo: "*"
rabbitmq_rpm_enable_repo
verwendet, wenn Sie die Möglichkeit nutzen möchten, nur einige Repositories zu aktivieren, falls Sie
rabbitmq_rpm_disable_repo: "*"
bei der Installation von RabbitMQ verwendenStandard: ""
Beispiel:
rabbitmq_rpm_enable_repo: "rabbitmq"
rabbitmq_deb_repo_url
- Basis-URL des Repositories, das für die apt-Vorlage verwendet wird
rabbitmq_deb_gpg_url
- gpg-Schlüssel, der für die apt-Vorlage verwendet wird
rabbitmq_deb_repo_tpl
- Pfad zur apt-Repository-Vorlage
- Wenn Sie Ihre eigene Vorlage verwenden möchten,
- fügen Sie Ihre Vorlage neben Ihrem Playbook im Verzeichnis
templates
hinzu - verwenden Sie einen anderen Pfad als den Standard
- fügen Sie Ihre Vorlage neben Ihrem Playbook im Verzeichnis
rabbitmq_deb_pinning_tpl
- Pfad zur apt-Pinning-Vorlage
- Wenn Sie Ihre eigene Vorlage verwenden möchten,
- fügen Sie Ihre Vorlage neben Ihrem Playbook im Verzeichnis
templates
hinzu - verwenden Sie einen anderen Pfad als den Standard
- fügen Sie Ihre Vorlage neben Ihrem Playbook im Verzeichnis
rabbitmq_series_deb_version
- installieren Sie eine bestimmte Version der
rabbitmq_series
für Debian-Systeme - Beispiel:
3.8.11-1 3.8.10-1 3.8.9-1 3.8.8-1
- installieren Sie eine bestimmte Version der
rabbitmq_vars_files
- Liste von Variablendateien, die verwendet werden, um Standardvariablen bei Bedarf zu überschreiben
- wenn relative Pfade verwendet werden, legen Sie diese Dateien neben Ihrem Playbook im Verzeichnis
vars
- Beispiel:
rabbitmq_vars_files: - settings.yml
rabbitmq_sysctl_tpl
- Pfad zur RabbitMQ-Sysctl-Konfigurationsvorlage
- gilt nur für Versionen >= 3.7 (Siehe RabbitMQ-Dokumente)
- Wenn Sie Ihre eigene Vorlage verwenden möchten,
- fügen Sie Ihre Vorlage neben Ihrem Playbook im Verzeichnis
templates
hinzu - verwenden Sie einen anderen Pfad als den Standard
- fügen Sie Ihre Vorlage neben Ihrem Playbook im Verzeichnis
rabbitmq_sysctl_config
- ein Wörterbuch, das die benutzerdefinierte RabbitMQ-Sysctl-Konfiguration darstellt, die angewendet werden soll
- jede Ebene des Wörterbuchs wird durch einen Punkt verbunden.
- Stellen Sie spezielle Variablen in doppelte Anführungszeichen (Beispiel: "true")
- Beispiele:
rabbitmq_sysctl_config: listeners: tcp: default: 5673 tcp_listen_options: linger: on: "true" # Resultiert in rabbitmq.conf als: # tcp_listen_options.linger.on = true # listeners.tcp.default = 5673
rabbitmq_erlang_tpl
- Pfad zur RabbitMQ-Erlang-Konfigurationsvorlage
- Wenn Sie Ihre eigene Vorlage verwenden möchten,
- fügen Sie Ihre Vorlage neben Ihrem Playbook im Verzeichnis
templates
hinzu - verwenden Sie einen anderen Pfad als den Standard
- fügen Sie Ihre Vorlage neben Ihrem Playbook im Verzeichnis
rabbitmq_erlang_config
- ein mehrzeiliger String mit der RabbitMQ-Konfiguration im Erlang-Format, die angewendet werden soll
- wird als rabbitmq.config für Versionen <=3.6 verwendet
- wird als advanced.conf für Versionen >=3.7 verwendet
- umhüllen Sie die Konfiguration nicht mit
[
und]
. Das geschieht innerhalb der Vorlage - Beispiel:
rabbitmq_erlang_config: | {rabbit, [ {tcp_listeners, [{"127.0.0.1", 5672}]} ] }
rabbitmq_env_tpl
- Pfad zur RabbitMQ-Umgebungs-Konfigurationsvorlage
- wenn Sie Ihre eigene Vorlage verwenden möchten,
- fügen Sie Ihre Vorlage neben Ihrem Playbook im Verzeichnis
templates
hinzu - verwenden Sie einen anderen Pfad als den Standard
- fügen Sie Ihre Vorlage neben Ihrem Playbook im Verzeichnis
- einige Umgebungsvariablen werden automatisch gesetzt, wenn SSL für die Internodes aktiviert ist
- ERL_SSL_PATH
- SERVER_ADDITIONAL_ERL_ARGS
- RABBITMQ_CTL_ERL_ARGS
rabbitmq_env_config
:- ein Wörterbuch, das die Umgebungs-Konfiguration darstellt
- der Schlüssel sollte der Name der Umgebungsvariablen sein
- der Wert sollte der Inhalt der Variablen sein
- Beispiel:
rabbitmq_env_config: NODENAME: "bunny@myhost"
rabbitmq_node_name
:- ein String, der den zu verwendenden Knotennamen darstellt
- verwenden Sie ihn, wenn Sie den Nodename über rabbitmq_env_config ändern
- Beispiel:
rabbitmq_node_name: "bunny@myhost"
rabbitmq_systemd_override_tpl
- Pfad zur RabbitMQ-Systemd-Überschreibvorlage
- wenn Sie Ihre eigene Vorlage verwenden möchten,
- fügen Sie Ihre Vorlage neben Ihrem Playbook im Verzeichnis
templates
hinzu - verwenden Sie einen anderen Pfad als den Standard
- fügen Sie Ihre Vorlage neben Ihrem Playbook im Verzeichnis
rabbitmq_systemd_override
- ein Wörterbuch, das die Systemd-Überschreibkonfiguration darstellt
- die erste Ebene wird für die ini-Sektion verwendet
- die zweite Ebene wird für den Schlüssel/Wert verwendet
- Beispiel:
rabbitmq_systemd_override: Service: LimitNOFILE: 30000 # Resultiert in der Systemd-Überschreibdatei als: # [Service] # LimitNOFILE=30000
rabbitmq_custom_logrotate_tpl
- Pfad zur benutzerdefinierten Logrotationsvorlage von RabbitMQ
- wenn Sie Ihre eigene Vorlage verwenden möchten,
- fügen Sie Ihre Vorlage neben Ihrem Playbook im Verzeichnis
templates
hinzu - verwenden Sie einen anderen Pfad als den Standard
- fügen Sie Ihre Vorlage neben Ihrem Playbook im Verzeichnis
rabbitmq_custom_logrotate
ein mehrzeiliger String mit den Logrotate-Optionen für RabbitMQ-Logs
wird die Standardkonfiguration überschreiben
/!\ Seien Sie sich bewusst, dass wenn Sie die Standard-Logrotate-Konfiguration durch eine benutzerdefinierte ersetzen, die angewendete Konfiguration bestehen bleibt, auch wenn Sie diese Variable zurücksetzen
Beispiel:
rabbitmq_custom_logrotate: | weekly missingok rotate 40 compress notifempty # Resultiert in der Logrotate-Konfigurationsdatei als: # /var/log/rabbitmq/*.log { # weekly # missingok # rotate 40 # compress # notifempty # }
rabbitmq_users_groups
eine Liste von Benutzern und Benutzermodulargumenten (Name, Gruppen, Anhängen)
wird verwendet, um Benutzer nach der RabbitMQ-Installation Gruppen zuzuweisen/hinzufügen
Beispiel:
rabbitmq_users_groups: - name: rabbitmq groups: ssl-cert append: true
rabbitmq_is_master
true / false
markiert den Host als Master
nicht obligatorisch bei der Standalone-Installation
wird nur verwendet, um zu wissen, auf welchem Knoten die API-Aufrufe und Befehle ausgeführt werden und wo das Cookie propagiert wird.
Beispiel:
rabbitmq_is_master: true
rabbitmq_slave_of
Inventarname des Masters, dem beigetreten werden soll
markiert den Host als Slave
nicht obligatorisch bei der Standalone-Installation
muss ein Hostname/IP/Alias sein, der im Inventar existiert
Beispiel:
rabbitmq_slave_of: rabbitmq-master.internal
rabbitmq_peer_discovery_classic
- Standard: true
- die Clusterkonfiguration wird automatisch generiert und zur Konfigurationsdatei hinzugefügt, basierend auf den Inventarnamen (hängt von
rabbitmq_is_master
,rabbitmq_slave_of
Rollenvariablen ab).
rabbitmq_cluster_node_type
- Standard: disc
- ob der Knoten vom Typ
disc
oderram
ist
rabbitmq_internode_ssl_config
- verwendet, um dedizierte Internode-Konfigurationen zu schreiben (siehe RabbitMQ-Dokumentation)
- wenn gesetzt, wird der Teil, der zu
/etc/rabbitmq/rabbitmq-env.conf
hinzugefügt werden muss, automatisch erledigt. - Beispiel:
rabbitmq_internode_ssl_config: | [ {server, [ {cacertfile, "/etc/ssl/private/Custom_Bundle-CA.pem"}, {certfile, "/usr/local/share/ca-certificates/{{ ansible_hostname }}.crt"}, {keyfile, "/etc/ssl/private/{{ ansible_hostname }}.key"}, {secure_renegotiate, true} ]}, {client, [ {cacertfile, "/etc/ssl/private/Custom_Bundle-CA.pem"}, {certfile, "/usr/local/share/ca-certificates/{{ ansible_hostname }}.crt"}, {keyfile, "/etc/ssl/private/{{ ansible_hostname }}.key"}, {secure_renegotiate, true} ]} ].
rabbitmq_users_to_create
Liste von Wörterbüchern zur Benutzererstellung
verweisen Sie auf Ansible-Dokumente für erforderliche Optionen und Versionskompatibilität
Beispiel:
rabbitmq_users_to_create: - user: admin password: admin vhost: vhost_test configure_priv: .* read_priv: .* write_priv: .* tags: administrator
rabbitmq_users_to_delete
Liste der zu löschenden Benutzer
Beispiel:
rabbitmq_users_to_delete: - guest
rabbitmq_global_parameters_to_create
Liste von globalen Parametern, die erstellt werden sollen
verweisen Sie auf Ansible-Dokumente für erforderliche Optionen und Versionskompatibilität
value
wird in der Aufgabe in json umgewandeltBeispiel:
rabbitmq_global_parameters_to_create: - name: cluster_name value: mq-cluster
rabbitmq_global_parameters_to_delete
Liste von globalen Parametern, die gelöscht werden sollen
verweisen Sie auf Ansible-Dokumente für erforderliche Optionen und Versionskompatibilität
value
wird in der Aufgabe in json umgewandeltBeispiel:
rabbitmq_global_parameters_to_delete: - name: cluster_name
rabbitmq_management_user
- Benutzer, der vom RabbitMQ-Management-Plugin verwendet wird
- Wird verwendet, wenn eine oder mehrere dieser Konfigurationen gesetzt sind:
rabbitmq_exchanges_to_create
rabbitmq_exchanges_to_delete
rabbitmq_bindings_to_create
rabbitmq_bindings_to_delete
- Vergessen Sie nicht, rabbitmq_management so zu konfigurieren, dass nur Verbindungen vom localhost erlaubt sind, falls nötig
rabbitmq_management_password
Passwort für den Benutzer, der vom RabbitMQ-Management-Plugin verwendet wird
Wird verwendet, wenn eine oder mehrere dieser Konfigurationen gesetzt sind:
rabbitmq_exchanges_to_create
rabbitmq_exchanges_to_delete
rabbitmq_bindings_to_create
rabbitmq_bindings_to_delete
Vergessen Sie nicht, rabbitmq_management so zu konfigurieren, dass nur Verbindungen vom localhost erlaubt sind, falls nötig
rabbitmq_management_host
- Standard: localhost
- Wird verwendet, wenn eine oder mehrere dieser Konfigurationen gesetzt sind:
rabbitmq_exchanges_to_create
rabbitmq_exchanges_to_delete
rabbitmq_bindings_to_create
rabbitmq_bindings_to_delete
- Vergessen Sie nicht, rabbitmq_management so zu konfigurieren, dass nur Verbindungen vom localhost erlaubt sind, falls nötig
rabbitmq_management_port
- Standard: 15672
- Wird verwendet, wenn eine oder mehrere dieser Konfigurationen gesetzt sind:
rabbitmq_exchanges_to_create
rabbitmq_exchanges_to_delete
rabbitmq_bindings_to_create
rabbitmq_bindings_to_delete
- Vergessen Sie nicht, rabbitmq_management so zu konfigurieren, dass nur Verbindungen vom localhost erlaubt sind, falls nötig
rabbitmq_management_protocol
- Standard: http
- Wird verwendet, wenn eine oder mehrere dieser Konfigurationen gesetzt sind:
rabbitmq_exchanges_to_create
rabbitmq_exchanges_to_delete
rabbitmq_bindings_to_create
rabbitmq_bindings_to_delete
- Vergessen Sie nicht, rabbitmq_management so zu konfigurieren, dass nur Verbindungen vom localhost erlaubt sind, falls nötig
rabbitmq_management_ca_cert
- CA-Zertifikat zur Überprüfung der SSL-Verbindung zur Management-API
- Wird verwendet, wenn eine oder mehrere dieser Konfigurationen gesetzt sind:
rabbitmq_exchanges_to_create
rabbitmq_exchanges_to_delete
rabbitmq_bindings_to_create
rabbitmq_bindings_to_delete
- Vergessen Sie nicht, rabbitmq_management so zu konfigurieren, dass nur Verbindungen vom localhost erlaubt sind, falls nötig
rabbitmq_management_client_cert
- Client-Zertifikat, das bei SSL-Verbindungen zur Management-API gesendet wird.
- Wird verwendet, wenn eine oder mehrere dieser Konfigurationen gesetzt sind:
rabbitmq_exchanges_to_create
rabbitmq_exchanges_to_delete
rabbitmq_bindings_to_create
rabbitmq_bindings_to_delete
- Vergessen Sie nicht, rabbitmq_management so zu konfigurieren, dass nur Verbindungen vom localhost erlaubt sind, falls nötig
rabbitmq_management_client_key
- Privater Schlüssel, der dem Client-Zertifikat entspricht.
- Wird verwendet, wenn eine oder mehrere dieser Konfigurationen gesetzt sind:
rabbitmq_exchanges_to_create
rabbitmq_exchanges_to_delete
rabbitmq_bindings_to_create
rabbitmq_bindings_to_delete
- Vergessen Sie nicht, rabbitmq_management so zu konfigurieren, dass nur Verbindungen vom localhost erlaubt sind, falls nötig
rabbitmq_plugins_to_enable
Liste von Plugins, die aktiviert werden sollen
Beispiel:
rabbitmq_plugins_to_enable: - rabbitmq_management - rabbitmq_shovel
rabbitmq_plugins_to_disable
Liste von Plugins, die deaktiviert werden sollen
Beispiel:
rabbitmq_plugins_to_disable: - rabbitmq_shovel
rabbitmq_vhosts_to_create
Liste von Wörterbüchern zur Erstellung von vhosts
verweisen Sie auf Ansible-Dokumente für erforderliche Optionen und Versionskompatibilität
Beispiel:
rabbitmq_vhosts_to_create: - name: vhost_test tracing: yes
rabbitmq_vhosts_to_delete
Liste der vhosts, die gelöscht werden sollen
Beispiel:
rabbitmq_vhosts_to_delete: - /
rabbitmq_queues_to_create
Liste der zu erstellenden Queues
verweisen Sie auf Ansible-Dokumente für erforderliche Optionen und Versionskompatibilität
Beispiel:
rabbitmq_queues_to_create: - name: queue_test vhost: vhost_test
rabbitmq_queues_to_delete
Liste der zu löschenden Queues
verweisen Sie auf Ansible-Dokumente für erforderliche Optionen und Versionskompatibilität
Beispiel:
rabbitmq_queues_to_delete: - name: queue_test vhost: vhost_test
rabbitmq_exchanges_to_create
Liste von Exchanges, die erstellt werden sollen
verweisen Sie auf Ansible-Dokumente für erforderliche Optionen und Versionskompatibilität
Beispiel:
rabbitmq_exchanges_to_create: - name: exchange_test vhost: vhost_test
rabbitmq_exchanges_to_delete
Liste von Exchanges, die gelöscht werden sollen
verweisen Sie auf Ansible-Dokumente für erforderliche Optionen und Versionskompatibilität
Beispiel:
rabbitmq_exchanges_to_delete: - name: exchange_test vhost: vhost_test
rabbitmq_bindings_to_create
Liste von Bindings, die erstellt werden sollen
verweisen Sie auf Ansible-Dokumente für erforderliche Optionen und Versionskompatibilität
Beispiel:
rabbitmq_bindings_to_create: - name: exchange_test destination: queue_test destination_type: queue vhost: vhost_test
rabbitmq_bindings_to_delete
Liste von Bindings, die gelöscht werden sollen
verweisen Sie auf Ansible-Dokumente für erforderliche Optionen und Versionskompatibilität
Beispiel:
rabbitmq_bindings_to_delete: - name: exchange_test destination: queue_test destination_type: queue vhost: vhost_test
rabbitmq_policies_to_create
Liste von Richtlinien, die erstellt werden sollen
verweisen Sie auf Ansible-Dokumente für erforderliche Optionen und Versionskompatibilität
Beispiel:
rabbitmq_policies_to_create: - name: HA vhost: vhost_test pattern: .* tags: ha-mode: all
rabbitmq_policies_to_delete
Liste von Richtlinien, die gelöscht werden sollen
verweisen Sie auf Ansible-Dokumente für erforderliche Optionen und Versionskompatibilität
Beispiel:
rabbitmq_policies_to_delete: - name: HA vhost: vhost_test
rabbitmq_parameters_to_create
Liste von Parametern, die erstellt werden sollen
verweisen Sie auf Ansible-Dokumente für erforderliche Optionen und Versionskompatibilität
value
wird in der Aufgabe in json umgewandeltBeispiel:
rabbitmq_parameters_to_create: - name: federation-test component: federation-upstream value: uri: amqp://admin:admin@localhost prefetch-count: 1 vhost: vhost_test
rabbitmq_parameters_to_delete
Liste von Parametern, die gelöscht werden sollen
verweisen Sie auf Ansible-Dokumente für erforderliche Optionen und Versionskompatibilität
Beispiel:
rabbitmq_parameters_to_delete: - component: federation name: local-username
rabbitmq_hide_log
- Standard: true
- keine Protokolle für API-Aufrufe anzeigen, um das Leaken sensibler Informationen zu vermeiden
- auf false setzen für Debugging
Beispiel-Playbook
Standalone
- hosts: rabbitmq
roles:
- rockandska.erlang
- rockandska.rabbitmq
Cluster
Da der Master-Knoten gestartet sein muss, bevor die Slaves beitreten, führen Sie die Cluster-Bereitstellung in zwei Schritten durch.
- hosts: rabbitmq-master
roles:
- role: rockandska.erlang
- role: rockandska.rabbitmq
vars:
rabbitmq_is_master: true
- hosts: rabbitmq-slave
roles:
- role: rockandska.erlang
- role: rockandska.rabbitmq
vars:
rabbitmq_slave_of: rabbitmq-master
Lokales Testen
Anforderungen
python3 <3.8 docker
Tests ausführen
$ make test
Nach dem ersten Durchlauf sollten zusätzliche Ziele für jede Tox-Umgebung / Molekularszene durch Auto-Vervollständigung verfügbar sein.
Um zu debuggen und einen benutzerdefinierten Molekülbefehl in einer benutzerdefinierten Umgebung mit nur dem Standard-Test-Szenario auszuführen:
$ source tmp/bin/activate
$ tox -e py3-ansible27 -- molecule test -s default
Für weitere Informationen über Molecule gehen Sie zu deren Dokumentation.
Wenn Sie Tests auf einem Remote-Docker-Host ausführen möchten, geben Sie einfach die Variable DOCKER_HOST
an, bevor Sie die Tox-Tests ausführen.
Lizenz
BSD
ansible-galaxy install rockandska.rabbitmq