Aller au contenu

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.