ADR-0125 : Propriété des services (PLATFORM_MANAGED, CLIENT_MANAGED) et six modes de déploiement
- Statut : accepté
- Date : 2026-10-30
- Version anglaise : en/ADR-0125-propriete-modes.md
Contexte
Kit, addendum 20.1. Une banque possède souvent déjà son PostgreSQL HA, son stockage ou son cluster Kubernetes. La plateforme doit s'y connecter sans prétendre en administrer le failover.
Décision
- Chaque cluster et chaque service porte un niveau de propriété :
PLATFORM_MANAGEDquand le Manager gère le cycle de vie,CLIENT_MANAGEDquand il contrôle seulement la connexion, la santé et les capacités autorisées. - Six modes de déploiement : une machine, un groupe de machines, un cluster Kubernetes existant, un cluster Kubernetes géré, plusieurs clusters, un service externe géré par le client.
- Sur un service
CLIENT_MANAGED, le backend refuse les actions destructrices (start, stop, upgrade, failover, restauration). La console les masque, mais le refus vient toujours du serveur. - Chaque composant a une politique de placement :
deployment_mode,cluster_id,node_pool,replicas,min_replicas,max_replicas,node_selector, affinité et anti-affinité,topology_spread, ressources demandées et limites,storage_class,disruption_budget,maintenance_policyetha_profile. Un plan de placement impossible est refusé.
Conséquences
Le Manager ne redémarre jamais un service qui ne lui appartient pas. Un mode qui ne peut pas être prouvé ici est marqué non supporté, avec la raison.
Preuves
KIT_AGENT_PLATEFORME_IA_ENTERPRISE/ADDENDUM_INFRA_HA_BACKUP_PRA.mdnavin-manager/server/src/navin_manager/availabilitynavin-manager/server/tests/test_availability_api.py