Conceitos de GitOps
Princípio: Fonte da VerdadeEstado: Declarativo
O GitOps é um modelo operacional para aplicações nativas de nuvem que utiliza o Git como a "única fonte da verdade" para a infraestrutura e a configuração de aplicações.
💎 Os Quatro Princípios
Para que um sistema seja considerado GitOps, ele deve seguir estas diretrizes:
- Declarativo: O sistema deve ter seu estado descrito de forma declarativa (ex: Manifestos Kubernetes).
- Versionado e Imutável: O estado desejado é armazenado em um repositório Git, mantendo o histórico completo.
- Pull Automático: O sistema observa as mudanças no Git e as aplica automaticamente (ArgoCD).
- Reconciliação: O software monitora continuamente o estado atual e o corrige se houver divergência.
Separação de Repositórios
Uma prática recomendada é separar o repositório de Código Fonte do repositório de Configuração de Infraestrutura.
- Repositório de App: Contém o código (Java/Node/Python) e os fluxos do GitHub Actions.
- Repositório de Infra: Contém manifestos K8s, Helm Charts ou arquivos Kustomize.
info
Benefício Isso evita que builds infinitos ocorram quando o pipeline de CI atualiza a versão da imagem no manifesto de infra.