Skip to content

Camada 7 — GitOps & app lifecycle (ArgoCD)

Esta camada gerencia o lifecycle de apps no K8s de forma declarativa. Manifest no git é a fonte de verdade; ArgoCD detecta diferenças e reconcilia.

Componentes

ComponentePapel
ArgoCD serverAPI + UI + autenticação
ArgoCD application controllerDetecta drift, faz sync
ArgoCD repo serverRender templates (Helm, Kustomize)
ApplicationSet controllerPropagação multi-cluster (substitui Karmada pra casos simples)

Decisões CPPS

  • 2 ArgoCDs independentes (1 por site) — autonomia local (ADR-001)
  • Repo single (colabhd/devops) com estrutura apps/franca/, apps/sp/, apps/multi/
  • Helm + Kustomize como templating engines
  • ApplicationSet pra propagação cross-cluster

Estado atual

  • ✅ ArgoCD Franca em produção (12 apps)
  • ❌ ArgoCD SP pendente
  • ❌ Refactor apps/ em estrutura por site
  • ❌ ApplicationSet pra apps multi-site

Princípio “Zero SSH manual”

O repositório é a única fonte de verdade. Toda mudança na infraestrutura é um commit. ArgoCD sincroniza automaticamente — edições manuais no cluster são revertidas.

Implica:

  • kubectl edit direto → ArgoCD reverte em ~5 min (selfHeal)
  • Arquivo removido do git → recurso removido do cluster (prune)
  • Commit em main → deploy automático

Referência cruzada