Set-OPS-Public/exemples/modeles/integral
Daniel Allaire 1f9cc0a0d3 Modèles : nouveau modèle 'collaboration' + collaboration dans 'integral'
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>
2026-07-05 16:21:25 -04:00
..
inventories/production/group_vars Modèles : nouveau modèle 'collaboration' + collaboration dans 'integral' 2026-07-05 16:21:25 -04:00
plan Modèles : nouveau modèle 'collaboration' + collaboration dans 'integral' 2026-07-05 16:21:25 -04:00
README.md Modèle integral rafraîchi : 6 zones, fonctions éprouvées, VMID ip-miroir, nouveaux intrants 2026-07-05 01:04:29 -04:00

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

  1. Copier ce dépôt-modèle vers OPS-<votre-tenant> (dépôt d'instance autonome).
  2. Adapter :
    • plan/nomenclature.yml : index (identifiant unique du tenant → préfixe VMID + supernet 10.(10+index).0.0/16) et les sous_reseau/passerelle des 6 zones.
    • inventories/production/group_vars/all.yml : domaine_interne, fuseau_horaire, organisation, identite_realm.
    • plan/domaines.yml et les FQDN d'expose dans plan/applications.yml.
  3. Pointer le sélecteur (instance → OPS-<tenant>) puis make 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.