Modèle de gouvernance Aquila GOV V1¶
Aquila GOV V1 fournit le socle conceptuel sur lequel l’édition PRO s’appuie. Cette page décrit les principes de gouvernance et les objets métier manipulés.
Objectifs¶
- Séparer clairement les rôles :
- développeurs / équipes projet ;
- DevOps / plateforme CI/CD ;
- exploitation / production ;
- gouvernance / sécurité.
- Centraliser les règles de décision sans coupler Aquila à un orchestrateur spécifique.
- Poser le vocabulaire commun pour l’édition PRO.
Concepts clés¶
- Projet : entité logique représentant une application ou un service (généralement un repository).
- Pipeline : chaîne d’exécution CI/CD (ex.
build,test,deploy-prod). - Branche : branche Git (ex.
main,develop,release/*,hotfix/*). - Demande d’exécution : événement remonté par le pipeline vers Aquila pour obtenir une décision.
- Décision :
accepted: Aquila autorise l’exécution ;refused: Aquila refuse l’exécution (raison explicite).
Gouvernance dans GOV vs PRO¶
- Dans GOV V1, le modèle est principalement déclaré et documenté.
- Dans PRO V1, ce modèle est implémenté dans le moteur de règles :
- fichiers
global_policy.jsonetprojects.json; - validation et enrichissement des demandes d’exécution.
Règles générales¶
Sans entrer dans le détail des algorithmes PRO, les catégories de règles sont :
- Règles globales (global policy)
- fenêtres horaires d’exécution ;
- interdiction de déploiement le week‑end ou certains jours ;
- freeze global (gel complet des déploiements).
- Règles par projet / pipeline / branche
- liste des branches autorisées / interdites ;
- pipelines autorisés en production vs recette ;
- limitation des déploiements simultanés.
- Règles dynamiques
- cooldown entre deux déploiements successifs ;
- limitations de fréquence.
L’édition PRO V1 met en œuvre ces règles de façon concrète, décrite dans pro/policy_engine.md.