config

by joshbetz

joshbetz / config

🛠 A configuration library for Go that parses environment variables, JSON files, and reloads automat...

203 Stars 12 Forks Last release: Not found MIT License 36 Commits 0 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

config

Build Status Go Report Card

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)

}

Reload config on SIGHUP

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
.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.