ansible-role-rabbitmq/tasks/main.yml

88 lines
1.7 KiB
YAML

---
# RabbitMQ Tasks
- name: Install required packages for RabbitMQ
yum:
name: rabbitmq-server
state: present
- name: Deploy RabbitMQ configuration
template:
src: "etc/rabbitmq/{{ item }}.j2"
dest: "/etc/rabbitmq/{{ item }}"
owner: rabbitmq
group: rabbitmq
mode: '0644'
loop:
- rabbitmq.conf
- rabbitmq-env.conf
- name: Deploy erlang cookie
copy:
owner: rabbitmq
group: rabbitmq
mode: '0600'
content: "{{ rabbitmq_cookie }}"
dest: "/var/lib/rabbitmq/.erlang.cookie"
notify:
- restart_rabbitmq
- name: Create systemd override for RabbitMQ
file:
path: /etc/systemd/system/rabbitmq-server.service.d
state: directory
owner: root
group: root
mode: '0755'
- name: Override nofile limit for RabbitMQ
copy:
dest: /etc/systemd/system/rabbitmq-server.service.d/99-override.conf
owner: root
group: root
mode: '0644'
content: |
[Service]
LimitNOFILE={{ rabbitmq_file_limit }}
- name: Enable RabbitMQ Plugins
community.rabbitmq.rabbitmq_plugin:
names: "{{ rabbitmq_plugins | join(',') }}"
state: enabled
- name: Open applicable firewall rules
ansible.posix.firewalld:
port: "{{ item }}"
permanent: true
state: enabled
immediate: true
loop:
- 1883/tcp
- 4369/tcp
- 5671/tcp
- 5672/tcp
- 8883/tcp
- 15672/tcp
- 25672/tcp
- 35672-35682/tcp
- name: Ensure RabbitMQ is running
service:
name: rabbitmq-server
state: started
enabled: true
- name: Vhost tasks
include_tasks: vhosts.yml
- name: Users Tasks
include_tasks: users.yml
- name: Topic Tasks
include_tasks: topics.yml
- name: Federation Tasks
include_tasks: federation.yml
- name: Common Apps
include_tasks: commonapps.yml