-
Notifications
You must be signed in to change notification settings - Fork 1k
Closed
Description
The Problem
The current order of precedence for resolving arguments is as follows:
- CLI flags
- Config file (if configured)
- Env var (if configured)
- Default values (if configured)
I wanted to start an active discussion around the possibility of swapping the order of precedence for config files and env vars (or less favorably, offering a way to configure the order of precedence):
- CLI flags
- Env var (if configured)
- Config file (if configured)
- Default values (if configured)
Why
Precedence... I believe there is already and standard and understood order of precedence in the community. I also believe consistency is paramount. When picking up a tool the less domain knowledge I need have to know the better.
Notable examples:
- npm - The package manager for JavaScript
- aws - A unified tool that provides a consistent interface for interacting with all parts of AW
- docker - Docker is the world's leading software containerization platform
- ansible - An IT automation tool
- git - A distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
- viper - Viper is a complete configuration solution for go applications including 12 factor apps
addaleax, bcoe and aymericbeaumetbcoe