
Viper is a complete configuration solution for go applications. it is designed to work within an application, and can handle all types of configuration needs and formats. it supports:
* setting defaults
* reading from json, toml, and yaml config files
* reading from environment variables
* reading from remote config systems (etcd or consul), and watching changes
* reading from command line flags
* reading from buffer
* setting explicit values
viper can be thought of as a registry for all of your applications configuration needs.