Variáveis do application.yml (ecosif-querys)
Este documento descreve as variáveis de ambiente referenciadas em src/main/resources/application.yml, no formato Spring ${NOME:valor_padrao}.
- Canónico: nome usado diretamente no YAML.
- Desenvolvimento local: normalmente defines as canónicas no IDE, num
.env carregado pelo teu tooling, ou exportas no shell antes de mvn spring-boot:run / java -jar.
- Legados: não aparecem no YAML; em Docker são mapeados em
conf/entrypoint-common.sh (ver Variáveis operacionais).
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 |
/ |
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
- Ficheiro:
src/main/resources/application.yml
- Cópia de referência do YAML antigo (muitos placeholders):
src/main/resources/application.yml.ori
- Operação em contentor: Variáveis operacionais