Viper
A complete configuration solution for Go applications
...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 flags, reading from buffer, and setting explicit values. iper can be thought of as a registry for all of your applications configuration needs. When building a modern application, you don’t want to worry about configuration file formats; you want to focus on building awesome software. Viper is here to help with that.