Introduction¶
Aquila est un composant de gouvernance d’exécution CI/CD. Il ne remplace pas les orchestrateurs existants (GitHub Actions, GitLab CI, Jenkins, etc.), mais se positionne en amont des pipelines pour :
- décider si une exécution est autorisée ou refusée ;
- appliquer des règles de gouvernance (fenêtres horaires, protection de branches, cooldown, freeze) ;
- tracer les décisions dans un historique exploitable (audit, indicateurs).
Aquila a été conçu pour répondre à plusieurs contraintes classiques des DSI :
- maîtriser le risque lié aux déploiements intempestifs ou hors plage ;
- disposer d’un point de contrôle unique pour les projets critiques ;
- faciliter l’audit technique (qui a déployé, quand, sur quelle branche, avec quelle décision).
Composants principaux¶
La solution se décline en deux briques complémentaires :
- Aquila GOV V1 : base commune, exposée via une API HTTP, fournissant les primitives de santé, de version, et la configuration de licences / éditions.
- Aquila PRO V1 : moteur de décision orienté organisation, capable de :
- centraliser des règles multi‑projets ;
- gérer un historique structuré ;
- exposer des métriques pour la supervision.
Public ciblé¶
- Équipes DevOps / Plateforme gérant des pipelines CI/CD mutualisés.
- Équipes Production / Exploitation en charge des mises en production.
- Responsables techniques souhaitant renforcer la gouvernance des déploiements.
Principes de conception¶
- Stateless côté API : l’état est externalisé (fichiers de configuration, base de données).
- Configuration externe : aucune donnée sensible ou spécifique au client n’est embarquée dans les images Docker.
- Interopérabilité : exposition HTTP/JSON simple, intégrable dans n’importe quel pipeline.
- Traçabilité : chaque décision métier est loggée et historisée.