Configuração básica — variáveis eCosif Angular
Repositório: disoft/ecosif-angular
Versão (referência): ver package.json (ex.: 0.0.00.202605273)
Documentação relacionada: README.md
Fonte da verdade (operacional): este ficheiro lista as variáveis
ECOSIF_*aceites na task ECS / Docker. No arranque do contentor,conf/scripts/docker-entrypoint.shnormaliza esses valores e geraassets/config/config.jsoneassets/env.jscom os mesmos dados (validação de paridade no startup). A app lêwindow.env→environment.prod.tse, em produção,config.jsonviaAppConfigService.
Variáveis obrigatórias
1. Inicialização Básica
| Variável | Exemplo | Descrição |
|---|---|---|
ECOSIF_ANGULAR_PORT |
8080 |
Porta em que o Nginx escuta |
APP_PORT |
8080 |
Alias usado pelo entrypoint (mesmo valor) |
ECOSIF_ENABLE_RUNTIME |
— | Ignorada na task: o entrypoint força sempre true (config.json + env.js). Alias ECOSIF_ANGULAR_PRODUCTION / IS_PROD idem. Ambiente lógico: ECOSIF_ENVIRONMENT. |
ECOSIF_ANGULAR_API_AUTH_URL |
/ecosif-auth |
Api de Login / Autorização |
ECOSIF_ANGULAR_API_MASTERDATA_URL |
/ecosif-masterdata |
Api responsável pelos dados principais do sistema |
ECOSIF_ANGULAR_API_QUERYS_URL |
/ecosif-querys |
Api responsável por consulta de resultos em tela |
ECOSIF_ANGULAR_API_MOVIMENTS_URL |
/ecosif-moviments |
Api que executa lançamento e contabiliza |
ECOSIF_ANGULAR_API_REPORTS_URL |
/ecosif-reports |
Api responsável pela geração de relatórios |
ECOSIF_ANGULAR_API_COMPLIANCE_URL |
/ecosif-compliance |
Api responsável por validar dados para Cosif |
ECOSIF_API_BASE_URL |
https://{api-id}.execute-api.us-west-1.amazonaws.com |
As URLs ficam {base}/ecosif-auth/, {base}/ecosif-masterdata/, etc. Em domínio único com paths relativos, não é necessário definir ECOSIF_API_BASE_URL. |
Health check sugerido: GET /health na porta configurada (ECOSIF_ANGULAR_PORT / APP_PORT).
2. Variaveis Extra para login
| Variável | Valor | Descrição |
|---|---|---|
ECOSIF_ENABLE_LOCAL_AUTH |
— | Ignorada na task: o entrypoint força sempre true (formulário e botão Entrar local). |
ECOSIF_AZURE_CLIENT_ID |
00000000-0000-0000-0000-000000000000 |
Id do client na Azure |
ECOSIF_AZURE_TENANT_ID |
00000000-0000-0000-0000-000000000000 |
Id do tenant na Azure |
ECOSIF_AZURE_AUTHORITY |
https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000 |
Url de autorização para login usando Azure |
As três variáveis abaixo são obrigatórias em conjunto. Se faltar uma, enableAzureAuth será false e o botão Microsoft não aparece.
O MSAL usa redirectUri: '/' (mesma origem do SPA). O App Registration no Entra ID deve ter essa URL como Redirect URI (SPA).
3. Variáveis recomendadas
| Variável | Valor sugerido | Descrição |
|---|---|---|
ECOSIF_ENVIRONMENT |
dev, qas, production |
Rótulo de ambiente em config.json |
ECOSIF_ANGULAR_AUTH_TOKEN |
ex. ecosif-jwt |
Nome da chave no localStorage onde o JWT é guardado (não é o secret do backend) |
TOKEN_EXPIRATION |
1800000 |
Expiração do token em ms (config.json) |
ECOSIF_ANGULAR_DEBUG |
false |
Modo debug |
ECOSIF_ANGULAR_HIDE_ADMIN_MENU |
false (dev/qas) / true (prod) |
Oculta menu "Ferramentas Administrativas" |
ECOSIF_PAGINATION_SIZE |
100 |
Tamanho padrão de paginação |
ECOSIF_VERSION |
ex. 0.0.00.202605273 |
Versão exibida em config.json (alinhar com package.json) |
Exemplo — task definition Fargate (environment)
Imagem de referência: disoft/ecosif-angular:<versão-do-package.json>
[
{ "name": "ECOSIF_ANGULAR_PORT", "value": "8080" },
{ "name": "APP_PORT", "value": "8080" },
{ "name": "ECOSIF_ENABLE_RUNTIME", "value": "true" },
{ "name": "ECOSIF_ENVIRONMENT", "value": "dev" },
{ "name": "ECOSIF_ENABLE_LOCAL_AUTH", "value": "true" },
{ "name": "ECOSIF_ANGULAR_API_AUTH_URL", "value": "/ecosif-auth" },
{ "name": "ECOSIF_ANGULAR_API_MASTERDATA_URL", "value": "/ecosif-masterdata" },
{ "name": "ECOSIF_ANGULAR_API_QUERYS_URL", "value": "/ecosif-querys" },
{ "name": "ECOSIF_ANGULAR_API_MOVIMENTS_URL", "value": "/ecosif-moviments" },
{ "name": "ECOSIF_ANGULAR_API_REPORTS_URL", "value": "/ecosif-reports" },
{ "name": "ECOSIF_ANGULAR_API_COMPLIANCE_URL", "value": "/ecosif-compliance" },
{ "name": "ECOSIF_AZURE_CLIENT_ID", "value": "SEU-CLIENT-ID" },
{ "name": "ECOSIF_AZURE_TENANT_ID", "value": "SEU-TENANT-ID" },
{ "name": "ECOSIF_AZURE_AUTHORITY", "value": "https://login.microsoftonline.com/SEU-TENANT-ID" },
{ "name": "ECOSIF_ANGULAR_DEBUG", "value": "false" },
{ "name": "ECOSIF_ANGULAR_HIDE_ADMIN_MENU", "value": "false" },
{ "name": "TOKEN_EXPIRATION", "value": "1800000" }
]
Variáveis opcionais e aliases (podem ser omitidas)
| Variável | Obrigatória? | Notas |
|---|---|---|
ECOSIF_API_BASE_URL |
Não | Só se quiser compor URLs absolutas. Em domínio único (app.ecosif.com.br + paths /ecosif-*), omitir. |
ECOSIF_ANGULAR_API_*_URL (cada uma) |
Não* | *Se ECOSIF_API_BASE_URL estiver definida, o entrypoint monta {base}/ecosif-auth/, etc. Senão, use os paths relativos (tabela acima) ou os defaults /ecosif-auth, … |
APP_PORT |
Não | Alias de ECOSIF_ANGULAR_PORT (basta uma das duas). |
ECOSIF_VERSION |
Não | Default no entrypoint; alinhar com package.json em releases. |
ECOSIF_AZURE_* (3) |
Não | Só se usar login Microsoft; sem elas, enableAzureAuth=false. |
ECOSIF_ENABLE_LOCAL_AUTH |
Não | Default true. |
ECOSIF_ANGULAR_AUTH_TOKEN |
Não | Há fallback interno; definir em produção é recomendado. |
TOKEN_EXPIRATION |
Não | Default 1800000 (30 min). |
ECOSIF_ANGULAR_DEBUG |
Não | Default false. |
ECOSIF_ANGULAR_HIDE_ADMIN_MENU |
Não | Default true. |
ECOSIF_PAGINATION_SIZE |
Não | Default 100. |
ECOSIF_ENVIRONMENT |
Não | Rótulo (dev, qas, production); default production. |
ECOSIF_STORE_VARIABLES |
Não | Se true, grava diagnóstico em /var/log/ecosif/ e imprime no stdout (CloudWatch / Datadog). Secrets mascarados. |
Aliases legados (evitar em deploys novos): ECOSIF_ANGULAR_PRODUCTION, IS_PROD, API_BASE_URL, AUTH_TOKEN, IS_DEBUG — o entrypoint aceita, mas prefira ECOSIF_ENABLE_RUNTIME.
Não reduzir sem risco: ECOSIF_ENABLE_RUNTIME=true em Docker/ECS; URLs das APIs (6 paths ou ECOSIF_API_BASE_URL + defaults); porta HTTP (ECOSIF_ANGULAR_PORT ou APP_PORT).
Runtime no contentor (resumo)
ECOSIF_* → docker-entrypoint.sh
├─ config.json (AppConfig / login / MSAL)
├─ env.js (window.env → environment / services)
└─ validação: URLs e token iguais entre os dois ficheiros