Ce qui manquait aux modèles = la collaboration (Nextcloud/Collabora), placeholder
'rôles à construire' du README, désormais bâti.
- exemples/modeles/collaboration/ : socle + identité + nœud collab (8 VM, zone
Collaboration VLAN 20) ; nextcloud+collabora exposés (cloud/bureau, websocket auto),
base nextcloud, client Keycloak nextcloud. SANs edge + plancher auto-dérivés.
- integral : + collab-01 (zone Applications), nextcloud/collabora/base/client — il
tient enfin sa promesse de « tout ».
- README : collaboration ✅.
Les deux modèles instancient proprement (collab dérivé, expositions auto).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| inventories/production/group_vars | ||
| plan | ||
| README.md | ||
Modèle : integral
Écosystème souverain complet et éprouvé — le socle de référence pour un nouveau tenant.
12 VM réparties en 6 zones de sécurité (un /24 + VLAN chacune) :
| Zone | VLAN | Fonctions |
|---|---|---|
| Frontière | 16 | infra-edge (nginx), edge-mta (Postfix/rspamd) |
| Identité | 17 | id-ldap (OpenLDAP), id-sso (Keycloak) |
| Données | 18 | data-sql (PostgreSQL/Redis), sauvegarde (restic) |
| Services-infra | 19 | infra-dns (PowerDNS), infra-pki (step-ca), infra-mail (Dovecot) |
| Observabilité | 20 | obs (Prometheus/Loki/Grafana), sup (Icinga + BPM) |
| Applications | 21 | forge (Forgejo) |
Pour instancier un tenant
- Copier ce dépôt-modèle vers
OPS-<votre-tenant>(dépôt d'instance autonome). - Adapter :
plan/nomenclature.yml:index(identifiant unique du tenant → préfixe VMID + supernet10.(10+index).0.0/16) et lessous_reseau/passerelledes 6 zones.inventories/production/group_vars/all.yml:domaine_interne,fuseau_horaire,organisation,identite_realm.plan/domaines.ymlet les FQDN d'exposedansplan/applications.yml.
- Pointer le sélecteur (
instance → OPS-<tenant>) puismake instancier.
Dérivations automatiques
Le nom d'un serveur (data-sql-01) + la nomenclature suffisent : VMID, IP, VLAN, passerelle sont dérivés — rien à saisir. Le VMID suit le schéma ip-miroir (9 chiffres I·VVV·HHH·NN = index·VLAN·octet-hôte·séquence : il contient l'IP + le tenant).
Voir exemples/modeles/README.md pour le mécanisme général.