This repository has been archived on 2026-06-26. You can view files and clone it, but cannot push or open issues or pull requests.
Set-OPS/roles/client_dns/tasks/main.yml
Daniel Allaire ca0f95da28 Mettre les noms de roles et playbooks au singulier
serveurs_* -> serveur_, clients_ -> client_, suffixes pluriels au
singulier (serveur_web_dorsal/frontal, client_metrique, client_journal).

Renommage par tokens exacts : repertoires de roles, playbooks de groupes,
group_vars, variables internes des roles (serveur_nginx_*, conformite
ansible-lint), groupes du plan, constantes de code, docs. Faux-amis
preserves (serveurs_bd, scripts/serveurs.py, fonctions Python). Groupes
d'etat gardes au pluriel (hotes_actifs/planifies, modeles_vm).

Valide : ansible-lint 0 echec (0 var-naming), diff vide de la generation,
node --check, tous les registres. Ajout de .ansible-lint excluant docs/
(registres de donnees, pas du contenu Ansible).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 23:18:52 -04:00

61 lines
1.9 KiB
YAML

---
- name: Déterminer les serveurs DNS internes depuis l'inventaire
ansible.builtin.set_fact:
client_dns_effective_nameservers: >-
{{
client_dns_nameservers
if (client_dns_nameservers | length > 0)
else (
groups.get('serveur_powerdns', [])
| map('extract', hostvars, 'ansible_host')
| select('defined')
| list
)
}}
- name: Vérifier qu'au moins un serveur DNS interne est connu
ansible.builtin.assert:
that:
- client_dns_effective_nameservers | length > 0
fail_msg: "Aucun serveur DNS interne disponible pour client_dns."
- name: Installer les outils de diagnostic DNS
ansible.builtin.apt:
name: dnsutils
state: present
update_cache: true
cache_valid_time: 3600
- name: Valider la zone DNS interne sur le serveur primaire
ansible.builtin.command:
cmd: "dig @{{ client_dns_effective_nameservers[0] }} {{ client_dns_zone }} SOA +short"
register: client_dns_soa_check
changed_when: false
failed_when: client_dns_soa_check.stdout | trim == ""
- name: Refuser la modification DNS sans confirmation explicite
ansible.builtin.assert:
that:
- client_dns_confirm | bool
fail_msg: "Modification DNS refusee: definir client_dns_confirm=true pour modifier le resolver."
when: client_dns_apply | bool
- name: Configurer le resolver client
ansible.builtin.template:
src: resolv.conf.j2
dest: "{{ client_dns_resolv_conf_path }}"
owner: root
group: root
mode: "0644"
backup: true
when:
- client_dns_apply | bool
- client_dns_confirm | bool
- name: Valider la résolution du nom local dans la zone interne
ansible.builtin.command:
cmd: "dig @{{ client_dns_effective_nameservers[0] }} {{ inventory_hostname }}.{{ client_dns_zone }} A +short"
register: client_dns_host_check
changed_when: false
failed_when: client_dns_host_check.stdout | trim == ""
when: ansible_host is defined