Commit graph

6 commits

Author SHA1 Message Date
5bbbdae4ed Catalogue de modeles d'ecosystemes : premier modele presence-web
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>
2026-06-24 10:38:51 -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
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
61e2c7ca67 Structurer l'exploitation Ansible Chezlepro 2026-06-21 15:13:45 -04:00
e8299dfc62 Ajout de nouveaux playbooke et rôles 2026-06-20 15:17:46 -04:00