Prophub Cloud Foundation

GitOps

Do pull request ao cluster: ArgoCD app-of-apps, Crossplane e o gate humano obrigatório.

O estado desejado vive em Git e é reconciliado continuamente pelo ArgoCD (padrão app-of-apps). Nenhuma mudança chega ao cluster sem PR aprovado por um humano.

Fluxo

  1. Humano ou agente propõe uma mudança e abre um Pull Request — em platform (componentes de plataforma, XRDs, Compositions, app-delivery) ou em tenants (onboarding, scaling, offboarding de tenant).
  2. Revisão humana — aprovação obrigatória. Este é o gate de segurança do modelo operacional.
  3. Merge → main registra o novo estado desejado.
  4. ArgoCD detecta o merge e aplica no cluster (selfHeal reverte drift automaticamente).
  5. Crossplane reconcilia os claims de tenant (quando aplicável), criando os building blocks.
  6. Karpenter provisiona nodes sob demanda no pool data/prophub se necessário.
  7. Validação do estado pós-apply — hoje feita por humano; a validação por agente é destino (AI Ops).

Um tenant fica operacional em menos de 10 minutos após o merge.

Repositórios

RepoConteúdoCiclo de vida
plat-eng-bootstrapSubstrato: Terraform (VCN/OKE/IAM) + seed do ArgoCDone-shot
plat-eng-platformComponentes de plataforma, XRDs/Compositions, app-deliverycontínuo
plat-eng-tenantsClaims por tenant (tenants/<nome>/*.yaml)por tenant
plat-eng-scaffolderO tool que gera app.yaml/CI e abre PRs de onboardingrelease

bootstrap só cria o cluster e semeia o ArgoCD uma vez — depois disso sai de cena, não é alvo de PR contínuo como os outros três. A separação por repo dá RBAC distinto, menor blast radius e ciclos de vida independentes. O provisionamento por tenant usa Crossplane + ArgoCD em vez de Terraform-por-tenant. Detalhe completo em ADR-0008-separacao-responsabilidades-repos.

Rollback

GitOps torna o rollback trivial: git revert → o ArgoCD reaplica o estado anterior em < 5 min. Para tenants, remover os YAMLs do Git faz o ArgoCD prune dos recursos.

On this page