Set flags using the standard library
flag package, and complement them with
environment variables.
- Go 100%
| example_test.go | ||
| flag.go | ||
| flag_test.go | ||
| go.mod | ||
| LICENSE | ||
| README.md | ||
Environment variables and flags
Set flags using the standard library flag package, and complement them with
environment variables.
-
All Go's standard
flagfunctions are used as normal and parse errors are returned as expected. -
Flags, if set, take precedence over the environment.
-
Environment variables can have custom prefixes and suffixes.
-
Usage output can be displayed with the standard
-hflag. -
Usage output can be annotated with the configured environment variables.
fs := flag.NewFlagSet("test", flag.ContinueOnError)
fs.String("db", "", "Database thing")
_ = envflag.ParseFlagSet(fs, envflag.Prefix("APP_"), envflag.UsageSuffixer())
produces the following usage
Usage of test:
-db string
Database thing [APP_DB]