- 6 docs racine (README, HANDOVER, ARCHITECTURE, DECISIONS, INSTALL, OPERATIONS) - 9 docs thématiques dans docs/ - 10 templates docker-compose dans configs/ - 7 scripts Python/Shell d'import Furious vers Zitadel - 2 matrices RBAC Etat infra au 5 juin 2026 : - 88 users Furious importes dans Zitadel - 8 roles RBAC crees et attribues - Intranet filtre les cartes selon role (Approche A) - 7 outils SSO operationnels
150 lines
6.1 KiB
Markdown
150 lines
6.1 KiB
Markdown
# 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/
|