Projeto eCosif 05/2026
Instrução Técnica de Implantação
versão: 0.7.05.202605280
|
|
|
| versão documento |
data |
responsável |
| 0.7.05.202605280 |
28/05/2026 |
José Augusto de Lima Pereira |
Índice
- Introdução e versões
- Arquitetura geral e mapeamento de URLs
- Pré-requisitos e criação do banco de dados
- Variáveis de ambiente (visão geral)
- ecosif-angular (frontend)
- ecosif-auth
- ecosif-masterdata
- ecosif-moviments
- ecosif-querys
- ecosif-reports
- ecosif-compliance
- ecosif-automations (Lambda + SQS)
- Implementação na AWS (ECS, API Gateway, Lambda, SQS)
- Ordem sugerida de implantação
- Checklist pós-implantação
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:
ecosif-structure/aws/exemple/task-definitions/
ecosif-structure/aws/exemple/dev/task-definitions/
ecosif-structure/aws/exemple/ecosif-automations/ecosif-automations-lambda-sqs-minimal.yaml
ecosif-structure/aws/exemple/dev/ecosif-automations/ecosif-automations-lambda-sqs-dev.yaml
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.202605280 |
disoft/ecosif-angular:0.7.05.202605280 |
| ecosif-auth |
0.7.05.202605280 |
disoft/ecosif-auth:0.7.05.202605280 |
| ecosif-masterdata |
0.7.05.202605280 |
disoft/ecosif-masterdata:0.7.05.202605280 |
| ecosif-moviments |
0.7.05.202605280 |
disoft/ecosif-moviments:0.7.05.202605280 |
| ecosif-querys |
0.7.05.202605280 |
disoft/ecosif-querys:0.7.05.202605280 |
| ecosif-reports |
0.7.05.202605280 |
disoft/ecosif-reports:0.7.05.202605280 |
| ecosif-compliance |
0.7.05.202605280 |
disoft/ecosif-compliance:0.7.05.202605280 |
| ecosif-automations |
0.7.05.202605280 |
ZIP Lambda (https://files.disoft.com.br/) |
2. Arquitetura geral e mapeamento de URLs
2.1 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.2 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
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 da pasta releases/0.7.05.202605280/.
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.202605280 (
disoft/ecosif-angular:0.7.05.202605280).
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 Docker/ECS |
Usar config runtime do container (config.json + env.js); não confundir com ECOSIF_ENVIRONMENT |
ECOSIF_ANGULAR_HIDE_ADMIN_MENU |
true (prod) |
Esconde menu Ferramentas Administrativas. |
ECOSIF_ANGULAR_PORT |
80 |
Porta Nginx no contentor. |
Variáveis opcionais (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.202605280 (
disoft/ecosif-auth:0.7.05.202605280).
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. |
Variáveis opcionais (ecosif-auth)
| Variável |
Como utilizar |
O que faz |
ECOSIF_LOGSHOW |
true/false |
Habilita saída de logs adicionais. |
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.202605280 (
disoft/ecosif-masterdata:0.7.05.202605280).
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_* |
Endpoint e credenciais 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. |
Variáveis opcionais (ecosif-masterdata)
| Variável |
Como utilizar |
O que faz |
ECOSIF_LOGSHOW |
true/false |
Ativa logs adicionais. |
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.202605280 (
disoft/ecosif-moviments:0.7.05.202605280).
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_* |
Endpoint e credenciais PostgreSQL |
Conexão JDBC. |
AUTH_TOKEN_SECRET |
Mesmo valor do auth |
Validação JWT. |
ECOSIF_CORS |
URL frontend |
CORS do módulo. |
HIBERNATE_DDL_AUTO |
validate |
Política de schema. |
ECOSIF_FLYWAY_ENABLED |
true/false |
Habilita migração no arranque. |
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 (ecosif-moviments)
| Variável |
Como utilizar |
O que faz |
TOKEN_EXPIRATION |
Ex.: 86400000 |
Expiração de token JWT no módulo. |
ECOSIF_ENVIRONMENT |
dev/hml/qas/prd |
Identificação de ambiente na aplicação. |
ECOSIF_LOGSHOW |
true/false |
Ativa logs extras. |
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.202605280 (
disoft/ecosif-querys:0.7.05.202605280).
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_* |
Endpoint e credenciais PostgreSQL |
Conexão JDBC. |
AUTH_TOKEN_SECRET |
Mesmo valor do auth |
Validação JWT. |
ECOSIF_CORS |
URL frontend |
CORS do módulo. |
HIBERNATE_DDL_AUTO |
validate |
Política de schema. |
Variáveis opcionais (ecosif-querys)
| Variável |
Como utilizar |
O que faz |
TOKEN_EXPIRATION |
Ex.: 86400000 |
Expiração de token JWT no módulo. |
ECOSIF_LOGSHOW |
true/false |
Ativa logs adicionais. |
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.202605280 (
disoft/ecosif-reports:0.7.05.202605280).
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_* |
Endpoint e credenciais PostgreSQL |
Conexão JDBC. |
AUTH_TOKEN_SECRET |
Mesmo valor do auth |
Validação JWT. |
ECOSIF_CORS |
URL frontend |
CORS do módulo. |
HIBERNATE_DDL_AUTO |
validate |
Política de schema. |
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 (ecosif-reports)
| Variável |
Como utilizar |
O que faz |
TOKEN_EXPIRATION |
Ex.: 86400000 |
Expiração de token JWT no módulo. |
ECOSIF_LOGSHOW |
true/false |
Ativa logs adicionais. |
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 (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://files.disoft.com.br/).
no endereço: itau-ecosif/0_7_05_X/aws/lambda/ecosif_automations_0_7_05_202605280.zip
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 (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://files.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
14. Ordem sugerida de implantação
- Infra base: VPC, subnets, RDS, secrets
- ECS APIs:
auth, masterdata, moviments, querys, reports, compliance
- ECS frontend:
angular
- API Gateway + domínio customizado + certificado
- Automations: SQS + Lambdas + trigger S3
- Testes ponta a ponta
15. Checklist pós-implantação
- [ ] Todas as tasks ECS com tag
0.7.05.202605280
- [ ] Context paths
ECOSIF_*_CONTEXT_PATH corretos
- [ ]
AUTH_TOKEN_SECRET compartilhado corretamente entre serviços Java
- [ ] Frontend com
ECOSIF_ENABLE_RUNTIME=true e APIs /ecosif-*
- [ ] Compliance respondendo em
/ecosif-compliance
- [ ] Filas SQS/DLQ do automations criadas
- [ ] Lambdas
import, entries, consolidation implantadas com ZIP da release
- [ ] Trigger S3 (quando aplicável) configurado
- [ ] Fluxo IPL + CT32.LD validado com sucesso
NOTAS
Para detalhes finos por módulo, consultar os release notes individuais em releases/0.7.05.202605280/.
Fim do documento.