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>
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>