Viper is a Go configuration library for combining settings from packaged files, environment-specific files, and environment variables. Files in the config directory provide defaults; files in config-override can be mounted into a container; environment variables take precedence. section 18.3
A practical container configuration workflow uses:
- A default TOML file packaged in the Docker image. section 18.3
- A config-override directory supplied through a container filesystem mount for environment-specific values. section 18.3
- Environment variables that override both file-based settings. section 18.3
Inspecting merged configuration
Run the image with its defaults, then query its configuration API. Mount a development override directory and query again; finally set IG_METRICS.ENABLED=TRUE to verify environment-variable precedence.
