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
| Camada | Tecnologia |
|---|---|
| Backend | Go (module github.com/gbrlrg/infra-manager) |
| Front-end | React + Vite + TypeScript |
| Banco | PostgreSQL |
| Infra como código | Terraform (+ 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.