Pular para o conteúdo

GitOps com Argo CD e Flux

Avançado20 min de leituracicd

GitOps mantém a declaração de infraestrutura e aplicações no Git e usa um agente no ambiente para reconciliar o estado real. O benefício não é “rodar kubectl pelo Git”: é ter versão, revisão, trilha de auditoria e recuperação para a mudança desejada.

pull request -> revisão/política -> merge -> controlador puxa -> reconcilia -> verifica saúde

O CI deve construir, escanear e assinar a imagem; em seguida propõe no repositório de configuração a troca para um digest imutável. Argo CD ou Flux puxa essa alteração com credencial limitada ao cluster. Isso reduz a necessidade de o CI possuir acesso direto a produção e permite observar drift: algo foi alterado fora da fonte de verdade.

spec:
source:
repoURL: https://git.exemplo.com/plataforma/ambientes.git
path: apps/producao/minha-api
targetRevision: main
syncPolicy:
automated: { prune: true, selfHeal: true }

Ative prune e selfHeal somente depois de entender o impacto: prune pode remover um recurso que saiu do Git por engano; selfHeal pode desfazer uma intervenção manual útil em incidente. Proteja branch principal, exija revisão de alterações de produção e separe projetos/tenants para limitar quais clusters e namespaces cada aplicação pode tocar.

Não coloque segredo em texto puro no Git, mesmo privado. Use operador de segredos, referência a cofre externo ou criptografia por destinatário, e limite quem pode decriptar. Em caso de erro, reverta o commit de configuração para o digest anterior e acompanhe a reconciliação e as métricas; não corrija manualmente o cluster sem registrar a mudança.

Próximo passo: aplique o princípio de menor privilégio em DevSecOps e opere workloads pela trilha de Kubernetes.