--- /dev/null
+---
+- name: Basic Setup for mqtt.mgmt.realraum.at
+ hosts: mqtt
+ roles:
+ - role: base
+ - role: mosquitto
--- /dev/null
+---
+is_lxc_container: true
+base_managed_ntpd: false
+mosquitto_persistence: false
+mosquitto_port: 1883
+mosquitto_bind_address: "0.0.0.0"
+mosquitto_allow_anonymous: true
galley
hacksch
r3home
+mqtt ansible_port=22
gnocchi[0:1]
## TODO: remove the variable once https://github.com/ansible/ansible/issues/39119 is fixed
---
- import_tasks: 01ssh.yml
+ when: not (is_lxc_container | default(false))
- import_tasks: 02debian.yml
+ when: not (is_lxc_container | default(false))
- import_tasks: 03ntp.yml
-- when: ansible_service_mgr == "systemd"
+- when: ansible_service_mgr == "systemd" and not (is_lxc_container | default(false))
import_tasks: 04systemd.yml
- import_tasks: 05tools.yml
- import_tasks: 06net.yml
+ when: not (is_lxc_container | default(false))
- import_tasks: 07grub.yml
--- /dev/null
+---
+mosquitto_packages:
+ - mosquitto
+ - mosquitto-clients
+mosquitto_conf_dir: /etc/mosquitto
+mosquitto_conf_file: /etc/mosquitto/mosquitto.conf
+mosquitto_confd_dir: /etc/mosquitto/conf.d/
+mosquitto_port: 1883
+mosquitto_bind_address: "0.0.0.0"
+mosquitto_allow_anonymous: true
+mosquitto_persistence: true
+mosquitto_log_target: stdout
+mosquitto_max_inflight_messages: 20
+mosquitto_max_queued_messages: 10
+mosquitto_message_size_limit: 102400
+mosquitto_queue_qos0_messages: false
\ No newline at end of file
--- /dev/null
+---
+- name: Restart mosquitto
+ ansible.builtin.service:
+ name: mosquitto
+ state: restarted
\ No newline at end of file
--- /dev/null
+---
+
+- name: Update apt cache
+ ansible.builtin.apt:
+ update_cache: true
+ cache_valid_time: 3600
+
+- name: Install Mosquitto packages
+ ansible.builtin.apt:
+ name: "{{ mosquitto_packages }}"
+ state: present
+
+- name: Deploy Mosquitto conf.d
+ ansible.builtin.template:
+ src: "{{ item }}.j2"
+ dest: "{{ mosquitto_confd_dir }}/{{ item }}"
+ owner: root
+ group: root
+ mode: "0644"
+ notify: Restart mosquitto
+ with_items:
+ - limits.conf
+ - nosdcardwrites.conf
+ - listen.conf
+
+- name: Ensure Mosquitto service is enabled and started
+ ansible.builtin.service:
+ name: mosquitto
+ state: started
+ enabled: true
--- /dev/null
+max_inflight_messages {{ mosquitto_max_inflight_messages }}
+max_queued_messages {{ mosquitto_max_queued_messages }}
+message_size_limit {{ mosquitto_message_size_limit }}
+queue_qos0_messages {{ mosquitto_queue_qos0_messages | lower }}
--- /dev/null
+listener {{ mosquitto_port }} {{ mosquitto_bind_address }}
+allow_anonymous {{ mosquitto_allow_anonymous | lower }}
\ No newline at end of file
--- /dev/null
+persistence {{ mosquitto_persistence | lower }}
+
+log_dest {{ mosquitto_log_target }}
+