Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BindFullyQualifiedFlag ¶
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 ¶
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 ¶
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
Types ¶
This section is empty.