Aller au contenu principal

ADR-0128 : Console unique avec un espace Platform Manager, console Manager autonome conservée

Contexte​

Architecture produit, interfaces : le portail doit offrir un espace Platform Manager. Le Navin Platform Manager a sa propre console et sa propre API (RBAC, approbations, règles d'arrêt, délégation X-NM-On-Behalf-Of).

Décision​

Le portail est la console unique. Son espace Platform Manager passe par le domaine Control Plane eai.domains.platform_manager (routes /v1/platform-manager/..., rôle platform_admin). Le Control Plane relaie les lectures (synthèse avec comptes réels, services avec les cinq champs d'état et l'état administratif, fiche, nœuds, clusters, opérations) et les demandes d'opération avec l'identité de l'utilisateur du portail. Il audite chaque demande dans sa propre chaîne. Le Manager reste l'autorité : il décide avec son RBAC, ses approbations et ses règles d'arrêt, et renvoie l'operation_id. L'accès au Manager passe par une URL configurée (allowlist egress opérateur), un bundle CA optionnel et un jeton rangé comme référence de secret du domaine secrets.

La console Manager reste disponible seule : pour l'amorçage, avant que la plateforme existe, et pour la reprise quand le Control Plane est arrêté.

Conséquences​

Deux consoles existent pour le Manager, mais une seule règle d'autorisation : celle du Manager. Le Control Plane ne contourne jamais un refus, il le relaie en anglais et en français.

Preuves​

services/control-plane/tests/test_platform_manager_bridge.py, contre un vrai processus Manager (PostgreSQL réel, uvicorn) lancé par services/control-plane/tests/fixtures/platform_manager_server.py.