Set-OPS-Public/docs/MISE-A-JOUR-CODEX-CLAUDE.md
Daniel Allaire 835f8ab6d0 Mise en conformité prouvable : registre d'affirmations + make prouver
Le dépôt fait / explique / prouve ce qu'il affirme, vérifiable en une commande.

- Phase 1 : docs/audit/affirmations.md — 54 affirmations publiques tracées vers
  une commande de preuve et un statut (/🟡//).
- Phase 2 : CLAUDE.md réduit à un pointeur mince ; contradiction SSH levée (le
  code applique déjà PasswordAuthentication no + AuthenticationMethods publickey,
  conforme à AGENTS.md) ; section AGENTS « Codex » → « agents IA ».
- Phase 3 : parcours démarrage réparé (QUICKSTART renvoyait à un modèle absent,
  chemins de voûte faux, commandes make périmées) ; make verifier vert
  (ansible-lint 33 → 0 : site.yml généré nommé, pipefail, name[template]) ;
  voûte Proxmox unifiée lue par le clonage (all/vault.yml).
- Phase 4 : make prouver → docs/audit/preuve-<date>.md, harnais rejouable qui
  rappelle l'outillage existant (aucune validation réimplémentée).
- Phase 5 : parcours QUICKSTART prouvé hors-ligne sur le socle ; modèle socle
  rendu valide (autorite interne → auto-heberge) ; split-brain d'inventaire
  corrigé (repli sur le répertoire existant, pas principal/).

make prouver : 15 OK, 0 échec, 1 sautée (voûte). ansible-lint : 0 failure.
Écarts découverts en cours de traitement (AFF-097..100) : tous résolus.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-20 19:53:18 -04:00

197 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Mise à jour pour Codex et Claude Code — Set-OPS
## É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 :
```text
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 :
```text
playbooks/modeles_vm/debian13_proxmox_preparer.yml
```
a échoué sur un handler manquant :
```text
ERROR! The requested handler 'Validate and reload ssh' was not found
```
Le problème est relié à des rôles contenant :
```yaml
notify: Validate and reload ssh
```
sans handler local correspondant.
Rôles à vérifier en priorité :
```text
roles/ssh_baseline/
roles/ssh_durcissement/
```
Chaque rôle utilisant `notify` doit avoir son propre fichier :
```text
roles/<role>/handlers/main.yml
```
---
## Correctif minimal attendu
Ne pas régénérer tout le dépôt.
Créer ou corriger :
```text
roles/ssh_baseline/handlers/main.yml
roles/ssh_durcissement/handlers/main.yml
```
Contenu attendu :
```yaml
---
- 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` :
```bash
find roles -path '*/tasks/*.yml' -exec grep -H "notify:" {} \;
find roles -path '*/handlers/main.yml' -print
```
---
## Validation obligatoire
Après correction :
```bash
make syntaxe-modele
```
Puis relancer :
```bash
make preparer-modele
```
Puis vérifier :
```bash
make verifier-modele
```
---
## Nettoyage final
Ne lancer le nettoyage final que lorsque la VM est validée :
```bash
make nettoyer-modele CONFIRMER=true
```
Ensuite seulement :
```bash
sudo shutdown -h now
```
Puis côté Proxmox :
```bash
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é.