--- - name: Combine default and user settings, decrypt vault. ansible.builtin.set_fact: prometheus_settings: "{{ prometheus_default_settings | ansible.builtin.combine(prometheus_settings, recursive=true) }}" no_log: true - name: Install prometheus apt package. ansible.builtin.apt: name: prometheus state: present - name: Install prometheus systemd service file. ansible.builtin.copy: src: prometheus.service dest: /lib/systemd/system/prometheus.service owner: root group: root mode: "0644" - name: Reload systemd daemon. ansible.builtin.systemd_service: daemon_reload: true - name: Install prometheus config. ansible.builtin.template: src: prometheus.yml.j2 dest: /etc/prometheus/prometheus.yml owner: root group: root mode: "0644" notify: - Reload prometheus service. - name: Create alerting rules directory. ansible.builtin.file: path: /etc/prometheus/alerting_rules state: directory owner: root group: root mode: "0755" - name: Install alerting rules config. ansible.builtin.template: src: alerting_rules.yml.j2 dest: /etc/prometheus/alerting_rules/alerting_rules.yml owner: root group: root mode: "0644" notify: - Reload prometheus service. - name: Enable and start prometheus service. ansible.builtin.service: name: prometheus state: started enabled: true