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 make referente 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_sops no repo do gateway.

Resultado (2026-04-15): concluído. Os targets do gateway foram removidos de makefiles/stacks/shared.mk junto com a variável SHARED_GATEWAY_TERRAFORM; os scripts em bin/stacks/shared/gateway/ já não existiam.