📚 joshbetz/config - Awesome Go Library for Configuration
Small configuration library for Go that parses environment variables, JSON files, and reloads automatically on SIGHUP.
🏷️ Configuration
📂 Libraries for configuration parsing.
⭐ 215 stars
Detailed Description of joshbetz/config
config
A small configuration library for Go that parses environment variables, JSON
files, and reloads automatically on SIGHUP
.
Example
func main() {
c := config.New("config.json")
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
var value string
c.Get("value", &value)
fmt.Fprintf(w, "Value: %s", value)
})
http.ListenAndServe(":3000", nil)
}
API
func New(file string) *Config
Constructor that initializes a Config object and sets up the SIGHUP watcher.
func (config *Config) Get(key string, v interface{}) error
Takes the path to a JSON file, the name of the configuration option, and a
pointer to the variable where the config value will be stored. v
can be a
pointer to a string, bool, or float64.
func (config *Config) Reload()
Reloads the config. Happens automatically on SIGHUP
.