Notre Couple — administration 1.1.1
Le panneau d'administration de NotreCouple est une surface séparée du runtime public.
| Élément | Valeur |
|---|---|
| URL | https://admin.notrecouple.fr |
| Namespace | notrecouple |
| Backend | Deployment/notrecouple-admin, 1 réplica stateless |
| Authentification | OAuth2 Proxy Google dédié, 1 réplica |
| Accès public | Ingress vers notrecouple-admin-oauth2-proxy uniquement |
| Base | PostgreSQL CloudNativePG NotreCouple |
| Santé backend | GET /healthz via probes Kubernetes |
| Supervision | Gatus sur la route publique SSO |
Séparation du site public
Le site notrecouple.fr n'expose ni route /admin, ni façade /api/v1/admin/**. Le panneau utilise son hostname dédié et son propre processus Python. Le backend public ne sert donc pas de chemin de contournement vers les opérations d'administration.
La chaîne d'accès est :
Internet
-> Traefik / admin.notrecouple.fr
-> notrecouple-admin-oauth2-proxy:80
-> notrecouple-admin:80
-> PostgreSQL CloudNativePG
La NetworkPolicy n'autorise que l'OAuth2 Proxy dédié à joindre le backend admin. Gatus n'obtient volontairement pas d'exception directe vers ce backend : sa disponibilité interne reste couverte par les probes Kubernetes, tandis que Gatus supervise la chaîne publique réellement utilisée. Le backend revalide en outre l'identité propagée, l'Origin attendu et le token CSRF pour les mutations.
Fonctions administratives
Le MVP 1.1.1 fournit :
- dashboard agrégé des comptes et couples ;
- recherche et pagination des comptes ;
- état de vérification et dernière activité ;
- suspension/réactivation et révocation des sessions ;
- renvoi de vérification e-mail et reset de mot de passe ;
- envoi d'un e-mail individuel via le Mail Gateway ;
- effacement RGPD via le contrat d'effacement existant ;
- journal des actions administratives.
Le backend ne lit pas les souhaits, réponses de jeu, négociations ou autres contenus intimes.
Secrets
Aucune valeur secrète n'est versionnée. La surface dépend notamment des Secrets hors Git utilisés pour PostgreSQL, Google OAuth, le cookie OAuth2 Proxy et l'identité de caller Mail Gateway.
Supervision
Gatus vérifie Notre Couple Admin public sur https://admin.notrecouple.fr/, avec redirections désactivées. Le résultat attendu est 302 vers le parcours Google SSO, certificat valide et temps de réponse borné.
Le backend /healthz reste utilisé par les startup/readiness/liveness probes du Deployment. On évite ainsi d'élargir la NetworkPolicy uniquement pour la supervision.
Le Command Center expose également un lien direct vers cette surface.
Diagnostic
kubectl -n notrecouple get deploy,pod,svc,ingress | grep admin
kubectl -n notrecouple logs deploy/notrecouple-admin --tail=100
kubectl -n notrecouple logs deploy/notrecouple-admin-oauth2-proxy --tail=100
Si le frontend admin répond mais que les données retournent 503, vérifier en priorité la connectivité PostgreSQL et la NetworkPolicy du data plane. Si la route publique boucle sur l'authentification, vérifier la redirect URI Google exacte https://admin.notrecouple.fr/oauth2/callback et les Secrets OAuth hors Git.
Références
-
241 : chantier panneau admin 1.1.1 ;
-
304 : surface admin privée, Google SSO et backend séparé ;
-
305 : accès PostgreSQL du composant admin.