sauvegarde : le catalogue derive du groupe, et P36 le prouve
Correction : l'entree precedente attribuait le defaut a la reconstruction
from-zero. C'est faux — le commit fondateur 7476a54 (2026-07-03) disait lui-meme
« Reste : jobs Tier 1 (pg_dump/slapcat/vmail/forgejo) ». Ils n'ont jamais ete
ecrits, et infra-pki-01 a ensuite perdu son integration client_backup.
Le role qui POSSEDE la donnee dit comment la sortir : client_backup_jobs est
l'intersection du catalogue et des group_names du noeud. Un tenant qui deplace un
service emporte sa sauvegarde avec lui. On sauvegarde l'etat NON REGENERABLE :
ni zones PowerDNS ni tableaux Grafana, ils se redeploient.
L'unite qui ment est RETIREE, pas rendue bloquante : refuser le deploiement aurait
casse infra-edge-01, infra-dns-01 et mon-01, qui ne detiennent legitimement rien.
Le defaut etait le timer qui echouait chaque nuit en donnant l'apparence d'une
sauvegarde.
P36 (D-75) lit les groupes detenteurs dans le catalogue : ajouter un role au
catalogue etend la preuve du meme geste. Elle a attrape infra-pki-01 — les cles
de l'AC — corrige au plan.
Mesure hors-noeud : collab-01 64,0 MiB/272, edge-mta-01 4,4 MiB/139,
data-sql-01 1,0 MiB (pg_dumpall complet), forge-01 26,4 KiB/68,
infra-pki-01 20,1 KiB/21, idm-01 2,3 KiB/5 (slapcat). 9 hotes, 9 success.
Reste : rien ne surveille l'unite — c'est ce silence qui a laisse le defaut
vivre un mois.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 20:50:46 -04:00
|
|
|
---
|
|
|
|
|
- name: Recharger systemd
|
|
|
|
|
ansible.builtin.systemd:
|
|
|
|
|
daemon_reload: true
|
2026-09-30 04:40:20 -04:00
|
|
|
|
|
|
|
|
# PREMIER RAPPORT A UN ICINGA QUI NE NOUS A JAMAIS ENTENDUS — voir `tasks/verifier.yml`.
|
2026-09-30 17:08:55 -04:00
|
|
|
# Trois temps, puis la trace, dans cet ordre (les gestionnaires s'executent dans l'ordre de ce fichier) :
|
2026-09-30 04:40:20 -04:00
|
|
|
# deposer, pour que le depot porte un instantane de CETTE incarnation ; verifier le depot ;
|
|
|
|
|
# verifier qu'il se restaure. Les unites sont `oneshot` : chacune rend la main une fois son
|
|
|
|
|
# rapport parti, et echoue — bruyamment — si la sauvegarde refuse (etat d'avant non remis)
|
|
|
|
|
# ou si Icinga ne prend pas le resultat.
|
|
|
|
|
- name: Premier depot
|
|
|
|
|
ansible.builtin.systemd:
|
|
|
|
|
name: setops-sauvegarde.service
|
|
|
|
|
state: started
|
|
|
|
|
listen: Premier rapport a Icinga
|
|
|
|
|
|
|
|
|
|
- name: Premier controle du depot
|
|
|
|
|
ansible.builtin.systemd:
|
|
|
|
|
name: setops-verification-depot.service
|
|
|
|
|
state: started
|
|
|
|
|
listen: Premier rapport a Icinga
|
|
|
|
|
|
|
|
|
|
- name: Premier controle de restauration
|
|
|
|
|
ansible.builtin.systemd:
|
|
|
|
|
name: setops-verification-restauration.service
|
|
|
|
|
state: started
|
|
|
|
|
listen: Premier rapport a Icinga
|
2026-09-30 17:08:55 -04:00
|
|
|
|
|
|
|
|
- name: Retenir l'Icinga qui nous a entendus
|
|
|
|
|
ansible.builtin.copy:
|
|
|
|
|
content: "{{ client_backup_icinga_empreinte }}\n"
|
|
|
|
|
dest: "{{ client_backup_marque_icinga }}"
|
|
|
|
|
owner: root
|
|
|
|
|
group: root
|
|
|
|
|
mode: "0600"
|
|
|
|
|
listen: Premier rapport a Icinga
|