Set-OPS-Public/roles/chrony/tasks/main.yml
Daniel Allaire af3fb1c0f1 sondes : deux roles ecrivaient dans un repertoire qu ils ne creaient pas
Vingt-trois roles sur vingt-cinq assurent /usr/local/lib/setops/sondes avant d y
deposer quoi que ce soit. auditd et chrony etaient les exceptions, et ils s en
tiraient parce qu un role plus precoce l avait cree.

Une dependance d ordre ecrite nulle part : elle tient tant que la couche complete
passe dans l ordre habituel, et casse des qu on applique un groupe SEUL.
Destination directory does not exist, sur une machine et pas les treize autres.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
2026-09-13 23:43:46 -04:00

67 lines
2.5 KiB
YAML

---
- name: Définir le fuseau horaire (intrant global fuseau_horaire)
community.general.timezone:
name: "{{ chrony_timezone }}"
when: chrony_timezone | length > 0
- name: Installer chrony
ansible.builtin.apt:
name: chrony
state: present
- name: Activer et démarrer chrony
ansible.builtin.systemd:
name: chrony
enabled: true
state: started
# LE DROP-IN AJOUTE, IL NE RETIRE PAS. `/etc/chrony/conf.d/` est lu EN PLUS du fichier
# principal : y declarer notre serveur sans neutraliser le `pool` de Debian laisserait la
# machine avec cinq sources, dont quatre sur Internet. On aurait alors centralise
# l'horloge en apparence et change strictement rien a la dependance.
- name: Retirer le pool public du fichier principal
ansible.builtin.replace:
path: "{{ chrony_conf }}"
regexp: '^(\s*(?:pool|server)\s+\S*(?:debian|ntp)\.(?:pool\.)?(?:ntp\.)?org.*)$'
replace: '# \1 # neutralise par Set-OPS : l horloge vient de la frontiere'
notify: Restart chrony
when: chrony_serveurs | length > 0
- name: Déclarer la frontière comme source de temps
ansible.builtin.template:
src: setops.conf.j2
dest: "{{ chrony_conf_setops }}"
owner: root
group: root
mode: "0644"
notify: Restart chrony
when: chrony_serveurs | length > 0
# DEPOSEE ICI, DECLAREE PAR LE GROUPE `serveur_debian` — la derivation de supervision ne
# traverse pas les roles-taches. Meme lecon que `correctifs` et `audit`.
# CE ROLE ECRIVAIT SA SONDE SANS CREER LE REPERTOIRE (2026-09-13). Vingt-trois roles sur
# vingt-cinq l'assurent avant d'y deposer quoi que ce soit ; `auditd` et `chrony` etaient
# les deux exceptions, et ils s'en tiraient parce qu'un role plus precoce l'avait cree.
#
# UNE DEPENDANCE D'ORDRE QUI N'EST ECRITE NULLE PART. Elle tient tant que la couche
# complete passe dans l'ordre habituel, et elle casse des qu'on applique un groupe SEUL :
#
# Destination directory /usr/local/lib/setops/sondes does not exist
#
# Mesure sur une flotte neuve : treize machines l'avaient, une ne l'avait pas. Rien ne
# distinguait la quatorzieme, sinon l'ordre dans lequel les taches l'avaient atteinte.
- name: Assurer le repertoire des sondes de supervision
ansible.builtin.file:
path: /usr/local/lib/setops/sondes
state: directory
owner: root
group: root
mode: "0755"
- name: Deposer la sonde d'horloge
ansible.builtin.template:
src: sonde-horloge.sh.j2
dest: /usr/local/lib/setops/sondes/horloge.sh
owner: root
group: root
mode: "0750"