Configuration loading model¶
All main processes read application.conf as the top-level configuration entry.
HOCON basics used by {{ product_name }}¶
{{ product_name }} uses Typesafe Config and HOCON syntax:
- Hierarchical objects and dotted keys (
db.maximumPoolSize = 20) - Includes (
include "db.conf") - Key-to-key substitution (
dataSource.currentSchema = ${db.schema}) - Optional environment substitution (
Authorization = "Bearer ${?OTLP_TOKEN}") - Comments and human-readable formatting
Top-level application.conf examples¶
How include override works
In HOCON, include "override" resolves override.conf (or JSON/properties variants).
This project ships a default empty override.conf, and you can add environment values as needed.
Effective precedence¶
For keys defined multiple times, effective order is:
CONFIG_FORCE_*environment overrides (whenconfig.override_with_env_vars=true)- JVM system properties (for example
-Ddb.maximumPoolSize=30) override.conf(included last)- Included defaults (
alpine.conf,db.conf,monitor.conf) - Earlier values in
application.conf
If config.override_with_env_vars is disabled, step 1 is skipped.
Shared default configuration files¶
| File | Scope | Purpose | Typical keys |
|---|---|---|---|
db.conf |
alpine-server, alpine-admin-cli |
Database and pool defaults | db.maximumPoolSize, db.dataSource.serverName, db.dataSource.ssl |
monitor.conf |
Server-side only (alpine-server) |
Metrics and tracing registry settings | monitor.enabled, monitor.registries.prometheus.*, monitor.tracing.* |
alpine.conf |
Server-side only (alpine-server) |
Endpoint and service runtime settings | alpine.endpoints, alpine.settings.*, alpine.services.* |
These defaults are packaged with deployment artifacts. For maintainable upgrades, keep them unchanged and place environment-specific values in override.conf.
Logging configuration file (logback.xml)¶
Logging transport is configured outside HOCON in logback.xml.
logback.xmlis loaded by Logback at process startup.- It is not part of
application.confincludeorder. CONFIG_FORCE_*does not overridelogback.xmlsettings.- Restart affected processes after changes.
See Reference: logback.xml for setting-level details and syslog listener prerequisites.
Runtime location and persistence
Runtime config files are deployed under resources/.
For containers, map resources/ to an external persistent volume and place override.conf there.
Server vs CLI monitoring configuration
alpine-serverincludesmonitor.conf.- CLI processes do not load
monitor.confby default. - CLI defaults set
monitor.enabled = falsein theirapplication.conf.