La refonte de ce matin posait une convention. Une convention qu'on n'outille pas tient tant que quelqu'un y pense : c'est le raisonnement de D-70, applique au corpus documentaire. Etat de depart mesure : 2 documents sur 34 declaraient leur lecteur. Les 32 autres disaient leur SUJET — ce qui avait enfoui le runbook de reprise le plus utile du depot au §6 de autorisation.md. Les 38 le declarent desormais, lecteur determine document par document et non colle au gabarit : l'exploitant (devis, migration de tenant, cycle de vie, gabarit d'or), le mainteneur (conceptions, registres, carte), le lecteur externe (ecosysteme-chezlepro), l'agent IA (MISE-A-JOUR-CODEX-CLAUDE). Deux exemptions DERIVEES, pas listees — un chemin en dur aurait vieilli a la premiere page ajoutee : un document qui s'annonce genere, et un fragment sans titre. Les 13 exemptes verifies un par un ; aucun document ecrit a la main n'est exempte par accident. La preuve ne lit que l'EN-TETE, ce qui empeche frontiere-opnsense.md et plan-et-generation.md — qui parlent de generation dans leur corps — d'etre exemptes a tort. Eprouvee dans les deux sens. Elle a echoue seule des sa premiere execution en nommant deux documents que mon inventaire avait manques (docs/audit/). Puis test negatif delibere : declaration retiree de meta-classe.md -> ECHEC la nommant ; restauree -> OK. Ce qu'elle ne teste pas : que le lecteur declare soit le BON. Ca se juge en revue ; elle garantit qu'on a du y penser. P01–P34. Comptes perimes corriges au passage (AGENTS.md et devis-services.md annoncaient encore 30 preuves). Verifie : prouver.py 0 (34 OK), plan-recette inchange. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
3.2 KiB
Mise à jour pour Codex et Claude Code — Set-OPS
Pour qui : l'agent IA qui reprend le dépôt — et le mainteneur qui relit ce qu'on lui dit.
État du dépôt
Set-OPS est le moteur Ansible global d’exploitation d’écosystèmes numériques souverains.
Il ne sert pas seulement à créer un template Proxmox. Il doit contenir progressivement les playbooks, rôles, inventaires et templates nécessaires à tous les systèmes d’une instance.
Le chantier en cours est le template Debian 13 Proxmox.
Fichiers de gouvernance
Les fichiers suivants doivent être lus avant toute modification :
AGENTS.md
CLAUDE.md
README.md
CHANGELOG.md
ansible.cfg
AGENTS.md est la source d’autorité principale.
État fonctionnel visé pour le template Debian 13
Le template Debian 13 Proxmox doit contenir :
- Debian minimal ;
- SSH ;
- sudo ;
- compte
ansible; - sudo NOPASSWD pour
ansible; qemu-guest-agent;cloud-init;cloud-guest-utils;- chrony ;
- outils de diagnostic ;
- AppArmor ;
- auditd ;
- fail2ban SSH ;
- unattended-upgrades ;
- journald ;
- sysctl de sécurité ;
- nftables installé et préparé, mais désactivé par défaut.
Il ne doit pas contenir :
- NGINX ;
- PostgreSQL ;
- MariaDB ;
- Docker ;
- Podman ;
- Redis ;
- GitLab ;
- Nextcloud ;
- monitoring complet ;
- secrets ;
- clés privées ;
- données propres à un clone.
Incident récent à corriger
Le playbook :
playbooks/modeles_vm/debian13_proxmox_preparer.yml
a échoué sur un handler manquant :
ERROR! The requested handler 'Validate and reload ssh' was not found
Le problème est relié à des rôles contenant :
notify: Validate and reload ssh
sans handler local correspondant.
Rôles à vérifier en priorité :
roles/ssh_baseline/
roles/ssh_durcissement/
Chaque rôle utilisant notify doit avoir son propre fichier :
roles/<role>/handlers/main.yml
Correctif minimal attendu
Ne pas régénérer tout le dépôt.
Créer ou corriger :
roles/ssh_baseline/handlers/main.yml
roles/ssh_durcissement/handlers/main.yml
Contenu attendu :
---
- name: Valider la configuration SSH
ansible.builtin.command: sshd -t
changed_when: false
listen: Validate and reload ssh
- name: Recharger SSH
ansible.builtin.systemd:
name: ssh
state: reloaded
listen: Validate and reload ssh
Puis vérifier tous les notify :
find roles -path '*/tasks/*.yml' -exec grep -H "notify:" {} \;
find roles -path '*/handlers/main.yml' -print
Validation obligatoire
Après correction :
make syntaxe-modele
Puis relancer :
make preparer-modele
Puis vérifier :
make verifier-modele
Nettoyage final
Ne lancer le nettoyage final que lorsque la VM est validée :
make nettoyer-modele CONFIRMER=true
Ensuite seulement :
sudo shutdown -h now
Puis côté Proxmox :
qm template VMID
Règle de conduite
Ne pas faire de régénération massive.
Lire l’existant.
Corriger petit.
Valider.
Mettre à jour CHANGELOG.md.
Résumer clairement ce qui a été fait et ce qui n’a pas été testé.