From 36bbcbc2e14f589317d8b2c764a5b63e11e5fe68 Mon Sep 17 00:00:00 2001 From: ionutboangiu Date: Mon, 16 Oct 2023 11:28:04 -0400 Subject: [PATCH] Update rabbitmq role for latest debian/ubuntu compatibility --- .../ansible/roles/rabbitmq/defaults/main.yaml | 21 +++--- data/ansible/roles/rabbitmq/tasks/main.yaml | 75 +++++++++---------- 2 files changed, 46 insertions(+), 50 deletions(-) diff --git a/data/ansible/roles/rabbitmq/defaults/main.yaml b/data/ansible/roles/rabbitmq/defaults/main.yaml index eab5f3ea4..43750693b 100644 --- a/data/ansible/roles/rabbitmq/defaults/main.yaml +++ b/data/ansible/roles/rabbitmq/defaults/main.yaml @@ -1,17 +1,16 @@ ---- -rabbitmq_dependencies: +rabbitmq_keys: + - url: "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" + dest: "/usr/share/keyrings/com.rabbitmq.team.gpg" + - url: "https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key" + dest: "/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg" + - url: "https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key" + dest: "/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg" +rabbitmq_dependencies: - curl - gnupg - - debian-keyring - - debian-archive-keyring - apt-transport-https -rabbitmq_main_key: "0A9AF2115F4687BD29803A206B73A36E6026DFCA" -rabbitmq_main_keyring: "/usr/share/keyrings/com.rabbitmq.team.gpg" -erlang_key: "f77f1eda57ebb1cc" -erlang_keyring: "/usr/share/keyrings/net.launchpad.ppa.rabbitmq.erlang.gpg" -rabbitmq_repo_key_url: "https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey" -rabbitmq_repo_keyring: "/usr/share/keyrings/io.packagecloud.rabbitmq.gpg" -erlang_packages: + +erlang_dependencies: - erlang-base - erlang-asn1 - erlang-crypto diff --git a/data/ansible/roles/rabbitmq/tasks/main.yaml b/data/ansible/roles/rabbitmq/tasks/main.yaml index 006e86757..047fe19be 100644 --- a/data/ansible/roles/rabbitmq/tasks/main.yaml +++ b/data/ansible/roles/rabbitmq/tasks/main.yaml @@ -1,52 +1,49 @@ --- -- name: Install RabbitMQ dependencies +- name: Install dependencies become: yes - apt: + ansible.builtin.apt: name: "{{ rabbitmq_dependencies }}" state: present + +- name: Download RabbitMQ keys + become: yes + ansible.builtin.get_url: + url: "{{ item.url }}" + dest: "{{ item.dest }}_armored" + loop: "{{ rabbitmq_keys }}" + +- name: De-Armor RabbitMQ keys + become: yes + shell: gpg --dearmor < {{ item.dest }}_armored > {{ item.dest }} + no_log: true + args: + creates: "{{ item.dest }}" + loop: "{{ rabbitmq_keys }}" + +- name: Add RabbitMQ APT repositories + become: yes + ansible.builtin.apt_repository: + repo: "{{ item }}" + state: present update_cache: yes - cache_valid_time: 86400 - -- name: Import RabbitMQ's main signing key - become: yes - apt_key: - id: "{{ rabbitmq_main_key }}" - keyring: "{{ rabbitmq_main_keyring }}" - url: "https://keys.openpgp.org/vks/v1/by-fingerprint/{{ rabbitmq_main_key }}" - -- name: Import Erlang GPG key - become: yes - apt_key: - id: "{{ erlang_key }}" - keyring: "{{ erlang_keyring }}" - url: "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x{{ erlang_key }}" - -- name: Import PackageCloud RabbitMQ repository - become: yes - apt_key: - url: "{{ rabbitmq_repo_key_url }}" - keyring: "{{ rabbitmq_repo_keyring }}" - -- name: Add apt repositories maintained by Team RabbitMQ - become: yes - copy: - dest: "/etc/apt/sources.list.d/rabbitmq.list" - content: | - deb [signed-by=/usr/share/keyrings/net.launchpad.ppa.rabbitmq.erlang.gpg] http://ppa.launchpad.net/rabbitmq/rabbitmq-erlang/ubuntu bionic main - deb-src [signed-by=/usr/share/keyrings/net.launchpad.ppa.rabbitmq.erlang.gpg] http://ppa.launchpad.net/rabbitmq/rabbitmq-erlang/ubuntu bionic main - deb [signed-by=/usr/share/keyrings/io.packagecloud.rabbitmq.gpg] https://packagecloud.io/rabbitmq/rabbitmq-server/ubuntu/ bionic main - deb-src [signed-by=/usr/share/keyrings/io.packagecloud.rabbitmq.gpg] https://packagecloud.io/rabbitmq/rabbitmq-server/ubuntu/ bionic main + loop: + - "deb [signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa1.novemberain.com/rabbitmq/rabbitmq-erlang/deb/ubuntu jammy main" + - "deb-src [signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa1.novemberain.com/rabbitmq/rabbitmq-erlang/deb/ubuntu jammy main" + - "deb [signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa2.novemberain.com/rabbitmq/rabbitmq-erlang/deb/ubuntu jammy main" + - "deb-src [signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa2.novemberain.com/rabbitmq/rabbitmq-erlang/deb/ubuntu jammy main" + - "deb [signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa1.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu jammy main" + - "deb-src [signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa1.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu jammy main" + - "deb [signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa2.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu jammy main" + - "deb-src [signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa2.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu jammy main" - name: Install Erlang packages become: yes - apt: - name: "{{ erlang_packages }}" + ansible.builtin.apt: + name: "{{ erlang_dependencies }}" state: present - update_cache: yes -- name: Install rabbitmq-server and its dependencies +- name: Install RabbitMQ server become: yes - apt: + ansible.builtin.apt: name: rabbitmq-server state: present - update_cache: yes