Set-OPS-Public/SOLUTION.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

74 lines
2.2 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.

# La solution Set-OPS
> **Document historique de décision.** Le parcours opérationnel à jour vit dans
> [`README.md`](README.md) et [`QUICKSTART.md`](QUICKSTART.md) ; l'autorité est
> [`AGENTS.md`](AGENTS.md). Les commandes brutes ci-dessous sont **supplantées** par les
> cibles `make` (`preparer-modele` / `verifier-modele` / `nettoyer-modele`). Conservé pour
> tracer la décision fondatrice.
## Décision
`Set-OPS` est le moteur Ansible global dexploitation décosystèmes numériques souverains.
Le template Debian 13 Proxmox est seulement un chantier dans ce dépôt.
## Ce qu'on fait maintenant
On garde une seule structure simple :
```text
inventories/
playbooks/
roles/
docs/
```
Les rôles sont nommés clairement, sans sous-arborescence complexe.
> Réalité actuelle du dépôt : au-delà de ces quatre dossiers, le moteur comporte aussi
> `scripts/` (plan + GUI), `filter_plugins/`, `exemples/`, `wiki/` et l'instance montée
> (`instance/`). Vue d'ensemble : [`docs/carte-set-ops.md`](docs/carte-set-ops.md).
## Commande principale pour construire le template
Le template se construit avec un **accès SSH par clé dès le départ** (clé injectée par
cloud-init) — pas par mot de passe. La cible opérateur est :
```bash
make preparer-modele
```
Elle exécute `playbooks/modeles_vm/debian13_proxmox_preparer.yml` sur l'inventaire modèle,
après avoir vérifié l'accès SSH par clé et les privilèges sudo du compte `ansible`. Voir
[`AGENTS.md`](AGENTS.md) § SSH pour l'état cible (`PasswordAuthentication no`,
`AuthenticationMethods publickey`).
## Vérification
```bash
ansible-playbook -i instance/inventories/lab/hosts.yml playbooks/modeles_vm/debian13_proxmox_verifier.yml
```
## Nettoyage final avant conversion
```bash
ansible-playbook -i instance/inventories/lab/hosts.yml playbooks/modeles_vm/debian13_proxmox_nettoyer.yml -e template_cleanup_confirm=true
```
Ensuite :
```bash
sudo shutdown -h now
```
Puis côté Proxmox :
```bash
qm template VMID
```
## Important
Le pare-feu `nftables` est installé et préparé, mais il n'est pas activé par défaut dans le template.
C'est volontaire pour éviter de couper SSH pendant la construction.