ADR-001 — ArgoCD por site
Status
Vigente — 2026-05-01.
Contexto
CPPS opera 2 sites (Franca, SP) interligados via UnespNet. ArgoCD reconcilia o estado desejado (manifests no git) com o estado real do cluster.
Há dois modelos possíveis:
- Centralizado: 1 ArgoCD num site gerenciando os 2 clusters
- Distribuído: 1 ArgoCD por cluster, cada um gerenciando seu próprio site
Decisão
2 instâncias independentes — uma em Franca, outra em SP.
Cada ArgoCD observa seu sub-conjunto do repo:
apps/├── franca/ ← ArgoCD Franca├── sp/ ← ArgoCD SP└── multi/ ← ApplicationSet propaga em ambosAlternativas rejeitadas
- ArgoCD central em Franca: se link UnespNet cai, SP perde reconciliação. Viola princípio de autonomia local.
- ArgoCD central com clusters externos registrados: mesma fraqueza — partição de rede paralisa SP.
Consequências
Positivas:
- Cada site sobrevive partição de rede; reconciliação local continua
- Falha de ArgoCD num site não afeta o outro
- Manifests próprios do site não atravessam link cross-site
Negativas:
- 2 instâncias pra manter (upgrade, config, backup)
- ApplicationSet ou propagação manual pra apps multi-site
- 2 webhooks pra git
- 2 conjuntos de RBAC sincronizados com Authentik
Critério de revisão
Reabrir se:
- Operar 2 ArgoCDs virar mais doloroso que ganho de autonomia
- Aparecer ferramenta que permita federação real sem dependência de link cross-site
- Mais de 5 clusters virarem realidade (Karmada começa a fazer sentido)