Viper
A complete configuration solution for Go applications
Viper is a complete configuration solution for Go applications including 12-Factor apps. 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, YAML, HCL, envfile 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...