Skip to content

Configuration

Lucca Greschner edited this page Jul 14, 2023 · 5 revisions

Configuration

The backend application can be configured through multiple configuration types.

A sample configuration file can be found in the repository. Its name is config.sample.yml.

Configuration source priority

  1. Command line flags
  2. Environment variables
  3. YAML-Configuration file (1. Default configuration)

Note: 1 is most important

Configuration parameters

YAML-Parameter Environment variable Command line flag Default Possible values
N/A N/A --config <PATH_TO_CONFIG_FILE> "config.yml" Any path to a valid config file
logging.log_level EXCUBITOR_LOGGING_LOG-LEVEL N/A INFO TRACE, DEBUG, INFO, WARN, ERROR, FATAL
logging.method EXCUBITOR_LOGGING_METHOD N/A CONSOLE CONSOLE, FILE, HYBRID
http.host EXCUBITOR_HTTP_HOST --host 0.0.0.0 Any valid hostname
http.port EXCUBITOR_HTTP_PORT --port 8080 1-65535
http.cors.allowed_origins EXCUBITOR_HTTP_CORS_ALLOWED-ORIGINS N/A ["*"] Array of possible CORS origins
http.cors.allowed_methods EXCUBITOR_HTTP_CORS_ALLOWED-METHODS N/A ["GET","POST"] Array of HTTP methods
http.cors.allowed_headers EXCUBITOR_HTTP_CORS_ALLOWED-HEADERS N/A ["Origin", "Content-Type", "Authorization"] Array of HTTP headers
http.auth.jwt.access_token_secret EXCUBITOR_HTTP_AUTH_JWT_ACCESS-TOKEN-SECRET N/A Empty string JWT secret
http.auth.jwt.refresh_token_secret EXCUBITOR_HTTP_AUTH_JWT_REFRESH-TOKEN-SECRET N/A Empty string JWT secret
data.module_clock EXCUBITOR_DATA_MODULE-CLOCK N/A 5s Duration*
data.storage_time EXCUBITOR_DATA_STORAGE-TIME N/A 720h Duration*
data.purge_cycle EXCUBITOR_DATA_PURGE-CYCLE N/A 1h Duration*
data.database_file EXCUBITOR_DATA_DATABASE-FILE N/A "history.db" Any file path

*: Parsed using time.ParseDuration. Valid units are "ns", "us/µs", "ms", "s", "m" and "h". They can be mixed (e.g. "5m12s").