Documentation ¶
Index ¶
- Constants
- func Bind(flags FlagSet, config interface{}, opts ...BindOpt)
- func DefaultsType() string
- func FindConfigDirParam() string
- func FindDefaultsParam() string
- func FindFlagEarly(flagName string) string
- func FindIdentityDirParam() string
- func SetBoolAnnotation(flagset interface{}, name, key string, value bool)
- func SetupFlag(log *zap.Logger, cmd *cobra.Command, dest *string, name, value, usage string)
- type BindOpt
- type FlagSet
Constants ¶
const ( // AnySource is a source annotation for config values that can come from // a flag or file. AnySource = "any" // FlagSource is a source annotation for config values that just come from // flags (i.e. are never persisted to file) FlagSource = "flag" // BasicHelpAnnotationName is the name of the annotation used to indicate // a flag should be included in basic usage/help. BasicHelpAnnotationName = "basic-help" )
Variables ¶
This section is empty.
Functions ¶
func Bind ¶
Bind sets flags on a FlagSet that match the configuration struct 'config'. This works by traversing the config struct using the 'reflect' package.
func DefaultsType ¶ added in v0.12.6
func DefaultsType() string
DefaultsType returns the type of defaults (release/dev) this binary should use
func FindConfigDirParam ¶
func FindConfigDirParam() string
FindConfigDirParam returns '--config-dir' param from os.Args (if exists)
func FindDefaultsParam ¶ added in v0.10.0
func FindDefaultsParam() string
FindDefaultsParam returns '--defaults' param from os.Args (if it exists)
func FindFlagEarly ¶
FindFlagEarly retrieves the value of a flag before `flag.Parse` has been called
func FindIdentityDirParam ¶
func FindIdentityDirParam() string
FindIdentityDirParam returns '--identity-dir' param from os.Args (if exists)
func SetBoolAnnotation ¶ added in v0.31.0
SetBoolAnnotation sets an annotation (if it can) on flagset with a value of []string{"true|false"}.
Types ¶
type BindOpt ¶
type BindOpt struct {
// contains filtered or unexported fields
}
BindOpt is an option for the Bind method
func DefaultsFlag ¶ added in v0.10.0
DefaultsFlag sets up the defaults=dev/release flag options, which is needed before `flag.Parse` has been called
func IdentityDir ¶
IdentityDir sets a variable for the default option called $IDENTITYDIR.
func SetupMode ¶ added in v0.13.0
func SetupMode() BindOpt
SetupMode issues the bind in a mode where it does not ignore fields with the `setup:"true"` tag.
func UseDevDefaults ¶ added in v0.10.0
func UseDevDefaults() BindOpt
UseDevDefaults forces the bind call to use development defaults unless UseReleaseDefaults is provided as a subsequent option. Without either, Bind will default to determining which defaults to use based on version.Build.Release
func UseReleaseDefaults ¶ added in v0.10.0
func UseReleaseDefaults() BindOpt
UseReleaseDefaults forces the bind call to use release defaults unless UseDevDefaults is provided as a subsequent option. Without either, Bind will default to determining which defaults to use based on version.Build.Release
type FlagSet ¶
type FlagSet interface { BoolVar(p *bool, name string, value bool, usage string) IntVar(p *int, name string, value int, usage string) Int64Var(p *int64, name string, value int64, usage string) UintVar(p *uint, name string, value uint, usage string) Uint64Var(p *uint64, name string, value uint64, usage string) DurationVar(p *time.Duration, name string, value time.Duration, usage string) Float64Var(p *float64, name string, value float64, usage string) StringVar(p *string, name string, value string, usage string) StringArrayVar(p *[]string, name string, value []string, usage string) Var(val pflag.Value, name string, usage string) MarkHidden(name string) error }
FlagSet is an interface that matches *pflag.FlagSet