- name: Create prometheus install directory
  file:
    path: /opt/prometheus
    state: directory
    owner: "{{ docker_user.name }}"
    mode: "{{ docker_compose_directory_mask }}"

- name: Install prometheus config
  template:
    src: files/prometheus/prometheus.yml
    dest: /opt/prometheus/prometheus.yml
    mode: "{{ docker_compose_file_mask }}"
    owner: "{{ docker_user.name }}"
  notify: reload prometheus

- name: Install prometheus compose file
  template:
    src: files/prometheus/docker-compose.yml
    dest: /opt/prometheus/docker-compose.yml
    mode: "{{ docker_compose_file_mask }}"
    owner: "{{ docker_user.name }}"
    validate: docker-compose -f %s config
  notify: restart prometheus

- name: Install blackbox config
  template:
    src: files/prometheus/blackbox.yml
    dest: /opt/prometheus/blackbox.yml
    mode: "{{ docker_compose_file_mask }}"
    owner: "{{ docker_user.name }}"
  notify: restart prometheus

- name: Install alertmanager config
  template:
    src: files/prometheus/alertmanager.yml
    dest: /opt/prometheus/alertmanager.yml
    mode: "{{ docker_compose_file_mask }}"
    owner: "{{ docker_user.name }}"
  notify: restart prometheus

- name: Install prometheus alert rules
  copy:
    src: files/prometheus/alert-rules.d/
    dest: /opt/prometheus/alert-rules.d/
    mode: "{{ docker_compose_file_mask }}"
    owner: "{{ docker_user.name }}"
  notify: reload prometheus