GitOps es un conjunto de principios para operar y manejar los sistemas de software. Estos principios se derivan de las operaciones de software modernas y también de las preexistentes prácticas aceptadas como estándares y buenas prácticas.
El estado deseado de un sistema manejado por GitOps debe ser:
-
Declarativo
Un sistema gestionado por GitOps debe tener su estado deseado expresado declarativamente.
-
Versionado e inmutable
El estado deseado es almacenado de forma que refuerza la inmutabilidad, el versionado y retiene una completa versión de su historial.
-
Se extraen automáticamente
Los agentes de software, extraen automáticamente las declaraciones de estado deseadas desde el código fuente.
-
Conciliación continua
Los agentes de software continuamente observan el estado actual del sistema e intentan aplicar el estado deseado.