Ambientes¶
Três ambientes ativos. Cada componente é deployado independente, mas dentro do mesmo ambiente eles apontam uns pros outros.
URLs¶
| Ambiente | API | Frontend | Notas |
|---|---|---|---|
| Local | http://localhost:8000 |
http://localhost:5173 |
Docker Compose na api; npm run dev no cliente. |
| Staging | https://staging.api.carbonfreebrasil.com |
https://homolog.app.carbonfreebrasil.com |
Seguro testar. Pipeline async funciona ponta a ponta. |
| Prod | https://api.carbonfreebrasil.com |
https://app.carbonfreebrasil.com |
Nunca testar diretamente. |
Endpoints internos (Lambda ARNs, fila SQS, buckets S3) ficam em Notion privado — não publicar aqui.
Auth0¶
Tenants diferentes por ambiente. Variáveis AUTH0_* apontam pro tenant correto via .env. Tenant de teste fica isolado, usado pelo CI.
Como ambiente vira ambiente¶
| Componente | Como sobe em staging/prod |
|---|---|
api-carbon-free |
Push em main → deploy EC2 via SSH (workflow .github/workflows/deploy-ec2.yml) |
Carbon_Free_Cliente |
Build estático → S3 + CloudFront (detalhar quando documentar) |
lambda_chunk_processor |
./build.sh → upload do zip pro Lambda |
calculo_automatizado_ghg |
Upload manual ou pipeline próprio (verificar) |
Deploy de cada componente é decisão do repo dono — esta doc só sinaliza onde olhar.
Decisões cross-cutting¶
ADRs que afetam mais de um repo (ex: mudança no contrato SQS, troca de IdP) vivem aqui em docs/decisoes/ (ainda vazio). ADRs específicas de um repo continuam no MkDocs daquele repo.