Overview
Vitess v17 introduced viper, a library to provide unified configuration management, to the project.
It acts as a registry for configuration values coming from a variety of sources, including:
- Default values.
- Configuration files (JSON, YAML, TOML, and other formats supported), including optionally watching and live-reloading.
- Environment variables.
- Command-line flags, primarily from
pflag.Flag
types.
It is used by a wide variety of Go projects, including hugo and kops.