Add mosquitto role and add playbook to deploy MQTT broker on automation.z9
This commit is contained in:
parent
59dc7a1d7d
commit
7a93546616
8 changed files with 101 additions and 0 deletions
5
playbooks/roles/mosquitto/handlers/main.yml
Normal file
5
playbooks/roles/mosquitto/handlers/main.yml
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
- name: Restart mosquitto
|
||||
ansible.builtin.systemd:
|
||||
service: mosquitto.service
|
||||
state: restarted
|
26
playbooks/roles/mosquitto/meta/argument_specs.yml
Normal file
26
playbooks/roles/mosquitto/meta/argument_specs.yml
Normal 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
|
8
playbooks/roles/mosquitto/meta/main.yml
Normal file
8
playbooks/roles/mosquitto/meta/main.yml
Normal file
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
dependencies:
|
||||
- role: distribution_check
|
||||
vars:
|
||||
distribution_check__supported_distributions:
|
||||
- name: Debian
|
||||
versions:
|
||||
- "11"
|
26
playbooks/roles/mosquitto/tasks/main.yml
Normal file
26
playbooks/roles/mosquitto/tasks/main.yml
Normal 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
|
Loading…
Add table
Add a link
Reference in a new issue