Projeto eCosif 02/2026
ecosif-web (angular) -- versão: 0.7.01.202601282\ Notas de Versão e Impacto
| versão documento | data | responsável |
| 0.7.01.202601282 | 20/02/2026 | José Augusto de Lima Pereira |
Índice
Ecosif-angular - Release Notes e Impacto na Execução 2
1. Resumo executivo 2
2. Novidades e melhorias (release notes para o cliente) 3
2.1 Interface e funcionalidades 3
2.2 Configuração e build 4
2.3 Docker e deploy 4
3. Mudanças que afetam a execução do serviço 4
3.1 Variáveis de ambiente --- ação recomendada 4
3.2 Docker e imagem de produção 5
3.3 Context path e API Gateway 6
3.4 Build (CI/CD) 6
4. Checklist de atualização (0.6.00.x → 0.7.01.x) 6
\ {#section-1} =
Ecosif-angular - Release Notes e Impacto na Execução
Versão anterior: 0.6.00.x\ Versão atual: 0.7.01.x
Este documento descreve as alterações entre a versão 0.6.00.x e a versão 0.7.01.x, em formato de release notes para o cliente, e as mudanças que afetam a execução e a operação do serviço (build, Docker e variáveis de ambiente).
1. Resumo executivo {#resumo-executivo}
| Aspecto | 0.6.00.x (antes) | 0.7.01.x (atual) |
|---|---|---|
| Versão (referência) | 0.5.x / 0.6.00.x | 0.7.01.202601282 |
| Angular | 14.2.x | 14.2.x (mantido) |
| Configuração em runtime | window.env (envsubst no entrypoint) |
window.env + config.json (entrypoint com sed/envsubst) |
| Variáveis de ambiente | Nomes variados (API_AUTH, IS_DEBUG, APP_PORT, etc.) | ECOSIF_ANGULAR_* (padronizado) |
| Docker (produção) | Dockerfile único com envsubst | Dockerfile.prod multi-stage (Node build + Nginx), entrypoint dedicado |
| Health check | Conforme config Nginx (ex.: /healthcheck) | /health (Nginx) |
| Documentação | Dispersa / buildInfo | docs/ (technical, operational, functional, aws-ecs-api-gateway) |
A atualização pode exigir reconfigurar as variáveis de ambiente do contentor (ou do build) para os nomes ECOSIF_ANGULAR_* e garantir que o health check no ALB/API Gateway use o path /health.
2. Novidades e melhorias (release notes para o cliente) {#novidades-e-melhorias-release-notes-para-o-cliente}
2.1 Interface e funcionalidades {#interface-e-funcionalidades}
- Login: Melhorias no formulário de login (Azure AD e API interna), tratamento de erros e timeout; suporte a e-mail em vez de apenas username onde aplicável.
- Balancete Geral: Checkboxes independentes para "Gera Layout TXT" e "Gera Layout XML"; correção de download de XML; nomes de layout COS4010.BC e COS4010.XML (codigoDocumento); remoção do checkbox "Gera Arquivo BC" e correção de desabilitação de radio buttons PDF/TXT.
- Relatórios: Ajustes em Balancete Mensal (data fim do mês, filial padrão 999999999); padronização de limites e datas na listagem de lançamentos; correções em Relatório 4010 e termo de abertura e encerramento; filtro de relatório diário geral.
- Cadastros: Melhorias no formulário de criação de empresa e filial; validação de CNPJ (novo formato); campo CVM com validação alfanumérica; correções em cadastro de conta contábil e plano de contas referencial; máscaras (ngx-mask em vez de angular2-text-mask).
- Lançamentos / listagem: Validação dos campos lancamentoDe e lancamentoAte (máximo 5 caracteres); diagnóstico e inicialização do formulário de listagem; download único quando DRE não solicitado; paginação com infinite scroll e parâmetro configurável.
- Compliance: Módulo de compliance (regras, pré-validação, download); opção de XML no 4010; manutenção de regras.
- Administração: Tela de Logs Docker (consulta de logs de contentores); controle de visibilidade do menu admin via ECOSIF_ANGULAR_HIDE_ADMIN_MENU; interface de limpeza de consolidação.
- Sessão e usabilidade: Gerenciamento de sessão baseado em atividade do usuário (idle/keepalive); reforço de sessão e menu aberto; snack-bars para sucesso e erros em relatórios; loading e tratamento de erros de validação.
2.2 Configuração e build {#configuração-e-build}
- Configuração dinâmica em runtime: Suporte a
window.enve aconfig.json(gerado a partir deconfig.template.jsone variáveis de ambiente no entrypoint). - Variáveis padronizadas: Uso de ECOSIF_ANGULAR_API_AUTH_URL, ECOSIF_ANGULAR_API_MASTERDATA_URL, etc., e ECOSIF_ANGULAR_PRODUCTION como fonte da verdade para ambiente em runtime.
- Ambiente de produção:
environment.prod.tscom fallbacks para URLs relativas (ex.:/ecosif-auth,/ecosif-masterdata) e suporte a complianceApiUrl; MSAL (Azure) configurável via variáveis de build/runtime.
2.3 Docker e deploy {#docker-e-deploy}
- Dockerfile.prod: Build multi-stage (Node para compilar, Nginx para servir); otimização de camadas e uso de
npm ci; health check em /health. - Entrypoint: Script dedicado (
docker-entrypoint.shouconf/docker-entrypoint.sh) que geraenv.jse, quando aplicável,config.jsona partir das variáveis de ambiente (ECOSIF_ANGULAR_*). - Nginx: Configuração com
try_filespara SPA, cache para assets e endpoint /health retornando 200.
3. Mudanças que afetam a execução do serviço {#mudanças-que-afetam-a-execução-do-serviço}
3.1 Variáveis de ambiente --- ação recomendada {#variáveis-de-ambiente-ação-recomendada}
Os nomes das variáveis foram padronizados para o prefixo ECOSIF_ANGULAR_*. O entrypoint do contentor (0.7.01.x) espera essas variáveis para gerar window.env e, quando existir template, config.json.
Tabela de equivalência (0.6.00.x → 0.7.01.x):
| 0.6.00.x (antigo) | 0.7.01.x (atual) | Observação |
|---|---|---|
API_AUTH, API_BASE_URL + sufixos |
ECOSIF_ANGULAR_API_AUTH_URL |
Base do ecosif-auth (ex.: /ecosif-auth). |
| (idem para masterdata, moviments, querys, reports) | ECOSIF_ANGULAR_API_MASTERDATA_URL, ECOSIF_ANGULAR_API_MOVIMENTS_URL, ECOSIF_ANGULAR_API_QUERYS_URL, ECOSIF_ANGULAR_API_REPORTS_URL |
Bases das APIs; em domínio único use paths relativos. |
| (não existia) | ECOSIF_ANGULAR_API_COMPLIANCE_URL |
Base do ecosif-compliance (ex.: /ecosif-compliance). |
IS_PROD |
ECOSIF_ANGULAR_PRODUCTION |
true em produção; usado como fonte da verdade para ambiente. |
IS_DEBUG |
ECOSIF_ANGULAR_DEBUG |
Modo debug (ex.: false em prod). |
| (não existia) | ECOSIF_ANGULAR_HIDE_ADMIN_MENU |
true para ocultar menu "Ferramentas Administrativas" (ex.: Logs Docker). |
APP_PORT |
ECOSIF_ANGULAR_PORT |
Porta em que o Nginx escuta (ex.: 80). |
AUTH_TOKEN |
ECOSIF_ANGULAR_AUTH_TOKEN |
Chave localStorage do JWT (opcional). |
| (build) | ECOSIF_API_BASE_URL |
Em dev ou quando não há domínio único; em prod com domínio único não é necessário. |
| (Azure) | ECOSIF_AZURE_CLIENT_ID, ECOSIF_AZURE_AUTHORITY, ECOSIF_AZURE_TENANT_ID |
Login Azure AD (MSAL). |
| (não existia) | ECOSIF_PAGINATION_SIZE |
Tamanho padrão de paginação (ex.: 100). |
Importante: Em produção com domínio único (ex.: https://app.ecosif.banco.com.br), as bases das APIs são apenas paths relativos (/ecosif-auth, /ecosif-masterdata, etc.); não é obrigatório definir ECOSIF_API_BASE_URL no frontend.
3.2 Docker e imagem de produção {#docker-e-imagem-de-produção}
- Imagem: Na versão 0.7.01.x o deploy de produção usa Dockerfile.prod (multi-stage: Node → Nginx). O Dockerfile antigo (build + envsubst no CMD) pode ainda existir para outros contextos, mas o recomendado é Dockerfile.prod.
- Entrypoint: O contentor não usa apenas
envsubstsobre um único arquivos; usa um script que pode gerarenv.jseconfig.jsona partir das variáveis ECOSIF_ANGULAR_*. Garanta que todas as variáveis necessárias estejam definidas na task definition ou no docker-compose. - Porta: O Nginx escuta na porta 80 (ou na definida por ECOSIF_ANGULAR_PORT). Expor essa porta no ALB/API Gateway.
- Health check: O endpoint de health check é /health (retorna 200). Configure o ALB e o API Gateway para usar GET /health na porta 80.
3.3 Context path e API Gateway {#context-path-e-api-gateway}
- O frontend é servido na raiz do domínio (path
/). Não há context path no Nginx; o API Gateway encaminha/(e paths não reservados para as APIs) para o ALB do serviço ecosif-angular. - As chamadas das APIs são feitas para a mesma origem (ex.:
https://app.ecosif.banco.com.br/ecosif-auth/...). Confirme que ECOSIF_CORS nos backends inclui a URL exata do frontend.
3.4 Build (CI/CD) {#build-cicd}
- Node: Recomendado Node 14+ ou 16+; memória sugerida para build (ex.: 6GB) com
node --max_old_space_size=6144se necessário. - Comando:
npm ci(ounpm install) enpm run buildcom configuraçãoproduction. Variáveis de build (ECOSIF_ANGULAR_*) podem ser passadas no CI para sobrescrever fallbacks. - Saída:
dist/ecosif-web/. O Dockerfile.prod copia essa pasta para/usr/share/nginx/htmlno estágio Nginx.
4. Checklist de atualização (0.6.00.x → 0.7.01.x) {#checklist-de-atualização-0.6.00.x-0.7.01.x}
- [ ] Variáveis de ambiente: Atualizar para os nomes ECOSIF_ANGULAR_* na task definition, docker-compose ou arquivos de configuração (ver tabela em 3.1).
- [ ] Imagem Docker: Usar a imagem construída com Dockerfile.prod (multi-stage, Node + Nginx) e o entrypoint que gera
env.js(econfig.jsonse aplicável). - [ ] Health check: Configurar o ALB/API Gateway para GET /health na porta 80 do contentor.
- [ ] URLs das APIs: Em domínio único, definir apenas paths relativos (ex.:
ECOSIF_ANGULAR_API_AUTH_URL=/ecosif-auth); não é necessárioECOSIF_API_BASE_URLno frontend. - [ ] Menu admin: Definir
ECOSIF_ANGULAR_HIDE_ADMIN_MENU=trueem produção se a tela de Logs Docker (e outras ferramentas administrativas) não devam ser expostas a todos os utilizadores. - [ ] Produção: Definir
ECOSIF_ANGULAR_PRODUCTION=truepara que a aplicação considere o ambiente como produção (comportamento e chamadas às APIs). - [ ] Documentação: Após o deploy, validar o carregamento da SPA em
https://<domínio>/e o acesso às APIs (login, cadastros, relatórios) conforme o context path dos backends.