Commit graph

5 commits

Author SHA1 Message Date
b775b7f99d Neutraliser le moteur pour partage public (100% neutre)
Suppression de toute trace Chezlepro de l'outil (roles, scripts, docs
publiques, exemples, LICENSE). Prouve par scan exhaustif : git grep vide
pour chezlepro, asgard/TrueNAS, supernet reel 10.1.x.

Corrige 5 defauts de genericite fonctionnels (motd, app.ini Forgejo,
organisation openldap, nom AC step-ca, et IP reelles codees en dur dans
les defaults de roles -> plage d'exemple 10.0.x). LICENSE -> Alliance
Boreale. Fichiers mainteneur + CHANGELOG conserves (par decision).

La separation moteur/instance tient : OPS-Chezlepro surcharge deja ses
vraies valeurs de topologie. Verifie : make verifier exit 0 (4 tests).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 19:58:00 -04:00
780b1e6b24 Decouplage moteur/instance Phase 3 (modele A) : deux depots
Le contenu de instance/ part dans un depot d'instance dedie (OPS-Chezlepro).
Set-OPS devient le moteur pur (aucune donnee Chezlepro). L'instance est
montee via un symlink instance -> ../OPS-Chezlepro (gitignore) ; le defaut
SETOPS_INSTANCE=instance la resout sans config. Le moteur regenere
hosts.yml DANS le depot d'instance.

.ansible-lint exclut instance/. Valide : diff vide, ansible-lint 0 echec,
inventaire-verifier, instancier-appliquer. Modele A (freres) jusqu'a
preuve du concept ; modele B (sous-module) pour la meute ensuite.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 09:49:49 -04:00
3b7f3098f2 Decouplage moteur/instance Phase 2b : sortir l'inventaire
L'inventaire (hotes generes, group_vars, vault) quitte inventories/ pour
instance/inventories/. Suivent : ansible.cfg, Makefile (export
SETOPS_INSTANCE ?= instance + chemins derives), scripts (INSTANCE/),
config_proxmox.py, .gitignore. Docs primaires (AGENTS/README/
plan-et-generation/architecture) refletent le layout instance/.

Non destructif : diff vide, ansible-lint 0 echec, make inventaire-verifier
OK. (Docs secondaires a rafraichir ; Phase 3 : deux depots.)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 09:16:18 -04:00
ca0f95da28 Mettre les noms de roles et playbooks au singulier
serveurs_* -> serveur_, clients_ -> client_, suffixes pluriels au
singulier (serveur_web_dorsal/frontal, client_metrique, client_journal).

Renommage par tokens exacts : repertoires de roles, playbooks de groupes,
group_vars, variables internes des roles (serveur_nginx_*, conformite
ansible-lint), groupes du plan, constantes de code, docs. Faux-amis
preserves (serveurs_bd, scripts/serveurs.py, fonctions Python). Groupes
d'etat gardes au pluriel (hotes_actifs/planifies, modeles_vm).

Valide : ansible-lint 0 echec (0 var-naming), diff vide de la generation,
node --check, tous les registres. Ajout de .ansible-lint excluant docs/
(registres de donnees, pas du contenu Ansible).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 23:18:52 -04:00
30e405dc92 Doc : passe complete (le depot dit ce qu'il fait)
- docs/plan-et-generation.md (nouveau) : guide central -- modele
  (entites + liens), registres et schemas, reference make/CLI et vues
  GUI, flux editer-le-plan -> instancier -> appliquer, garde-fous.
- AGENTS.md : section « Le plan et la generation de l'inventaire »
  (regle d'or : hosts.yml est genere, ne pas l'editer).
- README.md : section plan + remplacement du flux legacy
  hote-planifier/ajouter par le flux par le plan ; liste des registres.
- Rafraichissement architecture-set-ops.md, nomenclature-vm.md,
  catalogue-services.md ; terminologie domaine -> fonction dans la prose.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 22:46:48 -04:00