---
# https://www.rabbitmq.com/install-debian.html#apt-pinning
- name: Pin erlang version that rabbitmq supports
copy:
dest: /etc/apt/preferences.d/erlang
content: |
Package: erlang*
Pin: version 1:20.3.8.18-1
Pin-Priority: 1000
Package: esl-erlang
Pin: version 1:20.3.6
Pin-Priority: 1000
- name: Install https transport for apt
apt:
name: apt-transport-https
state: latest
force: yes
- name: Add RabbitMQ release signing key
apt_key:
url: https://ansible-ci-files.s3.amazonaws.com/test/integration/targets/setup_rabbitmq/rabbitmq-release-signing-key.asc
state: present
- name: Add RabbitMQ Erlang repository
apt_repository:
repo: "deb https://dl.bintray.com/rabbitmq-erlang/debian {{ ansible_distribution_release }} erlang-20.x"
filename: 'rabbitmq-erlang'
state: present
update_cache: yes
# Required by the rabbitmq modules that uses the management API
- name: Install requests
pip:
name: requests
- name: Install RabbitMQ Server
apt:
deb: https://s3.amazonaws.com/ansible-ci-files/test/integration/targets/setup_rabbitmq/rabbitmq-server_3.7.14-1_all.deb
- name: Install RabbitMQ TLS dependencies
apt:
name: "{{ item }}"
state: latest
loop:
- erlang-asn1
- erlang-crypto
- erlang-public-key
- erlang-ssl
- name: Ensure TLS config
copy:
src: rabbitmq.conf
dest: /etc/rabbitmq/rabbitmq.conf
- name: Start RabbitMQ service
service:
name: rabbitmq-server
state: started
- name: Enable management
command: rabbitmq-plugins enable --online rabbitmq_management