Variáveis do application.yml (ecosif-reports)

Este documento descreve as variáveis de ambiente referenciadas em src/main/resources/application.yml, no formato Spring ${NOME:valor_padrao}.


Obrigatórias

Variáveis que deves definir para um ambiente de desenvolvimento realista (JWT válido e ligação ao PostgreSQL que utilizas). O YAML pode ter defaults, mas não substituem uma base ou segredo correctos na tua máquina.

Variável Motivo
AUTH_TOKEN_SECRET Segredo HS256 (JJWT): tem de ser não vazia e com ≥ 32 bytes em runtime. O placeholder no YAML é ${AUTH_TOKEN_SECRET:} (sem default seguro).
POSTGRES_HOST Host do PostgreSQL onde corre o teu ecosif (ou default localhost se for mesmo local).
POSTGRES_PORT Porta do PostgreSQL (default no YAML: 5432).
POSTGRES_DB Nome da base (default no YAML: ecosif_db).
POSTGRES_USER Utilizador da base (default no YAML: ecosif_user).
POSTGRES_PASSWORD Senha da base (default no YAML: ecosif_password).

CORS: para chamadas a partir do front-end no browser, define ECOSIF_CORS com as origens permitidas (ex.: http://localhost:4200). Sem isso, o default ${ECOSIF_CORS:*} pode ser demasiado permissivo ou não corresponder ao que precisas em dev.

OAuth2 Google: se activares o fluxo Google no teu ambiente, são necessários GOOGLE_CLIENT_ID e GOOGLE_CLIENT_SECRET (ou equivalentes mapeados no entrypoint em Docker — ver documento operacional).


Opcionais

Todas as restantes referências ${VAR:default} do application.yml, com o valor por omissão quando a variável não está definida.

Servidor HTTP

Variável Secção Default
ECOSIF_PORT server.port 8080
ECOSIF_CONTEXT server.servlet.context-path /ecosif-reports

Datasource (Hikari)

Variável Default
ECOSIF_DB_HIKARI_CONNECTION_TIMEOUT 20000
ECOSIF_DB_HIKARI_MINIMUM_IDLE 10
ECOSIF_DB_HIKARI_MAXIMUM_POOL_SIZE 80
ECOSIF_DB_HIKARI_IDLE_TIMEOUT 600000
ECOSIF_DB_HIKARI_MAX_LIFETIME 1800000

JPA / logs

Variável Default
ECOSIF_LOGSHOW false
HIBERNATE_DDL_AUTO none

Segurança / app

Variável Default
GOOGLE_CLIENT_ID (vazio)
GOOGLE_CLIENT_SECRET (vazio)
TOKEN_EXPIRATION 1800000

SpringDoc

Variável Default
SWAGGER_UI_ENABLED true
API_DOCS_ENABLED true
SHOW_ACTUATOR true

Ecosif / logging / management

Variável Default
ECOSIF_ENVIRONMENT prod
LOG_FORMAT default
ECOSIF_LOGMODE_ROOT INFO
ECOSIF_LOGMODE_SPRING INFO
ECOSIF_LOGMODE_HIBERNATE_SQL INFO
ECOSIF_LOGMODE_HIBERNATE INFO
ECOSIF_MANAGEMENT_INFO_JAVA_ENABLED true
ECOSIF_MANAGEMENT_ENDPOINTS_ENABLED_BY_DEFAULT false
ECOSIF_MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE health,info,prometheus
ECOSIF_MANAGEMENT_ENDPOINT_HEALTH_ENABLED true
ECOSIF_MANAGEMENT_ENDPOINT_HEALTH_SHOW_COMPONENTS always
ECOSIF_MANAGEMENT_ENDPOINT_INFO_ENABLED true
ECOSIF_MANAGEMENT_ENDPOINT_PROMETHEUS_ENABLED true

AWS S3

Variável Default / nota
AWS_ACCESS_KEY_ID (vazio)
AWS_SECRET_ACCESS_KEY (vazio)
AWS_DEFAULT_REGION (vazio)
AWS_S3_BUCKET (vazio)
AWS_S3_ERROR_BUCKET ${AWS_S3_BUCKET:}
AWS_S3_IMPORT_BUCKET ${AWS_S3_BUCKET:}
AWS_S3_REPORT_BUCKET ${AWS_S3_BUCKET:}
AWS_S3_PURGING_BUCKET ${AWS_S3_BUCKET:}

Referência