What is Viper?
Viper is a complete configuration solution for Go applications including 12-Factor apps. It is designedto work within an application, and can handle all types of configuration needsand formats. It supports:
- setting defaults
- reading from JSON, TOML, YAML, HCL, and Java properties config files
- live watching and re-reading of config files (optional)
- 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 applicationsconfiguration needs.