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_server → database_host → DATABASE_HOST → ECOSIF_DATABASE_HOST → ECOSIF_DB_SERVER |
POSTGRES_PORT |
ecosif_db_port → database_port → DATABASE_PORT → ECOSIF_DATABASE_PORT → ECOSIF_DB_PORT |
POSTGRES_DB |
ecosif_db_login → database → DATABASE → ECOSIF_DATABASE → ECOSIF_DB_LOGIN |
POSTGRES_USER |
ecosif_db_user → database_user → DATABASE_USER → ECOSIF_DATABASE_USER → ECOSIF_DB_USER |
POSTGRES_PASSWORD |
ecosif_db_password → database_password → DATABASE_PASSWORD → ECOSIF_DATABASE_PASSWORD → ECOSIF_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_PORT → ECOSIF_PORT → ecosif_port → default 8080 no script |
ECOSIF_REPORTS_CONTEXT, ECOSIF_CONTEXT, ecosif_context, … |
ECOSIF_REPORTS_CONTEXT → ECOSIF_CONTEXT → ecosif_context → ECOSIF_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_FILE → ecosif_s3_file |
AWS_S3_ERROR_BUCKET |
ecosif_s3_error → ECOSIF_S3_ERROR → senão AWS_S3_BUCKET |
AWS_S3_IMPORT_BUCKET |
ecosif_s3_imported → ECOSIF_S3_IMPORTED → senão AWS_S3_BUCKET |
AWS_S3_REPORT_BUCKET |
ecosif_s3_report → ECOSIF_S3_REPORT → senão AWS_S3_BUCKET |
AWS_S3_PURGING_BUCKET |
ecosif_s3_purging → ECOSIF_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_ID → auth2_clientid |
GOOGLE_CLIENT_SECRET |
AUTH2_SECRET → auth2_secret |
ENABLE_GOOGLE_AUTH2=true: credenciais obrigatórias (via GOOGLE_* ou AUTH2_* / auth2_*); o entrypoint valida.
ENABLE_GOOGLE_AUTH2=false (ou ausente): auto-configuração OAuth2 Client é excluída; GOOGLE_* podem ficar vazias.
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
conf/entrypoint-common.sh — ecosif_ep_init, ecosif_ep_postgres_env, ecosif_ep_cors_env, ecosif_ep_auth_app_env, ecosif_ep_aws_s3_env, ecosif_ep_oauth_google, ecosif_ep_debug_print_env (PRINT_ENV_VARS)
conf/entrypoint.sh — ECOSIF_EP_SERVICE_UPPER=REPORTS, default de context path
src/main/resources/application.yml