main.yml 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. ---
  2. # tasks file for node_exporter
  3. - name: Download and unpack node_exporter
  4. unarchive:
  5. src: "{{ node_exporter_download_url }}"
  6. dest: /tmp
  7. remote_src: True
  8. - name: Copy node_exporter to /usr/local/bin
  9. copy:
  10. remote_src: True
  11. src: "/tmp/node_exporter-{{ node_exporter_version }}.linux-{{ node_exporter_arch }}/node_exporter"
  12. dest: /usr/local/bin
  13. mode: 0744
  14. notify: Restart node_exporter
  15. - name: Ensure systemd service is up to date
  16. register: node_exporter_systemd
  17. template:
  18. src: node_exporter.service.j2
  19. dest: /etc/systemd/system/node_exporter.service
  20. notify: Restart node_exporter
  21. - name: Reload systemd
  22. when: node_exporter_systemd|changed
  23. shell: systemctl daemon-reload
  24. - name: Ensure node_exporter is running and enabled
  25. service:
  26. name: node_exporter
  27. state: running
  28. enabled: yes
  29. - name: Ensure node_exporter nginx config is up to date
  30. template:
  31. src: node_exporter_nginx.j2
  32. dest: /etc/nginx/sites-available/node_exporter.conf
  33. notify: Reload nginx
  34. - stat:
  35. path: "/var/lib/acme/live/{{ ansible_fqdn }}/privkey"
  36. become: yes
  37. register: gogs_key_file_stat
  38. - name: Let acmetool generate a key and a certificate
  39. become: yes
  40. when: not gogs_key_file_stat.stat.exists
  41. shell: /usr/bin/acmetool want --batch {{ ansible_fqdn }}
  42. notify: Restart nginx
  43. - name: Ensure unsecure node_exporter configuration for nginx is enabled
  44. become: yes
  45. file:
  46. state: link
  47. dest: /etc/nginx/sites-enabled/node_exporter.conf
  48. src: /etc/nginx/sites-available/node_exporter.conf
  49. notify: Reload nginx