Add mosquitto role and add playbook to deploy MQTT broker on automation.z9

This commit is contained in:
yuri 2022-12-01 21:29:40 +01:00
commit 7a93546616
No known key found for this signature in database
GPG key ID: E646779AC54AEC64
8 changed files with 101 additions and 0 deletions

View file

@ -0,0 +1,5 @@
---
- name: Restart mosquitto
ansible.builtin.systemd:
service: mosquitto.service
state: restarted

View file

@ -0,0 +1,26 @@
---
argument_specs:
main:
options:
mosquitto__mosquitto_conf_content:
description: The content of the main mosquitto configuration file.
type: str
required: true
mosquitto__configs:
description: A list of additional mosquitto configurations.
type: list
elements: dict
required: false
options:
name:
description: >-
The name of the configuration file, where the configuration should
be deployed to. The file will be placed under `/etc/mosquitto/conf.d` and
`.conf` will be appended to the given name. So in the end the path
will be like this: `/etc/mosquitto/conf.d/\{\ name \}\}.conf`.
type: str
required: true
content:
description: The content of the configuration.
type: str
required: true

View file

@ -0,0 +1,8 @@
---
dependencies:
- role: distribution_check
vars:
distribution_check__supported_distributions:
- name: Debian
versions:
- "11"

View file

@ -0,0 +1,26 @@
---
- name: Ensure mosquitto is installed
ansible.builtin.apt:
name: mosquitto
- name: Ensure main configuraton file is deployed
ansible.builtin.copy:
content: "{{ mosquitto__mosquitto_conf_content }}"
dest: /etc/mosquitto/mosquitto.conf
mode: 0644
owner: root
group: root
notify: Restart mosquitto
- name: Ensure all additional configuraton files are deployed
ansible.builtin.copy:
content: "{{ item.content }}"
dest: /etc/mosquitto/conf.d/{{ item.name }}.conf
mode: 0644
owner: root
group: root
loop: "{{ mosquitto__configs }}"
notify: Restart mosquitto
- name: Ensure mosquitto service is enabled and started
ansible.builtin.systemd:
service: mosquitto.service
enabled: true
state: started