Remover o terraform do gateway deste repo
TLDR: Apagar o stack Terraform do gateway do repo de infraestrutura, porque ele foi migrado para o próprio repo do gateway — o time do gateway passa a gerir a sua infraestrutura de forma independente.
Contexto
A infraestrutura do gateway (namespaces, secrets, DNS) era gerida em infrastructure/src/stacks/shared/gateway/terraform/. Ela foi migrada para gateway/terraform/, com padrão baseado em workspace (staging/production).
Isso segue o princípio de isolamento entre repos: cada projeto é autossuficiente na sua própria infraestrutura, e a única interface com o repo de infraestrutura são os outputs de remote state.
Objetivos
- Nenhum código, script ou target de
makereferente ao gateway restar neste repo. - Os recursos (namespaces, secrets, DNS) continuam existindo — só mudam de repo dono.
Fora de escopo
- Destruir os recursos. O gateway continua no ar; a mudança é de propriedade do código, não do recurso.
Mudanças
Arquivos removidos
``` src/stacks/shared/gateway/terraform/ ├── backend.tf, data.tf, dns.tf, github-secrets.tf, kubernetes-secrets.tf ├── namespaces.tf, outputs.tf, provider.tf, redis-pvc.tf, variables.tf, versions.tf
bin/stacks/shared/gateway/ └── apply.sh, destroy.sh, health.sh, outputs.sh, plan.sh, status.sh ```
Makefiles
Remover de makefiles/stacks/shared.mk os targets shared.gateway.{apply,plan,status,health,outputs,destroy} e a variável SHARED_GATEWAY_TERRAFORM.
Novo dono dos recursos
| Recurso | Nova localização |
|---|---|
namespaces gateway-staging / gateway-production |
repo wehive/gateway, terraform/ |
secret gateway-secrets |
idem |
| registros DNS no Cloudflare (api e admin) | idem |
Como verificar
bash
grep -r "gateway.*terraform" makefiles/
grep -r "gateway" bin/stacks/shared/
# ambos sem resultado
Rollback: o terraform do gateway é recuperável do histórico do git —
git log --all --full-history -- src/stacks/shared/gateway/terraform/.
Documentação
- Detalhe da migração: spec
00006_terraform_migration_sopsno repo do gateway.
Resultado (2026-04-15): concluído. Os targets do gateway foram removidos de
makefiles/stacks/shared.mkjunto com a variávelSHARED_GATEWAY_TERRAFORM; os scripts embin/stacks/shared/gateway/já não existiam.