Set-OPS-Public/docs/MISE-A-JOUR-CODEX-CLAUDE.md
Daniel Allaire ac85278366 preuve : P34 — chaque document declare son lecteur (D-74)
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>
2026-08-10 07:53:04 -04:00

3.2 KiB
Raw Permalink Blame History

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 dexploitation 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 dune 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 dautorité 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 lexistant.

Corriger petit.

Valider.

Mettre à jour CHANGELOG.md.

Résumer clairement ce qui a été fait et ce qui na pas été testé.