Malgré l’existence de plateformes telles que Kubernetes, qui répliquent l'orchestration des conteneurs, il n’est pas toujours simple de fournir et de gérer des applications conteneurisées exécutées sur des systèmes de clusters ou dans le cloud. GitOps est une solution qui vise à utiliser les expériences et les outils issus du travail des développeurs pour la gestion des applications. Elle est régie par quatre principes de base:
- Description déclarative: les ressources sont décrites dans un langage formel et dans leur état souhaité.
- Automatisation: la mise en œuvre des descriptions issues du dépôt dans l’environnement d’exécution doit être intégralement automatisée. Elle doit pouvoir être reproduite et générer le même résultat même si elle est exécutée à plusieurs reprises.
- «Single Source of Truth»: un état du système doit être décrit de manière globale et univoque. Une seule source est applicable pour récapituler l’état général du système.
- Réconciliation: les agents de logiciels comparent l’état réel du système à l’état souhaité. Des actions adéquates sont lancées dès que des divergences apparaissent.