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.