configpolicy/roles/mosquitto/tasks/main.yml

69 lines
1.4 KiB
YAML

- name: ensure mosquitto is installed
package:
name: mosquitto
state: present
tags:
- install
- name: ensure mosquitto persistence directory exists
file:
path: '{{ mosquitto_persistence_location }}'
mode: u=rwx,go=
owner: mosquitto
group: mosquitto
state: directory
when: mosquitto_persistence_location|d(none) is not none
tags:
- datadir
- name: ensure mosquitto certificate is installed
copy:
src: certs/mosquitto/{{ inventory_hostname }}.cer
dest: '{{ mosquitto_certfile }}'
owner: root
group: mosquitto
mode: '0644'
notify:
- restart mosquitto
when: mosquitto_certfile is defined
tags:
- cert
- name: ensure mosquitto private key is installed
copy:
src: certs/mosquitto/{{ inventory_hostname }}.key
dest: '{{ mosquitto_keyfile }}'
owner: root
group: mosquitto
mode: '0440'
diff: false
notify:
- restart mosquitto
when: mosquitto_keyfile is defined
tags:
- cert
- name: ensure mosquitto is configured
template:
src: mosquitto.conf.j2
dest: /etc/mosquitto/mosquitto.conf
mode: '0644'
notify:
- restart mosquitto
tags:
- mosquitto-config
- meta: flush_handlers
- name: ensure mosquitto starts at boot
service:
name: mosquitto
enabled: true
tags:
- service
- name: ensure mosquitto is running
service:
name: mosquitto
state: started
tags:
- service