---
# 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.1-1
Pin-Priority: 1000
Package: esl-erlang
Pin: version 1:20.1.7
Pin-Priority: 1000
- name: Install https transport for apt
apt:
name: apt-transport-https
state: latest
force: yes
- name: Add Erlang Solutions public GPG key
apt_key:
url: https://s3.amazonaws.com/ansible-ci-files/test/integration/targets/setup_rabbitmq/erlang_solutions.asc
state: present
- name: Add Erlang Solutions repository
apt_repository:
repo: "deb https://packages.erlang-solutions.com/ubuntu {{ ansible_distribution_release }} contrib"
filename: 'erlang-solutions'
state: present
update_cache: yes
- name: Add RabbitMQ public GPG key
apt_key:
url: https://s3.amazonaws.com/ansible-ci-files/test/integration/targets/setup_rabbitmq/rabbitmq-release-signing-key.asc
state: present
- name: Add RabbitMQ repository
apt_repository:
repo: "deb https://dl.bintray.com/rabbitmq/debian {{ ansible_distribution_release }} main"
filename: rabbitmq
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:
name: rabbitmq-server
state: latest
- 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