--- # Creates the first monitoring server # Reccommended specs # CPU: 2 cores # Memory: 2GB # Storage: a piece of string - name: Install Prometheus hosts: all become: true vars_files: # vars/vaults/encpass.yml - vars/monitoring.yml - vars/monitoring/alertmanager.yml - vars/monitoring/grafana.yml - vars/monitoring/prometheus.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: Install SELinux packages ansible.builtin.package: name: python3-policycoreutils.noarch state: present roles: # - role: rockylinux.ipagetcert # state: present - role: cloudalchemy.prometheus state: present - role: cloudalchemy.alertmanager state: present - role: cloudalchemy.grafana state: present post_tasks: - name: Open firewalld ports ansible.posix.firewalld: port: "{{ item.port }}" permanent: "{{ item.permanent }}" state: "{{ item.state }}" loop: "{{ monitoring_server_firewall_rules }}" - 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 ...