docs: hub SSO complet sur le domaine public funklab.online (HTTPS) (#94)

Met à jour toute la doc pour l'état final du 2026-07-07 :
- CLAUDE.md : état actuel (hub SSO + domaine/TLS), rôle Traefik versionné,
  secrets OIDC au vault, date
- README : section « Accès & authentification » réécrite (5 apps sur le
  domaine, chaîne DNS/Freebox/Traefik, lab-admins), roadmap, vault
- public-domain.md : tableau des apps déployées (URL, auth, redirect_uri)
  + modes d'intégration (OIDC / Proxy Provider / route seule)
- auth-portal.md : section « Accès externe » → domaine HTTPS (URLs à jour)
- auth-portal-admin.md : URL admin + pièges (slug/discovery 404 ArgoCD)
- guide utilisateur + index admin/ : URLs funklab.online

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
ALI YESILKAYA 2026-07-07 17:53:22 +02:00 committed by GitHub
parent 502403d0f9
commit a13b5a70cd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 92 additions and 55 deletions

View file

@ -90,35 +90,30 @@ kubectl -n auth create secret generic guacamole-secret \
3. Settings → Users : les comptes Authentik apparaissent après leur **premier login**
(`POSTGRESQL_AUTO_CREATE_ACCOUNTS=true`) → leur assigner les connexions (READ).
## Accès externe (Internet) — Authentik en hub utilisateur
## Accès externe (Internet) — domaine public HTTPS
**Authentik est la porte d'entrée** (page « My applications » : une tuile par app
autorisée), le SSO fait le reste. Choix assumé 2026-07-07 : exposition directe sans
VPN, simplicité d'abord (WireGuard reste dispo, cf. `admin/infra/wireguard.md`).
**Depuis le 2026-07-07, tout passe par le domaine `funklab.online` en HTTPS** (Let's
Encrypt). Authentik (`auth.funklab.online`) est la porte d'entrée ; le SSO fait le reste.
Détail complet de la chaîne (DNS OVH, Freebox, Traefik/TLS) : **`admin/k8s/public-domain.md`**.
| URL publique | Service | Chaîne |
|---|---|---|
| `http://kaya.freeboxos.fr:9081` | **Authentik** (hub + login) | Freebox `9081/tcp → s01` → DNAT → VIP MetalLB `192.168.10.201:9000` |
| `http://kaya.freeboxos.fr:9080` | Guacamole (via tuile SSO) | Freebox `9080/tcp → s01` → DNAT → VIP `192.168.10.202:8080` |
| URL publique | Service |
|---|---|
| `https://auth.funklab.online` | **Authentik** — hub + login |
| `https://portail.funklab.online` | Guacamole (consoles) |
| `https://grafana.funklab.online` · `https://openwebui.funklab.online` · `https://argocd.funklab.online` | apps SSO |
| `https://n8n.funklab.online` | n8n (login natif) |
- **URL canonique unique** : les endpoints OIDC de Guacamole pointent sur
`kaya.freeboxos.fr`**tout le monde, LAN inclus**, doit utiliser ces URLs (le LAN
repasse par la Freebox, hairpin NAT). `portail.lab.local` affiche encore l'UI mais
le SSO ramène sur l'URL publique.
- Les VIPs dédiées **contournent Traefik** : un DNAT par port ne peut pas router par
Host sur l'entrypoint unique :80.
- **Un seul compte par personne (Authentik)** — plus de comptes locaux Guacamole.
Parcours ami : `kaya.freeboxos.fr:9081` → login → tuile « Portail consoles » →
console. Nouvelle app plus tard = nouveau provider + tuile, zéro compte en plus.
- **Garde-fous** : rate-limit nftables (30 connexions neuves/min par service) +
protections applicatives (Authentik : flows/lockout ; Guacamole : ban 5 échecs).
⚠️ HTTP **non chiffré** : mots de passe interceptables en théorie — mots de passe
dédiés, MFA/TOTP Authentik recommandé pour durcir, TLS (vrai domaine + Let's
Encrypt) si l'usage s'installe.
- **URL canonique = le domaine**, LAN inclus (dnsmasq split-horizon : `*.funklab.online`
→ Traefik en interne). Les endpoints OIDC des apps pointent sur `*.funklab.online`.
- Les anciens ports `kaya.freeboxos.fr:9080/9081` (DNAT → VIPs MetalLB `.202`/`.201`)
**restent un chemin réseau** mais le SSO ramène sur le domaine.
- **Un seul compte par personne (Authentik)**. Nouvelle app = nouveau provider + tuile.
- **Garde-fous** : rate-limit nftables + TLS Let's Encrypt (plus de HTTP clair) +
protections applicatives (Authentik lockout, Guacamole ban 5 échecs). Durcissement
possible : MFA/TOTP Authentik.
Config côté Authentik (UI) : provider `guacamole` → **Redirect URI
`http://kaya.freeboxos.fr:9080/`** ; application « Portail consoles » → **Launch URL
`http://kaya.freeboxos.fr:9080/`**.
Config côté Authentik (UI) — Redirect URI par app : voir le tableau de
`admin/k8s/public-domain.md` (ex. Guacamole `https://portail.funklab.online/`).
## Pièges / notes