---
- name: Install Prometheus node-exporter
  apt:
    update_cache: true
    name: prometheus-node-exporter
    install_recommends: false  # Do not install smartmontools
  register: apt_result
  retries: 3
  until: apt_result is succeeded
  when:
    - ansible_lsb.codename != 'stretch'

# Prometheus 2 node is in stretch-backports
- name: Install Prometheus node-exporter (stretch-backports)
  apt:
    update_cache: true
    name: prometheus-node-exporter
    install_recommends: false
    default_release: stretch-backports
  register: apt_result
  retries: 3
  until: apt_result is succeeded
  when:
    - ansible_lsb.codename == 'stretch'

- name: Activate prometheus-node-exporter service
  systemd:
    name: prometheus-node-exporter
    enabled: true
    state: started

- name: Make Prometheus node-exporter listen on adm only
  lineinfile:
    path: /etc/default/prometheus-node-exporter
    regexp: '^ARGS='
    line: |
      ARGS="--web.listen-address={{ adm_ipv4 }}:9100"
  tags: restart-node-exporter

# Install new APT textfile collector, it might be upstreamed one day
# https://github.com/prometheus-community/node-exporter-textfile-collector-scripts/pull/35
- name: Patch APT textfile collector
  copy:
    src: apt.sh
    dest: /usr/share/prometheus-node-exporter/apt.sh
    owner: root
    group: root
    mode: 0755
  when: ansible_lsb.id == 'Debian' and ansible_distribution_release != "bullseye"

# Install new APT textfile collector, it might be upstreamed one day
# https://github.com/prometheus-community/node-exporter-textfile-collector-scripts/pull/35
- name: Patch APT textfile collector
  copy:
    src: apt.sh
    dest: /usr/share/prometheus-node-exporter-collectors/apt.sh
    owner: root
    group: root
    mode: 0755
  when: ansible_lsb.id == 'Ubuntu' or ansible_distribution_release == "bullseye"