flowchart TB subgraph L0["Merge request et outils MCP bornés"] direction LR L0N0["Merge request GitLab
Commits d’ingénierie · Helm / Kustomize / code applicatif"] L0N1["Copilote de vérification préalable
Proposition de manifestes · rapport de préparation · différences"] L0N0 -->|"Webhook / revue demandée"| L0N1 L0N2["Serveur MCP à schéma restreint
Outils typés · identités limitées à la lecture côté serveur"] L0N1 -->|"Appels d’outils validés"| L0N2 end subgraph L1["Périmètre d’exécution approuvé"] direction LR L1N0["Point d’accès de modèle privé
Self-hosted OpenShift AI / vLLM inside perimeter"] L1N1["Inspection du cluster en lecture seule
Quotas · SCC · topologie actuelle ; aucune mutation en production"] L1N2["HashiCorp Vault / External Secrets
External Secrets Operator · accès contrôlé à l’exécution"] end subgraph L2["Contrôles de livraison déterministes"] direction LR L2N0["Étape de sécurité GitLab CI
Trivy / Grype · SBOM Syft · signature Cosign"] L2N1["Validation des politiques
OPA / Kyverno · compatibilité SCC · quotas"] L2N0 -->|"Construction et analyse des artefacts"| L2N1 L2N2["Approbation humaine protégée
Relecteurs obligatoires · branches protégées · fusion approuvée"] L2N1 -->|"Réussite des contrôles configurés"| L2N2 end subgraph L3["Exécution GitOps et preuves"] direction LR L3N0["Argo CD
ApplicationSets · état souhaité approuvé"] L3N1["OpenShift en production
Admission · RBAC des charges · mTLS configuré"] L3N0 -->|"Réconciliation après approbation"| L3N1 L3N2["SIEM et dépôt de preuves
Événements expurgés · attestations · politique de conservation"] L3N1 -->|"Événements et preuves d’exécution"| L3N2 end L0N1 -.->|"Le copilote joint les différences des manifestes et le rapport à la revue humaine."| L0N0 L0N1 -.->|"Le trafic du modèle utilise un point d’accès privé et une région de traitement approuvés."| L1N0 L0N2 -.->|"L’identité de lecture inspecte l’état ; elle ne peut pas déployer en production."| L1N1 L0N0 -.->|"La merge request déclenche la CI ; la sortie IA ne contourne pas les contrôles."| L2N0 L2N2 -.->|"Seule la fusion approuvée modifie l’état souhaité de GitOps."| L3N0 L1N2 -.->|"ESO récupère les secrets d’exécution autorisés."| L3N1 L0N2 -.->|"Les événements d’outils expurgés sont collectés selon la politique d’audit approuvée."| L3N2 L3N0 -.->|"Les reçus de synchronisation rejoignent les attestations dans le dépôt de preuves."| L3N2 %% Les serveurs MCP appliquent une validation JSON Schema stricte et des identités en lecture seule. Tout changement d’état doit franchir les contrôles GitLab CI, les politiques OPA/Kyverno et l’approbation humaine avant la synchronisation Argo CD. %% Topologies de référence, et non une garantie d’adéquation à votre parc. Les versions de protocole, les frontières réseau, les rôles et les objectifs de service sont fixés dans le design de bas niveau pendant le Sprint d’évaluation.