ansible : install dnsmasq_exporter
This commit is contained in:
10
ansible/roles/dnsmasq_exporter/handlers/main.yml
Normal file
10
ansible/roles/dnsmasq_exporter/handlers/main.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
# ================================================================
|
||||
# Handlers for dnsmasq_exporter role
|
||||
# ================================================================
|
||||
|
||||
- name: Reload systemd
|
||||
ansible.builtin.systemd:
|
||||
daemon_reload: true
|
||||
become: true
|
||||
listen: Reload systemd
|
||||
56
ansible/roles/dnsmasq_exporter/tasks/main.yml
Normal file
56
ansible/roles/dnsmasq_exporter/tasks/main.yml
Normal file
@@ -0,0 +1,56 @@
|
||||
---
|
||||
# ================================================================
|
||||
# Rôle : dnsmasq_exporter
|
||||
# Tâches principales
|
||||
#
|
||||
# Objectif : Installer la dernière version de dnsmasq_exporter
|
||||
# via `go install` et la lancer comme service systemd.
|
||||
#
|
||||
# Remarque : cette implémentation reste volontairement simple.
|
||||
# - Aucune gestion fine de la version : toujours la « latest ».
|
||||
# - Repose sur le paquet Debian/Ubuntu `golang`.
|
||||
# - Le binaire est installé directement dans /usr/local/bin
|
||||
# grâce à la variable d’environnement GOBIN.
|
||||
# ================================================================
|
||||
|
||||
- name: "[dnsmasq_exporter] Dépendances build (golang, git)"
|
||||
ansible.builtin.apt:
|
||||
name:
|
||||
- golang-go
|
||||
- git
|
||||
state: present
|
||||
update_cache: true
|
||||
tags:
|
||||
- dnsmasq_exporter
|
||||
- install
|
||||
|
||||
- name: "[dnsmasq_exporter] Installation du binaire (go install @latest)"
|
||||
ansible.builtin.command:
|
||||
cmd: go install github.com/google/dnsmasq_exporter@latest
|
||||
creates: /usr/local/bin/dnsmasq_exporter
|
||||
environment:
|
||||
GOBIN: /usr/local/bin
|
||||
tags:
|
||||
- dnsmasq_exporter
|
||||
- build
|
||||
|
||||
- name: "[dnsmasq_exporter] Déploiement du service systemd"
|
||||
ansible.builtin.template:
|
||||
src: dnsmasq_exporter.service.j2
|
||||
dest: /etc/systemd/system/dnsmasq_exporter.service
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
notify: Reload systemd
|
||||
tags:
|
||||
- dnsmasq_exporter
|
||||
- config
|
||||
|
||||
- name: "[dnsmasq_exporter] Activation et démarrage du service"
|
||||
ansible.builtin.service:
|
||||
name: dnsmasq_exporter
|
||||
state: started
|
||||
enabled: true
|
||||
tags:
|
||||
- dnsmasq_exporter
|
||||
- service
|
||||
@@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=Prometheus dnsmasq_exporter
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/local/bin/dnsmasq_exporter
|
||||
Restart=on-failure
|
||||
RestartSec=5s
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Reference in New Issue
Block a user