Path.relative_to(RACINE) levait quand l'instance est externe
(SETOPS_INSTANCE = ../OPS-laPreuve par ex.). Remplace par os.path.relpath
dans instancier.py / inventory_gui.py / config_proxmox.py.
Revele par une instance d'essai agnostique (lapreuve.local, 10.9.0.0/16) :
le moteur genere un inventaire distinct, zero fuite Chezlepro. Cas normal
(OPS-Chezlepro via symlink) inchange : diff vide, lint 0.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Rafraichir les chemins dans docs secondaires, README de roles, messages,
docstrings : inventories/ -> instance/inventories/, docs/<plan>.yml ->
instance/plan/<plan>.yml. Correction de chemins de playbooks perimes
(preexistants) dans CLAUDE.md/SOLUTION.md : vm_templates/..._prepare|
verify|cleanup -> modeles_vm/..._preparer|verifier|nettoyer, et
confirm_template_cleanup -> template_cleanup_confirm.
Valide : diff vide, ansible-lint 0 echec, make inventaire-verifier.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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>
make instancier-appliquer regenere inventories/production/hosts.yml
depuis le plan (serveurs.yml + applications.yml + nomenclature.yml).
Garde-fou : refuse si le diff n'est pas vide (FORCE=1 pour un changement
intentionnel) ; git est le filet.
Bascule effectuee avec diff vide verifie. hosts.yml est desormais un
artefact genere, semantiquement identique a l'ancien (make
inventaire-verifier complet OK, GUI charge 13 hotes).
NOTE : a ce stade le GUI edite encore hosts.yml directement. Tant que le
rework GUI n'est pas fait, editer le PLAN puis make instancier-appliquer.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
make instancier genere hosts.genere.yml (gitignore) depuis le plan
(serveurs.yml + applications.yml + nomenclature.yml) et compare
SEMANTIQUEMENT a l'inventaire actuel via ansible-inventory --list.
- scripts/instancier.py : generer + comparer (host vars derives, groupes
derives = socle + services (applications) + integrations (clients_*) + etat).
- serveurs.py bootstrap capture les clients_* comme 'integrations' par VM.
- inventory_rules : valide 'integrations'.
Resultat : DIFF VIDE -- le plan reproduit exactement les 13 hotes. La
bascule (hosts.yml genere + UI editant le plan) reste NON effectuee :
elle attend une validation explicite.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>