Pular para conteúdo

Projeto eCosif 02/2026

ecosif-masterdata (API Java) – versão: 0.7.01.202601280
Notas de Versão e Impacto

versão documento data responsável
0.7.01.202601280 20/02/2026 José Augusto de Lima Pereira

Índice

ecosif-masterdata — Release Notes e Impacto na Execução 3

1. Resumo executivo 3

2. Novidades e melhorias (release notes para o cliente) 3

2.1 Segurança e stack 3

2.2 Funcionalidades 4

2.3 Documentação e operação 4

3. Mudanças que afetam a execução do serviço 5

3.1 Variáveis de ambiente — ação obrigatória 5

3.2 Context path e API Gateway 6

3.3 Docker e imagem 7

3.4 Dependência local (ecosif-database) 7

4. Checklist de atualização (0.6.00.x → 0.7.01.x) 7

ecosif-masterdata — 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.

1. Resumo executivo

Aspecto 0.6.00.x (antes) 0.7.01.x (atual)
Versão 0.6.00.202503251 0.7.01.202601280
Java 11 17
Spring Boot 2.4.2 2.7.18
JWT JJWT 0.9.1 JJWT 0.11.5 (HMAC 256 bits)
Documentação API Swagger 2.9.2 / Springfox SpringDoc OpenAPI 3.0
Variáveis de ambiente Nomes em minúsculas (ecosif_*) Nomes em MAIÚSCULAS (POSTGRES_*, ECOSIF_*)
Biblioteca partilhada ecosif-database 0.6.00.202503251 ecosif-database 0.7.01.202512010

A atualização exige reconfigurar as variáveis de ambiente e garantir que o context path (ex.: /ecosif-masterdata) esteja alinhado com o API Gateway.

2. Novidades e melhorias (release notes para o cliente)

2.1 Segurança e stack

  • Migração para Java 17 e Spring Boot 2.7.18: atualização de runtime e framework para versões com suporte de longo prazo e correções de segurança.
  • JWT (JJWT 0.11.5): validação de tokens com HMAC SHA-256; mesma chave (AUTH_TOKEN_SECRET) que o ecosif-auth.
  • Dockerfile de produção: imagem multi-stage com Amazon Corretto 17, utilizador não-root e health check no Actuator.
  • OAuth2 desativável: quando o client id está vazio, o fluxo OAuth2 não é registrado (comportamento alinhado ao ecosif-auth).

2.2 Funcionalidades

  • Endpoint GET /user: permite refresh de token e consulta do utilizador autenticado.
  • Criação automática de saldos iniciais: ao criar empresa (com dados extras), são criados automaticamente registos em ct_plsaldos.
  • Configurações automáticas na criação de empresa: criação automática de QuotaCalculationConfiguration, FundSettings e CompanyOptions; correção de useDocument em CompanyOptions.
  • Complemento CNPJ na criação de filial: definição do complemento CNPJ na criação automática de filial.
  • Endpoint para verificar existência de lançamentos por dia: novo recurso para consulta de lançamentos por dia (integração com relatórios e validações).
  • Endpoint de logs Docker (administrativo): recurso opcional para consulta de logs de contentores (uso interno/admin).
  • Melhorias no processo de criação e exclusão de empresas: correções em BranchController, CompanyController e exclusão de empresa; campos obrigatórios na criação complementar de empresa; estruturação para padrão corporativo.
  • Código CVM: suporte a campo CVM (já presente em 0.6.00.x; mantido e alinhado ao modelo de dados).
  • Documentação OpenAPI 3.0: substituição do Swagger 2 / Springfox por SpringDoc; documentação em /swagger-ui.html e especificação em /v3/api-docs.
  • Tratamento global de exceções: GlobalExceptionHandler para respostas de erro padronizadas.

2.3 Documentação e operação

  • Documentação reorganizada: pasta docs/ com documentos por público (technical, operational, functional) e listagem de endpoints (docs/endpoints/).
  • Guia AWS (ECS + API Gateway): documento específico para implantação na Amazon (docs/aws-ecs-api-gateway.md).
  • Scripts de apoio: scripts/run-dev.sh para ambiente de desenvolvimento e scripts/test-login-and-api.sh para testes de login e chamadas à API.
  • Logback: arquivo logback-spring.xml para configuração de logs (formato default/json conforme variável).

3. Mudanças que afetam a execução do serviço

3.1 Variáveis de ambiente — ação obrigatória

Os nomes das variáveis passaram de minúsculas para MAIÚSCULAS. O arquivo env.template (formato antigo) foi removido; a configuração deve usar as variáveis abaixo.

Tabela de equivalência (0.6.00.x → 0.7.01.x):

0.6.00.x (antigo) 0.7.01.x (atual) Observação
ecosif_port ECOSIF_MASTERDATA_PORT Porta HTTP do serviço (ex.: 8080 ou 8081).
ecosif_context SERVER_SERVLET_CONTEXT_PATH Path da aplicação (ex.: /ecosif-masterdata para API Gateway).
ecosif_db_server POSTGRES_HOST Host do PostgreSQL.
ecosif_db_port POSTGRES_PORT Porta do PostgreSQL (ex.: 5432).
ecosif_db_login POSTGRES_DB Nome da base de dados.
ecosif_db_user POSTGRES_USER Utilizador do banco (ex.: ecosif_masterdata).
ecosif_db_password POSTGRES_PASSWORD Senha (usar repositório de segredos).
hibertenate_mode HIBERNATE_DDL_AUTO Em produção use validate; schema segue a lib ecosif-database.
ecosif_flyway (Flyway desativado por padrão no YAML) Se precisar de migrações, configurar via override.
auth_token_secret AUTH_TOKEN_SECRET Chave JWT (igual à do ecosif-auth).
token_expiration TOKEN_EXPIRATION Tempo de vida do token em ms (ex.: 86400000).
ecosif_cors ECOSIF_CORS Origens CORS permitidas (ex.: https://app.ecosif.banco.com.br).
auth2_clientid AUTH2_CLIENT_ID OAuth2 Google (opcional); se vazio, OAuth2 fica desativado.
auth2_secret AUTH2_SECRET OAuth2 Google (opcional).
ecosif_logshow ECOSIF_LOGSHOW Exibir SQL nos logs (ex.: false em prod).
ecosif_logmode_* ECOSIF_LOGMODE_ROOT, ECOSIF_LOGMODE_SPRING, etc. Níveis de log.
log_format LOG_FORMAT Nome do logback: default, json ou spring.
swagger_enabled (removido) SpringDoc está sempre disponível.

Variáveis de pool HikariCP: na versão atual estão com valores fixos no application.yml; não é necessário configurar ecosif_hk_*.

AWS S3 (se usar): AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION, AWS_S3_BUCKET — manter conforme documentação operacional.

3.2 Context path e API Gateway

  • Na versão 0.6.00.x o path podia ser / ou outro via ecosif_context.
  • Na versão 0.7.01.x, para integrar com um API Gateway único (ex.: https://app.ecosif.banco.com.br/ecosif-masterdata), é obrigatório definir:
  • SERVER_SERVLET_CONTEXT_PATH=/ecosif-masterdata
  • O health check passa a ser: /ecosif-masterdata/actuator/health (ou o path que configurou).
  • Exemplos de endpoints:
  • User: https://<domínio>/ecosif-masterdata/api/user
  • Swagger UI: https://<domínio>/ecosif-masterdata/swagger-ui.html
  • OpenAPI JSON: https://<domínio>/ecosif-masterdata/v3/api-docs

3.3 Docker e imagem

  • Imagem base: Amazon Corretto 17 (em vez de 11).
  • Entrypoint: o contentor usa conf/entrypoint-simple.sh; não utiliza o antigo env.template dentro da imagem.
  • Porta: configurável via ECOSIF_MASTERDATA_PORT (ex.: 8080 ou 8081).
  • Health check: no Dockerfile o health check usa o path do Actuator; em ambiente com context path, o ALB/API Gateway deve usar /<context-path>/actuator/health (ex.: /ecosif-masterdata/actuator/health).

3.4 Dependência local (ecosif-database)

  • O build da aplicação requer o JAR ecosif-database-0.7.01.202512010.jar (ou versão compatível indicada no pom.xml) na pasta libs/.
  • Em ambiente de build (CI/CD ou Docker build), essa dependência deve estar disponível; em runtime apenas o JAR da aplicação é necessário.

4. Checklist de atualização (0.6.00.x → 0.7.01.x)

  • [ ] Variáveis de ambiente: substituir todas as variáveis antigas (minúsculas) pelas novas (MAIÚSCULAS) na task definition, docker-compose ou arquivo de configuração.
  • [ ] Context path: definir SERVER_SERVLET_CONTEXT_PATH=/ecosif-masterdata (ou o path acordado) se o serviço for exposto via API Gateway.
  • [ ] Health check: atualizar o path para /ecosif-masterdata/actuator/health (ou o path correspondente) no ALB, API Gateway ou orquestrador.
  • [ ] CORS: confirmar que ECOSIF_CORS contém a URL exata do frontend (ex.: https://app.ecosif.banco.com.br).
  • [ ] JWT: a mesma AUTH_TOKEN_SECRET deve ser usada no ecosif-auth e no ecosif-masterdata (e nos demais serviços que validam o JWT).
  • [ ] Runtime: garantir que o ambiente de execução (host, ECS, Kubernetes) usa Java 17 (ou a imagem Docker Corretto 17 fornecida).
  • [ ] Documentação: após o deploy, validar acesso a /ecosif-masterdata/swagger-ui.html e /ecosif-masterdata/actuator/health conforme o context path configurado.