GitOps é um conjunto de princípios para operar e gerenciar sistemas de software. Esses princípios são derivados de operações de software modernas, mas também estão enraizados em práticas recomendadas pré-existentes e amplamente adotadas.
O estado desejado de um sistema gerenciado por GitOps deve ser:
-
Um sistema onde seu estado desejado é expresso declarativamente.
-
O estado desejado é armazenado de uma forma que impõe imutabilidade, controle de versão e retém um histórico de versão completo.
-
Os agentes de software puxam ("pull") automaticamente as declarações de estado desejadas da origem.
-
Os agentes de software continuamente observam o estado real do sistema e tentam aplicar o estado desejado.