--- - name: Install Prometheus Components apt: name: - prometheus - prometheus-alertmanager - prometheus-pushgateway state: latest update_cache: true register: apt_result retries: 3 until: apt_result is succeeded - name: Ensure the alert folder exist file: path: /etc/prometheus/alerts state: directory group: prometheus owner: prometheus mode: u=rwx,g=rx,o=rx - name: Generate certificate include_role: name: generate-cert vars: directory: /etc/prometheus/ cname: "prometheus-{{ lan_address }}" owner: prometheus group: prometheus key_mode: u=rw,g=,o= subject_alt_name: "IP:{{ lan_address }}" # Need an equivalent to notify here - name: Copy the CA cert copy: content: "{{ ca_cert }}" dest: /etc/prometheus/ca.crt notify: Restart prometheus - name: Setup the prometheus config template: src: prometheus.yml dest: /etc/prometheus/prometheus.yml owner: prometheus group: prometheus mode: '0640' notify: Restart prometheus no_log: true - name: Add node targets file template: src: node-targets.json dest: /etc/prometheus/node-targets.json owner: prometheus group: prometheus mode: '0640' force: no notify: Restart prometheus no_log: true - name: Setup the arguments for prometheus template: src: prometheus dest: /etc/default/prometheus owner: root group: root mode: '0644' notify: Restart prometheus vars: args: - name: web.listen-address value: "{{ lan_address }}:9090"