Commit graph

4 commits

Author SHA1 Message Date
17f65efb18 Decouplage moteur/instance Phase 2a : sortir le plan
Les 5 registres (serveurs/applications/bases-donnees/domaines/nomenclature)
quittent docs/ pour instance/plan/. Localisation :
- scripts : variable d'env SETOPS_INSTANCE (defaut <depot>/instance) ;
- roles/playbooks : variable setops_plan_dir (group_vars d'instance).

docs/ ne garde que les guides .md + dependances-groupes.yml (moteur).
.ansible-lint exclut instance/plan/ (registres de donnees).

Non destructif : diff vide, ansible-lint 0 echec, include_vars via
setops_plan_dir teste. (Phase 2b : l'inventaire.)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 09:10:49 -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
69dd730b70 Phase 3 : generateur d'inventaire depuis le plan (diff vide prouve)
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>
2026-06-23 21:47:56 -04:00
1c96fb0acc Phase 2 : le serveur (VM) entre dans le plan (lecture seule)
Registre docs/serveurs.yml (VM = fonction + etat + placement/taille),
bootstrape depuis l'inventaire qui reste autorite. La derivation
nomenclature (fonction+rang -> VMID/IP/VLAN/passerelle) est portee en
Python (source unique) et reconciliee avec l'inventaire.

- inventory_rules : deriver_nomenclature, fonction_seq, charger/valider/
  reconcilier_serveur.
- scripts/serveurs.py : lister / verifier / bootstrap + cibles make,
  integre a inventaire-verifier.
- GUI : vue Serveurs (lecture seule) plan + derive + statut reconciliation.

Bootstrap : 13 serveurs, tous reconcilies (le derive reproduit exactement
l'inventaire -> diff vide atteignable en Phase 3).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 20:44:08 -04:00