1
0
mirror of https://github.com/Luzifer/promcertcheck.git synced 2024-09-20 01:42:56 +00:00
promcertcheck/vendor/github.com/Luzifer/rconfig
2016-09-29 11:41:30 +02:00
..
config_test.go Migrate to post-1.6 vendoring 2016-09-29 11:41:30 +02:00
config.go Migrate to post-1.6 vendoring 2016-09-29 11:41:30 +02:00
example_test.go Migrate to post-1.6 vendoring 2016-09-29 11:41:30 +02:00
LICENSE Migrate to post-1.6 vendoring 2016-09-29 11:41:30 +02:00
README.md Migrate to post-1.6 vendoring 2016-09-29 11:41:30 +02:00

Circle CI License: Apache v2.0 Documentation

Description

Package rconfig implements a CLI configuration reader with struct-embedded defaults, environment variables and posix compatible flag parsing using the pflag library.

Installation

Install by running:

go get -u github.com/Luzifer/rconfig

Run tests by running:

go test -v -race -cover github.com/Luzifer/rconfig

Usage

As a first step define a struct holding your configuration:

type config struct {
  Username string `default:"unknown" flag:"user" description:"Your name"`
  Details  struct {
    Age int `default:"25" flag:"age" env:"age" description:"Your age"`
  }
}

Next create an instance of that struct and let rconfig fill that config:

var cfg config
func init() {
  cfg = config{}
  rconfig.Parse(&cfg)
}

You're ready to access your configuration:

func main() {
  fmt.Printf("Hello %s, happy birthday for your %dth birthday.",
		cfg.Username,
		cfg.Details.Age)
}

More info

You can see the full reference documentation of the rconfig package at godoc.org, or through go's standard documentation system by running godoc -http=:6060 and browsing to http://localhost:6060/pkg/github.com/Luzifer/rconfig after installation.