Documentation ¶
Overview ¶
## Configuration hierarchy
In this hierarchy, each level can override the levels below it. A typical hierarchy might be:
* **Default values**: These are the lowest priority and can be hardcoded into the application or included in a default configuration file that is bundled with the application. * **Configuration files**: These have a higher priority than default values. A common practice is to have a base configuration file for default values, and then a separate, environment-specific configuration file that can override those values. * **Environment variables**: These are higher priority than configuration files. Environment variables are typically used for settings that vary between deployment environments (such as dev, test, prod), and for sensitive information like passwords or API keys. * **Command-line arguments**: These have the highest priority and can override all other settings. Command-line arguments are often used for one-off changes that shouldn't be persisted in a configuration file or environment variable.