---
# Stands up an mqtt instance
- name: Configure mqtt
  hosts: all
  become: true
  vars_files:
    - vars/mqtt.yml
  # vars/vaults/encpass.yml

  # This is to try to avoid the handler issue in pre/post tasks
  handlers:
    - import_tasks: handlers/main.yml

  pre_tasks:
    - name: Check if ansible cannot be run here
      stat:
        path: /etc/no-ansible
      register: no_ansible

    - name: Verify if we can run ansible
      ansible.builtin.assert:
        that:
          - "not no_ansible.stat.exists"
        success_msg: "We are able to run on this node"
        fail_msg: "/etc/no-ansible exists - skipping run on this node"

    - name: Enable the EPEL repository
      ansible.builtin.dnf:
        name: epel-release
        state: present
      notify:
        - enable_crb
      tags:
        - packages

    - name: Flush handlers
      ansible.builtin.meta: flush_handlers

  roles:
    - role: rockylinux.ipagetcert
      state: present

    - role: rockylinux.mqtt
      state: present

  post_tasks:
    - name: Touching run file that ansible has ran here
      ansible.builtin.file:
        path: /var/log/ansible.run
        state: touch
        mode: '0644'
        owner: root
        group: root
...