cfgstruct

package
v0.11.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 20, 2019 License: AGPL-3.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Bind

func Bind(flags FlagSet, config interface{}, opts ...BindOpt)

Bind sets flags on a FlagSet that match the configuration struct 'config'. This works by traversing the config struct using the 'reflect' package. Will ignore fields with `setup:"true"` tag.

func BindSetup

func BindSetup(flags FlagSet, config interface{}, opts ...BindOpt)

BindSetup sets flags on a FlagSet that match the configuration struct 'config'. This works by traversing the config struct using the 'reflect' package.

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

func FindFlagEarly(flagName string) string

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 PromptForAPIKey added in v0.11.0

func PromptForAPIKey() (string, error)

PromptForAPIKey handles user input for an API key to be used with wizards

func PromptForEncryptionKey added in v0.11.0

func PromptForEncryptionKey() (string, error)

PromptForEncryptionKey handles user input for an encryption key to be used with wizards

func PromptForSatelitte added in v0.11.0

func PromptForSatelitte(cmd *cobra.Command) (string, error)

PromptForSatelitte handles user input for a satelitte address to be used with wizards

func SetupFlag

func SetupFlag(log *zap.Logger, cmd *cobra.Command, dest *string, name, value, usage string)

SetupFlag sets up flags that are needed before `flag.Parse` has been called

Types

type BindOpt

type BindOpt struct {
	// contains filtered or unexported fields
}

BindOpt is an option for the Bind method

func ConfDir

func ConfDir(path string) BindOpt

ConfDir sets variables for default options called $CONFDIR and $CONFNAME.

func ConfDirNested

func ConfDirNested(confdir string) BindOpt

ConfDirNested sets variables for default options called $CONFDIR and $CONFNAME. ConfDirNested also appends the parent struct field name to the paths before descending into substructs.

func DefaultsFlag added in v0.10.0

func DefaultsFlag(cmd *cobra.Command) BindOpt

DefaultsFlag sets up the defaults=dev/release flag options, which is needed before `flag.Parse` has been called

func IdentityDir

func IdentityDir(path string) BindOpt

IdentityDir sets a variable for the default option called $IDENTITYDIR.

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)
	Var(val pflag.Value, name string, usage string)
}

FlagSet is an interface that matches *pflag.FlagSet

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL