# Seize Consulting — Infrastructure SSO & RBAC > Documentation complète de l'infrastructure auto-hébergée de Seize Consulting. > Stack Docker sur Scaleway, SSO Zitadel, RBAC sur intranet, import automatisé depuis Furious Squad. **Dernière mise à jour :** 5 juin 2026 **Mainteneur sortant :** Hedi Kalboussi (HKA) **Repère :** Jour 7 — Import 88 users + RBAC opérationnel --- ## 🚀 Démarrage rapide pour le nouveau mainteneur Si tu reprends ce projet, **lis dans cet ordre** : 1. **[HANDOVER.md](./HANDOVER.md)** — Ce qui marche, ce qui reste à faire, alertes, secrets exposés 2. **[ARCHITECTURE.md](./ARCHITECTURE.md)** — Comprendre comment tout s'imbrique 3. **[DECISIONS.md](./DECISIONS.md)** — Pourquoi tel choix plutôt qu'un autre 4. **[OPERATIONS.md](./OPERATIONS.md)** — Comment maintenir, dépanner, ajouter un outil 5. **[INSTALL.md](./INSTALL.md)** — Comment redéployer from scratch sur un nouveau serveur --- ## 📋 État actuel de l'infrastructure (au 5 juin 2026) ### Serveur - **Provider :** Scaleway - **OS :** Debian 13 (Trixie) - **Docker :** 29.5.1 - **IP publique :** 151.115.148.243 (à ne pas exposer dans la doc publique) - **Domaine principal :** `seizeconsulting.com` ### Services en production | Service | URL | Rôle | SSO | |---|---|---|---| | Traefik | `traefik.seizeconsulting.com` | Reverse proxy + TLS | ✅ | | Zitadel | `sso.seizeconsulting.com` | Identity Provider (IDP) | N/A | | Intranet | `intranet.seizeconsulting.com` | Page d'accueil + RBAC | ✅ | | Gitea | `git.seizeconsulting.com` | Forge Git | ✅ auto-registration | | n8n | `n8n.seizeconsulting.com` | Workflows | ✅ | | Portainer | `portainer.seizeconsulting.com` | Gestion Docker | ✅ | | Code Server | `code.seizeconsulting.com` | IDE web | ✅ | | Uptime Kuma | `status.seizeconsulting.com` | Monitoring | ✅ | ### Utilisateurs Zitadel - **88 collaborateurs Seize** importés depuis Furious Squad (jour 7) - **1 admin technique** : `zitadel-admin` - **1 service account** : `furious-import-service` (IAM_USER_MANAGER) - **1 client technique** : `login-client` (auto-créé par Zitadel) ### RBAC (Approche A : filtrage côté intranet) - **8 rôles** dans le project Zitadel "Infra Seize" : `direction`, `manager`, `expert`, `consultant_senior`, `consultant_junior`, `alternant`, `stagiaire`, `support` - **Filtrage** : l'intranet HTML cache/affiche les cartes selon le rôle de l'user (lu via fichier JSON statique `roles-mapping.json`) - **Limitation acceptée** : un user qui connaît l'URL directe d'un outil bypass le filtre --- ## 🗂️ Structure du repo ``` seize-infra-doc/ ├── README.md # ← Tu es ici ├── HANDOVER.md # 🚨 À LIRE EN PRIORITÉ ├── ARCHITECTURE.md # Vue d'ensemble technique ├── DECISIONS.md # Choix architecturaux et anti-patterns ├── INSTALL.md # Procédure d'install from scratch ├── OPERATIONS.md # Maintenance, dépannage, ajouts ├── install.sh # Script d'installation modulaire ├── .env.example # Template variables d'environnement │ ├── docs/ # Documentation thématique détaillée │ ├── 01-dns-prerequis.md │ ├── 02-traefik-setup.md │ ├── 03-zitadel-setup.md │ ├── 04-oauth2-proxy-pattern.md │ ├── 05-applications.md │ ├── 06-import-furious.md │ ├── 07-rbac-intranet.md │ ├── 08-secrets-management.md │ └── 09-troubleshooting.md │ ├── configs/ # Templates docker-compose anonymisés │ ├── traefik/ │ ├── zitadel/ │ ├── intranet/ │ ├── oauth2-proxy/ │ ├── gitea/ │ ├── n8n/ │ ├── portainer/ │ ├── code-server/ │ ├── uptime-kuma/ │ └── postgres/ │ ├── scripts/ # Scripts opérationnels │ ├── furious-to-zitadel/ # Scripts Python import users │ └── intranet/ # Template index.html avec RBAC │ └── matrices/ # Matrices RBAC et mappings ├── rbac-matrix.md └── job-title-to-role.csv ``` --- ## ⚠️ Avertissements importants 1. **Authentik** tourne encore sur le serveur mais **n'est plus utilisé** (migration faite vers Zitadel). À supprimer pour libérer ressources. 2. **Redis** tourne encore — vérifier s'il est utilisé par autre chose avant suppression. 3. **Secrets exposés dans des conversations IA** : voir [HANDOVER.md](./HANDOVER.md) pour la liste des rotations à faire. 4. **SMTP non configuré dans Zitadel** : les emails de bienvenue/reset password ne partent pas. Distribution des mdp temporaires se fait manuellement via Teams. 5. **Migration outils gratuits** vs **licences pro** : décision business reportée — voir [DECISIONS.md](./DECISIONS.md). --- ## 🆘 Support - **Mainteneur sortant** : Hedi Kalboussi (`HKA`) - **Sponsor projet** : Philippe Spoljaric (`PSP`, Admin Infra) - **CEO** : Pierre-Yves Tachon (`PYT`) Pour toute question, contacter d'abord Hedi pour passation, puis Philippe pour décisions architecturales. --- ## 📜 Historique du projet | Jour | Date | Étape majeure | |---|---|---| | J1 | 20 mai 2026 | Provisioning Scaleway + Docker + premiers tests | | J2 | 21 mai 2026 | Première tentative SSO via Authentik | | J3 | 26-29 mai 2026 | Migration Zitadel, 7 apps SSO configurées | | J4 | 30 mai 2026 | Gitea auto-registration, fix bug Traefik authRequestHeaders | | J5 | 1-2 juin 2026 | Analyse Furious API, plan migration outils gratuits | | J6 | 3-4 juin 2026 | Préparation import, briefings Philippe | | **J7** | **5 juin 2026** | **Import 88 users + RBAC opérationnel** | --- ## 🔗 Liens utiles - Console Zitadel : https://sso.seizeconsulting.com/ui/console - Dashboard Traefik : https://traefik.seizeconsulting.com (direction only) - Gitea : https://git.seizeconsulting.com - Documentation Zitadel : https://zitadel.com/docs - Documentation OAuth2-Proxy : https://oauth2-proxy.github.io/oauth2-proxy/ - Documentation Traefik : https://doc.traefik.io/traefik/