Mosquitto can save retained messages, persistent clients, etc. to the filesystem and restore them at startup. This allows state to be maintained even after the process restarts.
69 lines
1.4 KiB
YAML
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
|