Set-OPS-Public/roles/serveur_powerdns/tasks/main.yml
Daniel Allaire f82630de6c Rendre le dry-run (--check) fiable sur les rôles applicatifs
« Vérifier » échouait faussement sur un hôte frais : les tâches
« démarrer service » et les handlers restart/reload/validate touchent
un paquet que --check n'installe pas vraiment → service/fichier absent
→ faux fatal, qui bloquait le déploiement (le dry-run doit passer pour
débloquer « Déployer »).

Ajout de « when: not ansible_check_mode » sur ces tâches + handlers des
13 rôles serveur_* (29 gardes). Sautées en dry-run, inchangées en réel.
Validé : powerdns dry-run failed=0 ; ansible-lint 0 échec ; 19 playbooks
syntax-OK.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 21:01:53 -04:00

52 lines
1.5 KiB
YAML

---
- name: Installer PowerDNS Authoritative
ansible.builtin.apt:
name: "{{ serveur_powerdns_packages }}"
state: present
update_cache: true
cache_valid_time: 3600
- name: Créer le répertoire des zones PowerDNS
ansible.builtin.file:
path: "{{ serveur_powerdns_zone_directory }}"
state: directory
owner: root
group: root
mode: "0755"
- name: Déployer la configuration du backend BIND
ansible.builtin.template:
src: setops-bind.conf.j2
dest: /etc/powerdns/pdns.d/setops-bind.conf
owner: root
group: root
mode: "0644"
notify: Validate and reload PowerDNS
- name: Déployer l'index des zones PowerDNS
ansible.builtin.template:
src: bindbackend.conf.j2
dest: "{{ serveur_powerdns_bind_config }}"
owner: root
group: root
mode: "0644"
notify: Validate and reload PowerDNS
- name: Générer la zone DNS interne depuis l'inventaire
ansible.builtin.template:
src: zone.db.j2
dest: "{{ serveur_powerdns_zone_directory }}/{{ serveur_powerdns_zone }}.zone"
owner: root
group: root
mode: "0644"
notify: Validate and reload PowerDNS
- name: Activer et démarrer PowerDNS
ansible.builtin.systemd:
name: "{{ serveur_powerdns_service_name }}"
enabled: true
state: started
# Dry-run (--check) : le paquet n'est pas reellement installe, donc le service
# n'existe pas encore et systemd echouerait. On saute en mode check seulement ;
# en vrai deploiement, la tache s'execute normalement.
when: not ansible_check_mode