- name: Configure the mbs-private-queue virtual host run_once: true delegate_to: "rabbitmq01{{ env_suffix }}.iad2.fedoraproject.org" rabbitmq_vhost: name: /mbs-private-queue state: present tags: - mbs-private-queue - name: Configure the HA policy for the mbs-private-queue queues run_once: true delegate_to: "rabbitmq01{{ env_suffix }}.iad2.fedoraproject.org" rabbitmq_policy: name: HA apply_to: queues pattern: .* tags: ha-mode: all ha-sync-mode: automatic # Auto sync queues to new cluster members ha-sync-batch-size: 10000 # Larger is faster, but must finish in 1 net_ticktime vhost: /mbs-private-queue tags: - mbs-private-queue - name: Add a policy to limit queues to 1GB and remove after a month of no use run_once: true delegate_to: "rabbitmq01{{ env_suffix }}.iad2.fedoraproject.org" rabbitmq_policy: apply_to: queues name: pubsub_sweeper state: present pattern: ".*" tags: # Unused queues are killed after 1000 * 60 * 60 * 31 milliseconds (~a month) expires: 111600000 # Queues can use at most 1GB of storage max-length-bytes: 1073741824 vhost: /mbs-private-queue tags: - mbs-private-queue - name: Create the mbs-private-queue user for the mbs-private-queue vhost (prod) run_once: true delegate_to: "rabbitmq01{{ env_suffix }}.iad2.fedoraproject.org" rabbitmq_user: user: mbs-private-queue password: "{{ (env == 'production')|ternary(rabbitmq_mbs_private_queue_admin_password_production, rabbitmq_mbs_private_queue_admin_password_staging) }}" vhost: /mbs-private-queue configure_priv: .* read_priv: .* write_priv: .* tags: - mbs-private-queue - name: Dump the admin password in a file for administrative operations run_once: true delegate_to: "rabbitmq01{{ env_suffix }}.iad2.fedoraproject.org" copy: dest: /root/.mbs-private-queue-rabbitmqpass content: "{{ (env == 'production')|ternary(rabbitmq_mbs_private_queue_admin_password_production, rabbitmq_mbs_private_queue_admin_password_staging) }}" mode: 0600 owner: root group: root tags: - mbs-private-queue - name: Grant the admin user access to the mbs-private-queue vhost run_once: true delegate_to: "rabbitmq01{{ env_suffix }}.iad2.fedoraproject.org" rabbitmq_user: user: admin vhost: /mbs-private-queue configure_priv: .* read_priv: .* write_priv: .* tags: administrator tags: - mbs-private-queue - name: Create a user for mbs-private-queue access run_once: true delegate_to: "rabbitmq01{{ env_suffix }}.iad2.fedoraproject.org" rabbitmq_user: user: "mbs-private-queue{{ env_suffix }}" vhost: /mbs-private-queue configure_priv: .* write_priv: .* read_priv: .* state: present tags: - mbs-private-queue