exemples/modeles/ : instances pretes a deployer (socle + modules + presets).
Un hebergeur copie un modele, le renseigne a ses couleurs, instancie.
Remplace le demonstrateur jetable.
Premier modele : presence-web (socle souverain DNS/PKI/edge/mail + web
frontal/dorsal + donnees PG/Redis, 7 VM). Valide par generation :
ecosysteme complet et distinct (10.10.x), zero fuite Chezlepro.
.ansible-lint exclut exemples/ ; hosts generes ignores.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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>
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>