Variáveis operacionais (Docker / runtime) — ecosif-reports

Em Docker, o arranque usa conf/entrypoint.sh + conf/entrypoint-common.sh. O script exporta variáveis canónicas (as mesmas que o application.yml espera) e aceita nomes legados listados abaixo.

Ordem geral: se a variável canónica já estiver definida, o legado não a sobrescreve.


Obrigatórias (canónica) e possibilidades legadas

Variáveis que, na prática, tens de garantir para o serviço subir com base de dados e JWT válidos. Podes definir só a canónica ou, em migração, um nome legado (o entrypoint preenche a canónica antes do Java).

Base de dados (PostgreSQL)

Canónica (usada no application.yml) Legados aceites pelo ecosif_ep_postgres_env (só se a canónica estiver vazia)
POSTGRES_HOST ecosif_db_serverdatabase_hostDATABASE_HOSTECOSIF_DATABASE_HOSTECOSIF_DB_SERVER
POSTGRES_PORT ecosif_db_portdatabase_portDATABASE_PORTECOSIF_DATABASE_PORTECOSIF_DB_PORT
POSTGRES_DB ecosif_db_logindatabaseDATABASEECOSIF_DATABASEECOSIF_DB_LOGIN
POSTGRES_USER ecosif_db_userdatabase_userDATABASE_USERECOSIF_DATABASE_USERECOSIF_DB_USER
POSTGRES_PASSWORD ecosif_db_passworddatabase_passwordDATABASE_PASSWORDECOSIF_DATABASE_PASSWORDECOSIF_DB_PASSWORD

JWT (app)

Canónica Legados (ecosif_ep_auth_app_env, só se canónica vazia)
AUTH_TOKEN_SECRET auth_token_secret

Requisito: valor não vazio, ≥ 32 bytes (HS256 / JJWT).


Opcionais (canónica) e possibilidades legadas

Porta e contexto HTTP

Definidos em ecosif_ep_init (e -Dserver.port / -Dserver.servlet.context-path na JVM). O YAML lê ECOSIF_PORT e ECOSIF_CONTEXT depois deste passo.

Canónica exportada Legados (precedência: primeiro da lista não vazio)
ECOSIF_REPORTS_PORT (e espelho ECOSIF_PORT, ecosif_port) ECOSIF_REPORTS_PORTECOSIF_PORTecosif_port → default 8080 no script
ECOSIF_REPORTS_CONTEXT, ECOSIF_CONTEXT, ecosif_context, … ECOSIF_REPORTS_CONTEXTECOSIF_CONTEXTecosif_contextECOSIF_REPORTS_CONTEXT_PATH → default do serviço (/ecosif-reports no entrypoint.sh do reports)

CORS

Canónica Legados
ECOSIF_CORS ecosif_cors

Expiração JWT

Canónica Legados
TOKEN_EXPIRATION token_expiration

AWS / S3

Canónica Legados / fallback
AWS_ACCESS_KEY_ID ecosif_access_key
AWS_SECRET_ACCESS_KEY ecosif_secret_access_key
AWS_DEFAULT_REGION ecosif_s3_region
AWS_S3_BUCKET ECOSIF_S3_FILEecosif_s3_file
AWS_S3_ERROR_BUCKET ecosif_s3_errorECOSIF_S3_ERROR → senão AWS_S3_BUCKET
AWS_S3_IMPORT_BUCKET ecosif_s3_importedECOSIF_S3_IMPORTED → senão AWS_S3_BUCKET
AWS_S3_REPORT_BUCKET ecosif_s3_reportECOSIF_S3_REPORT → senão AWS_S3_BUCKET
AWS_S3_PURGING_BUCKET ecosif_s3_purgingECOSIF_S3_PURGING → senão AWS_S3_BUCKET

OAuth2 Google (client Spring)

Controlado por ENABLE_GOOGLE_AUTH2.

Canónica Legados (pré-preenchimento se ainda vazias)
GOOGLE_CLIENT_ID AUTH2_CLIENT_IDauth2_clientid
GOOGLE_CLIENT_SECRET AUTH2_SECRETauth2_secret

Outras (operacionais, fora do application.yml)

Variável Função
JAVA_OPTS Opções JVM (o entrypoint acrescenta -Dserver.port e context path).
USEDATADOG true para agente Datadog no java.
ECOSIF_EP_SU_EXEC_USER Se o processo for root, faz drop para esse utilizador (su-exec / gosu / setpriv).
PRINT_ENV_VARS Valores show, SHOW, true, TRUE, 1, yes, YES, on, ON: antes do exec java, imprime printenv ordenado (sort) em stdout (exposição de segredos; só para diagnóstico).

Variáveis só no YAML (sem mapeamento legado no entrypoint)

Para tuning de Hikari, SpringDoc, logging, management, ECOSIF_ENVIRONMENT, etc., vê Variáveis do application.yml (secção opcionais).


Referência de código