Set-OPS-Public/exemples/modeles/collaboration
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èles : nouveau modèle 'collaboration' + collaboration dans 'integral' 2026-07-05 16:21:25 -04:00

Modèle : collaboration

Socle + identité + collaboration8 VM : le modèle identite (socle infra + PostgreSQL/Redis + OpenLDAP + Keycloak) + un nœud collab exécutant Nextcloud (fichiers, documents, agendas, contacts) et Collabora Online (édition de documents, WOPI). SSO Keycloak, PG chiffré, exposés via l'edge.

C'est le cœur des offres maison-obnl (OBNL/coops) et cabinet (PME de professionnels) : le remplaçant souverain de Google Workspace / Microsoft 365.

Zones : Frontière (16) · Identité (17) · Données (18) · Services-infra (19) · Collaboration (20). VMID ip-miroir.

Exposé

  • cloud.<domaine> → Nextcloud (collab-01:80)
  • bureau.<domaine> → Collabora (collab-01:9980, WebSocket auto)

Les SAN du cert edge et le plancher /etc/hosts sont dérivés du plan (aucune liste manuelle) ; le vhost Collabora est WebSocket-aware via websocket: true.

Secrets de voûte requis (Ansible Vault)

vault_bd_nextcloud:      "..."   # mot de passe BD de l'utilisateur nextcloud
vault_nextcloud_admin:   "..."   # mot de passe admin Nextcloud initial
vault_nextcloud_oidc:    "..."   # secret du client OIDC 'nextcloud' (= côté Keycloak)

(plus ceux du modèle identite : vault_bd_keycloak, vault_keycloak_admin, PKI…)

Utilisation

cp -r exemples/modeles/collaboration ../OPS-<tenant>
# éditer : intrants (domaine_interne, organisation, identite_realm),
#   nomenclature.yml (index unique + supernet du tenant), domaines
ln -s ../OPS-<tenant> instance
make instancier-appliquer FORCE=1