envconfig
Golang library to manage configuration data from environment variables
...Typical use is using environment variables for configuration settings. Envconfig supports the use of struct tags to specify alternate, default, and required environment variables. Envconfig won't process a field with the "ignored" tag set to "true", even if a corresponding environment variable is set. Any field whose type (or pointer-to-type) implements envconfig.Decoder can control its own deserialization. Also, envconfig will use a Set(string) error method like from the flag.Value interface if implemented.