config

package
v0.0.0-...-15a0be0 Latest Latest
Warning

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

Go to latest
Published: Feb 6, 2020 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BindFullyQualifiedFlag

func BindFullyQualifiedFlag(cmd *cobra.Command) func(flag *pflag.Flag)

BindFullyQualifiedFlag ensures that each flag used in commands is bound to a key using fully qualified name which has a following form:

commandName.flagName

This lets us keep structure of yaml file:

commandName:
	flagName: value

func SetupConfigSources

func SetupConfigSources(configFile string, notDefault bool) error

SetupConfigSources sets up Viper configuration.

If specific file path is provided but fails when loading it will return an error.

In case of default config location it will not fail if file does not exist, but will in any other case such as parse error.

Config precedence (each item takes precedence over the item below it): . Flags . Env variables . Config file

Environment variables are prefixed with `IKE` and have fully qualified names, for example in case of `develop` command and its `port` flag corresponding environment variable is `IKE_DEVELOP_PORT`.

func SupportedExtensions

func SupportedExtensions() []string

SupportedExtensions returns a slice of all supported config format (as file extensions)

func SyncFlag

func SyncFlag(cmd *cobra.Command, flagName string) error

SyncFlag ensures that if configuration provides a value for a given cmd.flag it will be set back to the flag itself, but only if the flag was not set through CLI.

This way we can make flags required but still have their values provided by the configuration source

func SyncFlags

func SyncFlags(cmd *cobra.Command) error

SyncFlags ensures that if configuration provide a value for any of defined flags it will be set back to the flag itself.

This function iterates over all flags defined for cobra.Command and accumulates errors if they occur while calling SyncFlag for every flag.

Types

This section is empty.

Jump to

Keyboard shortcuts

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