--- - name: Install requirements ansible.builtin.apt: name: "{{ item }}" state: present with_items: - gnupg - curl - apt-transport-https - debian-keyring tags: install,conf - name: Import cloudsmith key (Rabbitmq-server) ansible.builtin.get_url: url: "https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/gpg.9F4587F226208342.key" dest: "/usr/share/keyrings/rabbitmq.9F4587F226208342.asc" mode: 0644 force: true tags: install - name: Import cloudsmith key (Erlang) ansible.builtin.get_url: url: "https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key" dest: "/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg" mode: 0644 force: true tags: install - name: Import cloudsmith key (Erlang) - 2 ansible.builtin.get_url: url: "https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key" dest: "/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg" mode: 0644 force: true tags: install - name: Add rabbitmq repository ansible.builtin.apt_repository: filename: rabbitmq repo: "{{ item }}" with_items: - 'deb [arch=amd64 signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa1.rabbitmq.com/rabbitmq/rabbitmq-erlang/deb/debian bookworm main' - 'deb-src [signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa1.rabbitmq.com/rabbitmq/rabbitmq-erlang/deb/debian bookworm main' - 'deb [arch=amd64 signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa2.rabbitmq.com/rabbitmq/rabbitmq-erlang/deb/debian bookworm main' - 'deb-src [signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa2.rabbitmq.com/rabbitmq/rabbitmq-erlang/deb/debian bookworm main' - 'deb [arch=amd64 signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa1.rabbitmq.com/rabbitmq/rabbitmq-server/deb/debian bookworm main' - 'deb-src [signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa1.rabbitmq.com/rabbitmq/rabbitmq-server/deb/debian bookworm main' - 'deb [arch=amd64 signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa2.rabbitmq.com/rabbitmq/rabbitmq-server/deb/debian bookworm main' - 'deb-src [signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa2.rabbitmq.com/rabbitmq/rabbitmq-server/deb/debian bookworm main' tags: install - name: Install Erlang packages ansible.builtin.apt: name: "{{ item }}" state: present with_items: - erlang-base - erlang-asn1 - erlang-crypto - erlang-eldap - erlang-ftp - erlang-inets - erlang-mnesia - erlang-os-mon - erlang-parsetools - erlang-public-key - erlang-runtime-tools - erlang-snmp - erlang-ssl - erlang-syntax-tools - erlang-tftp - erlang-tools - erlang-xmerl tags: install - name: Install rabbitmq-server ansible.builtin.apt: name: "rabbitmq-server" state: present tags: install - name: Hold rabbitmq and Erlang packages ansible.builtin.dpkg_selections: name: "{{ item }}" selection: hold with_items: - rabbitmq-server - erlang-base tags: install - name: Create systemd rabbit override directory ansible.builtin.file: path: "/etc/systemd/system/rabbitmq-server.service.d" state: directory owner: root group: root mode: 0755 tags: install - name: Set LimitNOFILE ansible.builtin.copy: src: limits.conf dest: "/etc/systemd/system/rabbitmq-server.service.d/limits.conf" mode: 0644 owner: root group: root tags: install notify: - Daemon_reload - Restart Rabbitmq - name: Set Erlang cookie ansible.builtin.template: src: erlang.cookie dest: /var/lib/rabbitmq/.erlang.cookie owner: rabbitmq group: rabbitmq mode: 0400 tags: install notify: Restart Rabbitmq - name: Ensure rabbitmq-server service is enabled ansible.builtin.systemd_service: name: rabbitmq-server.service enabled: true tags: install - name: Deploy rabbitmq config file ansible.builtin.template: src: rabbitmq.conf.j2 dest: /etc/rabbitmq/rabbitmq.conf mode: 0644 owner: rabbitmq group: rabbitmq notify: Restart Rabbitmq tags: install - name: Deploy rabbitmq env file ansible.builtin.template: src: rabbitmq-env.conf.j2 dest: /etc/rabbitmq/rabbitmq-env.conf mode: 0644 owner: rabbitmq group: rabbitmq notify: Restart Rabbitmq tags: install - name: Deploy logrotate conf ansible.builtin.copy: src: logrotate dest: /etc/logrotate.d/rabbitmq-server mode: 0644 user: root group: root tags: install