Instrucao tecnica implantacao preliminar 0.7.05.x
Projeto eCosif 05/2026
Instrução Técnica de Implantação
versão: 0.7.05.20260528x
| versão documento | data | responsável |
|---|---|---|
| 0.7.05.20260528x | 28/05/2026 | José Augusto de Lima Pereira |
Modelo de entrega ao cliente¶
O cliente não recebe os fontes do projeto. A entrega é feita por:
-
imagens Docker para módulos ECS (angular, auth, masterdata, moviments, querys, reports, compliance)
-
pacote ZIP para ecosif-automations executado em AWS Lambda
Não há build no cliente (mvn, npm, etc.). O processo é configuração de ambiente, deploy dos artefatos e integração com AWS.
Referências de infraestrutura no repositório:
- url: https://files.disoft.com.br/
pasta: itau-ecosif/0_7_05_X/aws/example/
Indice
Modelo de entrega ao cliente 2
- Introdução e versões 5
1.1 Versões dos módulos (release 0.7.05) 5
- Arquitetura geral e mapeamento de URLs 6
2.1 Diagrama de alto nível (fluxo utilizador e APIs) 6
2.2 Diagrama de dependências entre módulos (preliminar) 6
2.3 Domínio único (produção) 6
2.4 Automations no fluxo 7
2.5 Componentes 7
2.6 Sequencia de ações — caminho imediato 8
- Pré-requisitos e criação do banco de dados 9
3.1 Pré-requisitos gerais 9
3.2 Criação do banco (exemplo SQL) 9
- Variáveis de ambiente (visão geral) 10
4.1 Compartilhadas 10
4.2 Referência operacional 10
- ecosif-angular (frontend) 11
5.1 Função e tecnologia 11
5.2 Variáveis de ambiente 11
Variáveis opcionais recomendadas (ecosif-angular) 11
5.3 Passo a passo de implantação (ecosif-angular) 12
- ecosif-auth 13
6.1 Função e tecnologia 13
6.2 Variáveis de ambiente 13
Variáveis opcionais recomendadas (ecosif-auth) 13
6.3 Passo a passo de implantação (ecosif-auth) 14
- ecosif-masterdata 15
7.1 Função e tecnologia 15
7.2 Variáveis de ambiente 15
Variáveis opcionais recomendadas (ecosif-masterdata) 15
7.3 Passo a passo de implantação (ecosif-masterdata) 16
- ecosif-moviments 17
8.1 Função e tecnologia 17
8.2 Variáveis de ambiente 17
Variáveis opcionais recomendadas (ecosif-moviments) 17
8.3 Passo a passo de implantação (ecosif-moviments) 18
- ecosif-querys 19
9.1 Função e tecnologia 19
9.2 Variáveis de ambiente 19
Variáveis opcionais recomendadas (ecosif-querys) 19
9.3 Passo a passo de implantação (ecosif-querys) 20
- ecosif-reports 21
10.1 Função e tecnologia 21
10.2 Variáveis de ambiente 21
Variáveis opcionais recomendadas (ecosif-reports) 21
10.3 Passo a passo de implantação (ecosif-reports) 22
- ecosif-compliance 23
11.1 Função e tecnologia 23
11.2 Variáveis de ambiente 23
Variáveis opcionais recomendadas (ecosif-compliance) 23
11.3 Passo a passo de implantação (ecosif-compliance) 24
- ecosif-automations (Lambda + SQS) 25
12.1 Função e tecnologia 25
12.2 Variáveis de ambiente 25
Variáveis opcionais recomendadas (ecosif-automations) 26
12.3 Passo a passo de implantação (ecosif-automations) 26
- Implementação na AWS (ECS, API Gateway, Lambda, SQS) 28
13.1 ECS + API Gateway (módulos HTTP) 28
13.2 Domínio e certificado 28
13.3 Automations 28
1. Introdução e versões¶
O eCosif é um ecossistema com frontend Angular e APIs backend para autenticação, cadastros, lançamentos, consultas, relatórios, conformidade e automação de importação.
1.1 Versões dos módulos (release 0.7.05)¶
| Módulo | Versão | Artefato |
|---|---|---|
| ecosif-angular | 0.7.05.202605286 | disoft/ecosif-angular:0.7.05.202605286 |
| ecosif-auth | 0.7.05.202605281 | disoft/ecosif-auth:0.7.05.202605281 |
| ecosif-masterdata | 0.7.05.202605281 | disoft/ecosif-masterdata:0.7.05.202605281 |
| ecosif-moviments | 0.7.05.202605281 | disoft/ecosif-moviments:0.7.05.202605281 |
| ecosif-querys | 0.7.05.202605281 | disoft/ecosif-querys:0.7.05.202605281 |
| ecosif-reports | 0.7.05.202605281 | disoft/ecosif-reports:0.7.05.202605281 |
| ecosif-compliance | 0.7.05.202605280 | disoft/ecosif-compliance:0.7.05.202605280 |
| ecosif-automations | 0.7.05.202605280 | ZIP Lambda *** |
*** nota:
Link download: https://files.disoft.com.br/
Caminho Interno: itau-ecosif/0_7_05_X/aws/lambda/ecosif_automations_0_7_05_202605280.zip
2. Arquitetura geral e mapeamento de URLs¶
2.1 Diagrama de alto nível (fluxo utilizador e APIs)¶
2.2 Diagrama de dependências entre módulos (preliminar)¶
2.3 Domínio único (produção)¶
Exemplo: https://app.ecosif.banco.com.br
| Path | Serviço | Runtime |
|---|---|---|
| / | ecosif-angular | ECS/Nginx |
| /ecosif-auth | ecosif-auth | ECS/Spring Boot |
| /ecosif-masterdata | ecosif-masterdata | ECS/Spring Boot |
| /ecosif-moviments | ecosif-moviments | ECS/Spring Boot |
| /ecosif-querys | ecosif-querys | ECS/Spring Boot |
| /ecosif-reports | ecosif-reports | ECS/Spring Boot |
| /ecosif-compliance | ecosif-compliance | ECS/Flask |
2.4 Automations no fluxo¶
O ecosif-automations não expõe rota HTTP pública via ECS/API Gateway. O fluxo ocorre por:
-
upload de arquivo no bucket S3
-
Lambda import
-
filas SQS (entries, consolidation.fifo, consolidation-defer)
-
Lambdas entries e consolidation
2.5 Componentes¶
2.6 Sequencia de ações — caminho imediato¶
Cenário típico quando \`IMPORT\_DEFER\_ENABLED=false\` e \`CONSOLIDATION\_DEFER\_ENABLED=false\`
3. Pré-requisitos e criação do banco de dados¶
3.1 Pré-requisitos gerais¶
-
PostgreSQL 12+
-
AWS: ECS, ECR, API Gateway, ACM, Lambda, SQS, S3, Secrets Manager
-
domínio e certificado TLS
-
chave JWT única para serviços Java (AUTH_TOKEN_SECRET)
-
AWS CLI autenticado para operações de deploy
3.2 Criação do banco (exemplo SQL)¶
CREATE DATABASE ecosif
WITH ENCODING = 'UTF8'
LC\_COLLATE = 'pt\_BR.UTF-8'
LC\_CTYPE = 'pt\_BR.UTF-8'
TEMPLATE = template0;
-- conectar: \\c ecosif
CREATE USER ecosif\_auth WITH PASSWORD '\<senha-auth\>';
GRANT ALL PRIVILEGES ON DATABASE ecosif TO ecosif\_auth;
GRANT ALL ON SCHEMA public TO ecosif\_auth;
CREATE USER ecosif\_masterdata WITH PASSWORD '\<senha-masterdata\>';
GRANT CONNECT ON DATABASE ecosif TO ecosif\_masterdata;
GRANT USAGE ON SCHEMA public TO ecosif\_masterdata;
CREATE USER ecosif\_moviments WITH PASSWORD '\<senha-moviments\>';
GRANT CONNECT ON DATABASE ecosif TO ecosif\_moviments;
GRANT USAGE ON SCHEMA public TO ecosif\_moviments;
CREATE USER ecosif\_querys WITH PASSWORD '\<senha-querys\>';
GRANT CONNECT ON DATABASE ecosif TO ecosif\_querys;
GRANT USAGE ON SCHEMA public TO ecosif\_querys;
CREATE USER ecosif\_reports WITH PASSWORD '\<senha-reports\>';
GRANT CONNECT ON DATABASE ecosif TO ecosif\_reports;
GRANT USAGE ON SCHEMA public TO ecosif\_reports;
CREATE USER ecosif\_compliance WITH PASSWORD '\<senha-compliance\>';
GRANT CONNECT ON DATABASE ecosif TO ecosif\_compliance;
GRANT USAGE ON SCHEMA public TO ecosif\_compliance;
Observação: ecosif-auth deve subir primeiro com Flyway para criar/atualizar schema.
4. Variáveis de ambiente (visão geral)¶
4.1 Compartilhadas¶
| Variável | Uso |
|---|---|
| POSTGRES_HOST, POSTGRES_PORT, POSTGRES_DB, POSTGRES_USER, POSTGRES_PASSWORD | Conexão banco |
| AUTH_TOKEN_SECRET | JWT compartilhado entre serviços Java |
| ECOSIF_CORS | CORS das APIs |
| HIBERNATE_DDL_AUTO | Política Hibernate |
| ECOSIF_LOGMODE_*, ECOSIF_LOGSHOW, LOG_FORMAT | Logging |
4.2 Referência operacional¶
As tabelas detalhadas por módulo estão nos release notes em:
-
url: ***https://files.disoft.com.br***
-
pasta: itau-ecosif/0_7_05_X/release/*
5. ecosif-angular (frontend)¶
5.1 Função e tecnologia¶
-
Função: Interface web (login, cadastros, lançamentos, consultas, relatórios e administração).
-
Stack: Angular, TypeScript, CoreUI, Bootstrap, Nginx (servir estáticos).
-
Versão: 0.7.05.202605286 (disoft/ecosif-angular:0.7.05.202605286).
5.2 Variáveis de ambiente¶
Definir na task/contentor do frontend. O entrypoint usa-as para gerar window.env / config.json. Com domínio único, as bases das APIs são paths relativos.
| Variável | Como utilizar | O que faz |
|---|---|---|
| ECOSIF_ANGULAR_API_AUTH_URL | /ecosif-auth | Base URL do auth. |
| ECOSIF_ANGULAR_API_MASTERDATA_URL | /ecosif-masterdata | Base do masterdata. |
| ECOSIF_ANGULAR_API_MOVIMENTS_URL | /ecosif-moviments | Base do moviments. |
| ECOSIF_ANGULAR_API_QUERYS_URL | /ecosif-querys | Base do querys. |
| ECOSIF_ANGULAR_API_REPORTS_URL | /ecosif-reports | Base do reports. |
| ECOSIF_ANGULAR_API_COMPLIANCE_URL | /ecosif-compliance | Base do compliance. |
| ECOSIF_ENABLE_RUNTIME | true em produção | Indicador de ambiente. |
| ECOSIF_ANGULAR_HIDE_ADMIN_MENU | true (prod) | Esconde menu Ferramentas Administrativas. |
| ECOSIF_ANGULAR_PORT | 80 | Porta Nginx no contentor. |
Variáveis opcionais recomendadas (ecosif-angular)¶
| Variável | Como utilizar | O que faz |
|---|---|---|
| ECOSIF_ANGULAR_DEBUG | true/false | Ativa logs/comportamentos de debug no frontend. |
| ECOSIF_ANGULAR_AUTH_TOKEN | token fixo (quando aplicável) | Token default para cenários específicos de integração. |
| ECOSIF_PAGINATION_SIZE | ex.: 100 | Tamanho padrão de paginação na UI. |
| ECOSIF_API_BASE_URL | URL absoluta, se necessário | Base global para APIs quando não usar apenas paths relativos. |
| ECOSIF_AZURE_CLIENT_ID, ECOSIF_AZURE_TENANT_ID, ECOSIF_AZURE_AUTHORITY | valores do Entra ID | Habilita autenticação Microsoft/Entra ID. |
5.3 Passo a passo de implantação (ecosif-angular)¶
-
Obter a imagem Docker do registo (ex.: ECR).
-
Configurar variáveis de ambiente na task definition (ECS) ou no contentor.
-
Executar o contentor (porta HTTP do Nginx) e validar health check /health.
-
Expor o serviço na raiz (path /) no API Gateway ou ALB.
-
Validar: abrir https://\<domínio> e verificar login.
6. ecosif-auth¶
6.1 Função e tecnologia¶
-
Função: Autenticação, emissão e validação de JWT.
-
Stack: Java 17, Spring Boot, Flyway, PostgreSQL.
-
Versão: 0.7.05.202605281 (disoft/ecosif-auth:0.7.05.202605281).
6.2 Variáveis de ambiente¶
| Variável | Como utilizar | O que faz |
|---|---|---|
| ECOSIF_AUTH_PORT | 8080 | Porta HTTP do serviço. |
| ECOSIF_AUTH_CONTEXT_PATH | /ecosif-auth | Context path para API Gateway/ALB. |
| POSTGRES_HOST, POSTGRES_PORT, POSTGRES_DB, POSTGRES_USER, POSTGRES_PASSWORD | Endpoint e credenciais do PostgreSQL | Conexão JDBC. |
| AUTH_TOKEN_SECRET | Secret forte e compartilhado | Chave JWT (deve ser igual nos módulos Java). |
| TOKEN_EXPIRATION | Ex.: 86400000 | Expiração do token em ms. |
| ECOSIF_CORS | URL do frontend | Origens permitidas no CORS. |
| HIBERNATE_DDL_AUTO | validate | Política de schema Hibernate em produção. |
| ECOSIF_FLYWAY_ENABLED | true na primeira subida | Executa migrações Flyway. |
| ECOSIF_LOGSHOW | true/false | Habilita saída de logs adicionais. |
Variáveis opcionais recomendadas (ecosif-auth)¶
| Variável | Como utilizar | O que faz |
|---|---|---|
| LOG_FORMAT | default/json | Formato de log no runtime. |
| ECOSIF_LOGMODE_ROOT, ECOSIF_LOGMODE_SPRING, ECOSIF_LOGMODE_HIBERNATE_SQL, ECOSIF_LOGMODE_HIBERNATE | ex.: INFO | Níveis de log por categoria. |
| AUTH2_CLIENT_ID, AUTH2_SECRET | credenciais OAuth2 | Integração opcional com OAuth2 social/corporativo. |
| SPRING_AUTOCONFIGURE_EXCLUDE | classe de auto-config | Ajusta boot de OAuth2 quando necessário. |
6.3 Passo a passo de implantação (ecosif-auth)¶
-
Obter imagem Docker do registo.
-
Configurar variáveis na task ECS; segredos via Secrets Manager.
-
Subir o serviço ECS com Flyway ativo na primeira execução.
-
Configurar health check: /ecosif-auth/actuator/health.
-
Mapear /ecosif-auth e /ecosif-auth/{proxy+} no API Gateway.
7. ecosif-masterdata¶
7.1 Função e tecnologia¶
-
Função: Gestão de dados mestres (empresas, filiais, fundos e entidades base).
-
Stack: Java 17, Spring Boot, PostgreSQL.
-
Versão: 0.7.05.202605281 (disoft/ecosif-masterdata:0.7.05.202605281).
7.2 Variáveis de ambiente¶
| Variável | Como utilizar | O que faz |
|---|---|---|
| ECOSIF_MASTERDATA_PORT | 8080 | Porta HTTP do serviço. |
| ECOSIF_MASTERDATA_CONTEXT_PATH | /ecosif-masterdata | Context path da API. |
| POSTGRES_HOST, POSTGRES_PORT, POSTGRES_DB, POSTGRES_USER, POSTGRES_PASSWORD | Endpoint e credenciais do PostgreSQL | Conexão JDBC. |
| AUTH_TOKEN_SECRET | Mesmo valor do auth | Validação JWT. |
| TOKEN_EXPIRATION | Ex.: 86400000 | Expiração de token. |
| ECOSIF_CORS | URL frontend | CORS do módulo. |
| HIBERNATE_DDL_AUTO | validate | Política de schema. |
| ECOSIF_LOGSHOW | true/false | Ativa logs adicionais. |
Variáveis opcionais recomendadas (ecosif-masterdata)¶
| Variável | Como utilizar | O que faz |
|---|---|---|
| LOG_FORMAT | default/json | Formato de saída de logs. |
| ECOSIF_LOGMODE_ROOT, ECOSIF_LOGMODE_SPRING, ECOSIF_LOGMODE_HIBERNATE_SQL, ECOSIF_LOGMODE_HIBERNATE | ex.: INFO | Níveis de log por categoria. |
| AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION, AWS_S3_BUCKET | quando necessário | Integração opcional com S3. |
7.3 Passo a passo de implantação (ecosif-masterdata)¶
-
Obter imagem Docker do registo.
-
Configurar variáveis de ambiente da task ECS.
-
Subir serviço ECS após ecosif-auth disponível.
-
Configurar health check /ecosif-masterdata/actuator/health.
-
Mapear /ecosif-masterdata e /ecosif-masterdata/{proxy+}.
8. ecosif-moviments¶
8.1 Função e tecnologia¶
-
Função: Processamento de lançamentos e movimentações contábeis.
-
Stack: Java 17, Spring Boot, PostgreSQL.
-
Versão: 0.7.05.202605281 (disoft/ecosif-moviments:0.7.05.202605281).
8.2 Variáveis de ambiente¶
| Variável | Como utilizar | O que faz |
|---|---|---|
| ECOSIF_MOVIMENTS_PORT | 8080 | Porta HTTP do serviço. |
| ECOSIF_MOVIMENTS_CONTEXT_PATH | /ecosif-moviments | Context path da API. |
| POSTGRES_HOST, POSTGRES_PORT, POSTGRES_DB, POSTGRES_USER, POSTGRES_PASSWORD | Endpoint e credenciais do PostgreSQL | Conexão JDBC. |
| AUTH_TOKEN_SECRET | Mesmo valor do auth | Validação JWT. |
| TOKEN_EXPIRATION | Ex.: 86400000 | Expiração de token. |
| ECOSIF_CORS | URL frontend | CORS do módulo. |
| HIBERNATE_DDL_AUTO | validate | Política de schema. |
| ECOSIF_LOGSHOW | true/false | Ativa logs adicionais. |
| AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION, AWS_S3_BUCKET | Quando houver integração de arquivos | Integração S3/AWS. |
Variáveis opcionais recomendadas (ecosif-moviments)¶
| Variável | Como utilizar | O que faz |
|---|---|---|
| ECOSIF_ENVIRONMENT | dev/hml/qas/prd | Identificação de ambiente na aplicação. |
| LOG_FORMAT | default/json | Formato de logs. |
| ECOSIF_LOGMODE_ROOT, ECOSIF_LOGMODE_SPRING, ECOSIF_LOGMODE_HIBERNATE_SQL, ECOSIF_LOGMODE_HIBERNATE | ex.: INFO | Níveis de log por categoria. |
8.3 Passo a passo de implantação (ecosif-moviments)¶
-
Obter imagem Docker do registo.
-
Configurar variáveis de ambiente da task ECS.
-
Subir serviço ECS após auth e masterdata.
-
Configurar health check /ecosif-moviments/actuator/health.
-
Mapear /ecosif-moviments e /ecosif-moviments/{proxy+}.
9. ecosif-querys¶
9.1 Função e tecnologia¶
-
Função: Consultas e leitura de dados operacionais/contábeis.
-
Stack: Java 17, Spring Boot, PostgreSQL.
-
Versão: 0.7.05.202605281 (disoft/ecosif-querys:0.7.05.202605281).
9.2 Variáveis de ambiente¶
| Variável | Como utilizar | O que faz |
|---|---|---|
| ECOSIF_QUERYS_PORT | 8080 | Porta HTTP do serviço. |
| ECOSIF_QUERYS_CONTEXT_PATH | /ecosif-querys | Context path da API. |
| POSTGRES_HOST, POSTGRES_PORT, POSTGRES_DB, POSTGRES_USER, POSTGRES_PASSWORD | Endpoint e credenciais do PostgreSQL | Conexão JDBC. |
| AUTH_TOKEN_SECRET | Mesmo valor do auth | Validação JWT. |
| TOKEN_EXPIRATION | Ex.: 86400000 | Expiração de token. |
| ECOSIF_CORS | URL frontend | CORS do módulo. |
| HIBERNATE_DDL_AUTO | validate | Política de schema. |
| ECOSIF_LOGSHOW | true/false | Ativa logs adicionais. |
Variáveis opcionais recomendadas (ecosif-querys)¶
| Variável | Como utilizar | O que faz |
|---|---|---|
| LOG_FORMAT | default/json | Formato de logs. |
| ECOSIF_LOGMODE_ROOT, ECOSIF_LOGMODE_SPRING, ECOSIF_LOGMODE_HIBERNATE_SQL, ECOSIF_LOGMODE_HIBERNATE | ex.: INFO | Níveis de log por categoria. |
| AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION, AWS_S3_BUCKET | quando necessário | Integração opcional com AWS/S3. |
9.3 Passo a passo de implantação (ecosif-querys)¶
-
Obter imagem Docker do registo.
-
Configurar variáveis de ambiente na task ECS.
-
Subir serviço ECS após moviments.
-
Configurar health check /ecosif-querys/actuator/health.
-
Mapear /ecosif-querys e /ecosif-querys/{proxy+}.
10. ecosif-reports¶
10.1 Função e tecnologia¶
-
Função: Geração e disponibilização de relatórios.
-
Stack: Java 17, Spring Boot, PostgreSQL.
-
Versão: 0.7.05.202605281 (disoft/ecosif-reports:0.7.05.202605281).
10.2 Variáveis de ambiente¶
| Variável | Como utilizar | O que faz |
|---|---|---|
| ECOSIF_REPORTS_PORT | 8080 | Porta HTTP do serviço. |
| ECOSIF_REPORTS_CONTEXT_PATH | /ecosif-reports | Context path da API. |
| POSTGRES_HOST, POSTGRES_PORT, POSTGRES_DB, POSTGRES_USER, POSTGRES_PASSWORD | Endpoint e credenciais do PostgreSQL | Conexão JDBC. |
| AUTH_TOKEN_SECRET | Mesmo valor do auth | Validação JWT. |
| TOKEN_EXPIRATION | Ex.: 86400000 | Expiração de token. |
| ECOSIF_CORS | URL frontend | CORS do módulo. |
| HIBERNATE_DDL_AUTO | validate | Política de schema. |
| ECOSIF_LOGSHOW | true/false | Ativa logs adicionais. |
| AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION, AWS_S3_BUCKET | Quando houver bucket de relatórios | Integração S3/AWS. |
Variáveis opcionais recomendadas (ecosif-reports)¶
| Variável | Como utilizar | O que faz |
|---|---|---|
| LOG_FORMAT | default/json | Formato de logs. |
| ECOSIF_LOGMODE_ROOT, ECOSIF_LOGMODE_SPRING, ECOSIF_LOGMODE_HIBERNATE_SQL, ECOSIF_LOGMODE_HIBERNATE | ex.: INFO | Níveis de log por categoria. |
10.3 Passo a passo de implantação (ecosif-reports)¶
-
Obter imagem Docker do registo.
-
Configurar variáveis de ambiente na task ECS.
-
Subir serviço ECS após querys.
-
Configurar health check /ecosif-reports/actuator/health.
-
Mapear /ecosif-reports e /ecosif-reports/{proxy+}.
11. ecosif-compliance¶
11.1 Função e tecnologia¶
-
Função: Execução de regras e validações de conformidade.
-
Stack: Python, Flask, Gunicorn, PostgreSQL.
-
Versão: 0.7.05.202605280 (disoft/ecosif-compliance:0.7.05.202605280).
11.2 Variáveis de ambiente¶
| Variável | Como utilizar | O que faz |
|---|---|---|
| ECOSIF_COMPLIANCE_PORT | 8021 (ou 8080) | Porta HTTP do serviço. |
| ECOSIF_COMPLIANCE_CONTEXT | /ecosif-compliance | Context path da API. |
| ECOSIF_DB_SERVER, ECOSIF_DB_PORT, ECOSIF_DB_LOGIN, ECOSIF_DB_USER, ECOSIF_DB_PASSWORD | Endpoint e credenciais banco | Conexão do módulo compliance. |
| ECOSIF_CORS | URL frontend | CORS do módulo. |
| ECOSIF_RUNTIME_ENVIRONMENT | dev/hml/qas/prd | Ambiente de execução. |
| ECOSIF_LOGMODE_ROOT | INFO | Nível de log principal. |
| ECOSIF_DEBUG_MODE | false | Debug da aplicação. |
Variáveis opcionais recomendadas (ecosif-compliance)¶
| Variável | Como utilizar | O que faz |
|---|---|---|
| ECOSIF_HOST_ADDRESS | 0.0.0.0 | Endereço de bind do serviço. |
| ECOSIF_SESSION_TIMEOUT | ex.: 30 | Timeout de sessão da aplicação. |
| POSTGRES_HOST, POSTGRES_PORT, POSTGRES_DB, POSTGRES_USER, POSTGRES_PASSWORD | aliases de conexão | Pode substituir ECOSIF_DB_* conforme entrypoint. |
11.3 Passo a passo de implantação (ecosif-compliance)¶
-
Obter imagem Docker do registo.
-
Configurar variáveis de ambiente na task ECS.
-
Subir task/service do compliance.
-
Configurar health check /health.
-
Mapear /ecosif-compliance e /ecosif-compliance/{proxy+}.
-
No frontend, definir ECOSIF_ANGULAR_API_COMPLIANCE_URL=/ecosif-compliance.
12. ecosif-automations (Lambda + SQS)¶
12.1 Função e tecnologia¶
-
Função: Processamento da importação IPL e consolidação por pipeline assíncrono.
-
Stack: Python em AWS Lambda, SQS, S3 e Secrets Manager.
-
Versão: 0.7.05.202605280 (pacote ZIP em https://ftp.disoft.com.br/ecosif/aws/).
O ecosif-automations não roda como ECS Service em produção AWS.
12.2 Variáveis de ambiente¶
| Variável | Como utilizar | O que faz |
|---|---|---|
| APP_ENV | dev/hml/qas/prd | Ambiente lógico do automations. |
| AWS_REGION, AWS_DEFAULT_REGION | Ex.: us-west-1 | Região de operação dos serviços AWS. |
| AWS_S3_BUCKET, AWS_S3_BUCKET_NAME | Bucket de importação | Origem/destino de arquivos da automação. |
| AWS_SQS_ENTRIES_QUEUE_URL | URL da fila entries | Encadeia processamento de entries. |
| AWS_SQS_CONSOLIDATION_QUEUE_URL | URL da fila FIFO de consolidação | Encadeia consolidação final. |
| AWS_SQS_CONSOLIDATION_DEFER_QUEUE_URL | URL da fila defer | Suporte à consolidação diferida. |
| ECOSIF_API_BASE_URL | URL base interna das APIs | Comunicação com módulos HTTP do ecossistema. |
| ECOSIF_API_URL_MODE | alb (ex.) | Modo de composição de URLs. |
| ECOSIF_DB_SECRET | ARN de secret de banco | Credenciais de BD por segredo. |
| ECOSIF_AUTOMATIONS_SERVICE_SECRET | ARN de secret de serviço | Segredo de autenticação interna do módulo. |
| CT32_MASTER_KEY | CT32.LD | Arquivo de referência obrigatório para importação. |
| CONSOLIDATION_DEFER_ENABLED | false | Ativa/desativa defer. |
| CONSOLIDATION_DEBOUNCE_SEC, CONSOLIDATION_MAX_WAIT_SEC | 60 | Janela de consolidação diferida. |
| CONSOLIDATION_WINDOW_TABLE, CONSOLIDATION_LOCK_TABLE | nomes por ambiente | Controle de janela e lock de consolidação. |
Variáveis opcionais recomendadas (ecosif-automations)¶
| Variável | Como utilizar | O que faz |
|---|---|---|
| AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN | usar quando não houver role IAM | Credenciais explícitas para SDK AWS. |
| AWS_S3_ERROR_FILES_FOLDER, AWS_S3_IMPORTED_FILES_FOLDER, AWS_S3_REPORTS_DETAILS_FOLDER | ajustar prefixes conforme operação | Organização de arquivos e relatórios detalhados no bucket. |
| LAMBDA_RUNTIME, LAMBDA_TIMEOUT, LAMBDA_MEMORY_SIZE | documentação operacional por ambiente | Referência de runtime para padronização dos handlers. |
12.3 Passo a passo de implantação (ecosif-automations)¶
- Baixar o pacote da release:
export ZIP\_URL="https://ftp.disoft.com.br/ecosif/aws/ecosif-automations-0.7.05.202605280.zip"
export ZIP\_FILE="ecosif-automations-0.7.05.202605280.zip"
curl -fL "$ZIP\_URL" -o "$ZIP\_FILE"
unzip -t "$ZIP\_FILE"
- Criar filas SQS e DLQ:
export AWS\_REGION=us-west-1
export ACCOUNT\_ID=123456789012
export PROJECT=ecosif
export ENV=dev
export PREFIX="$\{PROJECT\}-$\{ENV\}-automations"
aws sqs create-queue --region "$AWS\_REGION" --queue-name "$\{PREFIX\}-entries-dlq"
aws sqs create-queue --region "$AWS\_REGION" --queue-name "$\{PREFIX\}-consolidation-dlq"
aws sqs create-queue --region "$AWS\_REGION" --queue-name "$\{PREFIX\}-consolidation-defer-dlq"
- Criar Lambdas:
aws lambda create-function \\
--region "$AWS\_REGION" \\
--function-name "$\{PROJECT\}-$\{ENV\}-automations-import" \\
--runtime python3.11 \\
--handler src.handlers.import\_handler.lambda\_handler \\
--zip-file "fileb://$\{ZIP\_FILE\}" \\
--role "arn:aws:iam::$\{ACCOUNT\_ID\}:role/ecosif-$\{ENV\}-lambda-execution-role" \\
--timeout 120 \\
--memory-size 512 \\
--environment file://import-env.json
-
Repetir criação para entries e consolidation com os handlers corretos.
-
Mapear filas para Lambdas:
aws lambda create-event-source-mapping \\
--region "$AWS\_REGION" \\
--function-name "$\{PROJECT\}-$\{ENV\}-automations-entries" \\
--event-source-arn "\<entries-queue-arn\>" \\
--batch-size 1 \\
--enabled
-
Repetir o mapeamento para consolidation.
-
Configurar trigger S3 (opcional/recomendado):
aws lambda add-permission \\
--region "$AWS\_REGION" \\
--function-name "$\{PROJECT\}-$\{ENV\}-automations-import" \\
--statement-id "allow-s3-invoke-import" \\
--action "lambda:InvokeFunction" \\
--principal s3.amazonaws.com \\
--source-arn "arn:aws:s3:::ecosif-$\{ENV\}-import-$\{ACCOUNT\_ID\}"
- Validar funções e logs:
aws lambda get-function-configuration --region "$AWS\_REGION" --function-name "$\{PROJECT\}-$\{ENV\}-automations-import"
aws logs tail "/aws/lambda/$\{PROJECT\}-$\{ENV\}-automations-import" --follow --region "$AWS\_REGION"
13. Implementação na AWS (ECS, API Gateway, Lambda, SQS)¶
13.1 ECS + API Gateway (módulos HTTP)¶
-
um serviço ECS por módulo HTTP
-
roteamento por path no API Gateway para ALB/integração de cada serviço
-
TLS final no domínio customizado do API Gateway (ACM)
13.2 Domínio e certificado¶
-
Criar certificado ACM (validação DNS)
-
Criar domínio customizado no API Gateway
-
Associar API e stage
-
Configurar DNS (Route53 ou externo)
13.3 Automations¶
-
executar Lambda + SQS + S3
-
sem ECS Service
-
usar template de referência ou comandos CLI do item 12