Pular para o conteúdo principal

InfraSpawn

Plataforma interna para gerenciar a infraestrutura AWS via Terraform e acompanhar os deploys das aplicações. É a ferramenta que provisiona e mantém o ambiente onde os outros sistemas rodam.

Stack

CamadaTecnologia
BackendGo (module github.com/gbrlrg/infra-manager)
Front-endReact + Vite + TypeScript
BancoPostgreSQL
Infra como códigoTerraform (+ Graphviz para grafos)

Backend (Go)

Entrada em backend/cmd/main.go; o código fica em backend/internal/ (api, config, crypto, db, models, services). Sobe em http://localhost:8080.

  • Autenticação por JWT (JWT_SECRET) e criptografia de dados sensíveis (ENCRYPTION_KEY, 32 bytes).
  • Aplica Terraform em workspaces isolados (backend/workspaces/).
  • Gera grafos de dependência do Terraform sob demanda (terraform graph | dot -Tsvg) — por isso o Graphviz é dependência.

Front-end (React/Vite)

Sobe em http://localhost:5173. Páginas em frontend/src/pages/: Dashboard, infrastructures, terraform, aws, cloudflare, applications, appTemplates, taskDefinitions, dockerBuilds, audit, changelogs, settings e autenticação (Login, ForgotPassword, ResetPassword).

Infraestrutura gerida

As definições de infraestrutura ficam em docs/*.tf. A base de rede (vpc-base.tf) provê VPC, subnets públicas/privadas, NAT, internet gateway, cluster ECS, RDS, ElastiCache (Redis), service discovery e registros na Cloudflare. Cada sistema tem seu arquivo (syens.tf, cpe.tf) sobre essa base.

Mudanças de infraestrutura passam pelo Terraform (versionado), não por alterações manuais no console da AWS.

Como rodar e deploy

Makefile com alvos deps-back, deps-front, dev, build-back, build-front; make dev sobe PostgreSQL + backend + frontend. Deploy recomendado no Heroku (container stack — o Dockerfile já inclui Terraform e Graphviz).

Veja também CI/CD e deploy.