Documentation ¶
Index ¶
- Variables
- func AddConfigPath(in string)
- func AddRemoteProvider(provider, endpoint, path string) error
- func AddSecureRemoteProvider(provider, endpoint, path, secretkeyring string) error
- func AllKeys() []string
- func AllSettings() map[string]interface{}
- func AutomaticEnv()
- func BindEnv(input ...string) (err error)
- func BindPFlag(key string, flag *pflag.Flag) (err error)
- func ConfigFileUsed() string
- func Debug()
- func Get(key string) interface{}
- func GetBool(key string) bool
- func GetDuration(key string) time.Duration
- func GetFloat64(key string) float64
- func GetInt(key string) int
- func GetSizeInBytes(key string) uint
- func GetString(key string) string
- func GetStringMap(key string) map[string]interface{}
- func GetStringMapString(key string) map[string]string
- func GetStringSlice(key string) []string
- func GetTime(key string) time.Time
- func InConfig(key string) bool
- func IsSet(key string) bool
- func Marshal(rawVal interface{}) error
- func MarshalKey(key string, rawVal interface{}) error
- func ReadInConfig() error
- func ReadRemoteConfig() error
- func RegisterAlias(alias string, key string)
- func Reset()
- func Set(key string, value interface{})
- func SetConfigFile(in string)
- func SetConfigName(in string)
- func SetConfigType(in string)
- func SetDefault(key string, value interface{})
- func SetEnvKeyReplacer(r *strings.Replacer)
- func SetEnvPrefix(in string)
- type RemoteConfigError
- type UnsupportedConfigError
- type UnsupportedRemoteProviderError
- type Viper
- func (v *Viper) AddConfigPath(in string)
- func (v *Viper) AddRemoteProvider(provider, endpoint, path string) error
- func (v *Viper) AddSecureRemoteProvider(provider, endpoint, path, secretkeyring string) error
- func (v *Viper) AllKeys() []string
- func (v *Viper) AllSettings() map[string]interface{}
- func (v *Viper) AutomaticEnv()
- func (v *Viper) BindEnv(input ...string) (err error)
- func (v *Viper) BindPFlag(key string, flag *pflag.Flag) (err error)
- func (v *Viper) ConfigFileUsed() string
- func (v *Viper) Debug()
- func (v *Viper) Get(key string) interface{}
- func (v *Viper) GetBool(key string) bool
- func (v *Viper) GetDuration(key string) time.Duration
- func (v *Viper) GetFloat64(key string) float64
- func (v *Viper) GetInt(key string) int
- func (v *Viper) GetSizeInBytes(key string) uint
- func (v *Viper) GetString(key string) string
- func (v *Viper) GetStringMap(key string) map[string]interface{}
- func (v *Viper) GetStringMapString(key string) map[string]string
- func (v *Viper) GetStringSlice(key string) []string
- func (v *Viper) GetTime(key string) time.Time
- func (v *Viper) InConfig(key string) bool
- func (v *Viper) IsSet(key string) bool
- func (v *Viper) Marshal(rawVal interface{}) error
- func (v *Viper) MarshalKey(key string, rawVal interface{}) error
- func (v *Viper) ReadInConfig() error
- func (v *Viper) ReadRemoteConfig() error
- func (v *Viper) RegisterAlias(alias string, key string)
- func (v *Viper) Set(key string, value interface{})
- func (v *Viper) SetConfigFile(in string)
- func (v *Viper) SetConfigName(in string)
- func (v *Viper) SetConfigType(in string)
- func (v *Viper) SetDefault(key string, value interface{})
- func (v *Viper) SetEnvKeyReplacer(r *strings.Replacer)
- func (v *Viper) SetEnvPrefix(in string)
Constants ¶
This section is empty.
Variables ¶
var SupportedExts []string = []string{"json", "toml", "yaml", "yml"}
universally supported extensions
var SupportedRemoteProviders []string = []string{"etcd", "consul"}
universally supported remote providers
Functions ¶
func AddConfigPath ¶
func AddConfigPath(in string)
Add a path for Viper to search for the config file in. Can be called multiple times to define multiple search paths.
func AddRemoteProvider ¶
AddRemoteProvider adds a remote configuration source. Remote Providers are searched in the order they are added. provider is a string value, "etcd" or "consul" are currently supported. endpoint is the url. etcd requires http://ip:port consul requires ip:port path is the path in the k/v store to retrieve configuration To retrieve a config file called myapp.json from /configs/myapp.json you should set path to /configs and set config name (SetConfigName()) to "myapp"
func AddSecureRemoteProvider ¶
AddSecureRemoteProvider adds a remote configuration source. Secure Remote Providers are searched in the order they are added. provider is a string value, "etcd" or "consul" are currently supported. endpoint is the url. etcd requires http://ip:port consul requires ip:port secretkeyring is the filepath to your openpgp secret keyring. e.g. /etc/secrets/myring.gpg path is the path in the k/v store to retrieve configuration To retrieve a config file called myapp.json from /configs/myapp.json you should set path to /configs and set config name (SetConfigName()) to "myapp" Secure Remote Providers are implemented with github.com/xordataexchange/crypt
func AllSettings ¶
func AllSettings() map[string]interface{}
Return all settings as a map[string]interface{}
func AutomaticEnv ¶
func AutomaticEnv()
Have Viper check ENV variables for all keys set in config, default & flags
func BindEnv ¶
Binds a Viper key to a ENV variable ENV variables are case sensitive If only a key is provided, it will use the env key matching the key, uppercased. EnvPrefix will be used when set when env name is not provided.
func BindPFlag ¶
Bind a specific key to a flag (as used by cobra)
serverCmd.Flags().Int("port", 1138, "Port to run Application server on") Viper.BindPFlag("port", serverCmd.Flags().Lookup("port"))
func Get ¶
func Get(key string) interface{}
Viper is essentially repository for configurations Get can retrieve any value given the key to use Get has the behavior of returning the value associated with the first place from where it is set. Viper will check in the following order: flag, env, config file, key/value store, default
Get returns an interface. For a specific value use one of the Get____ methods.
func GetDuration ¶
func GetFloat64 ¶
func GetSizeInBytes ¶
func GetStringMap ¶
func GetStringMapString ¶
func GetStringSlice ¶
func MarshalKey ¶
Takes a single key and marshals it into a Struct
func ReadInConfig ¶
func ReadInConfig() error
Viper will discover and load the configuration file from disk and key/value stores, searching in one of the defined paths.
func ReadRemoteConfig ¶
func ReadRemoteConfig() error
func RegisterAlias ¶
Aliases provide another accessor for the same key. This enables one to change a name without breaking the application
func Reset ¶
func Reset()
Intended for testing, will reset all to default settings. In the public interface for the viper package so applications can use it in their testing as well.
func Set ¶
func Set(key string, value interface{})
The user provided value (via flag) Will be used instead of values obtained via config file, ENV, default, or key/value store
func SetConfigFile ¶
func SetConfigFile(in string)
Explicitly define the path, name and extension of the config file Viper will use this and not check any of the config paths
func SetConfigName ¶
func SetConfigName(in string)
Name for the config file. Does not include extension.
func SetConfigType ¶
func SetConfigType(in string)
func SetDefault ¶
func SetDefault(key string, value interface{})
Set the default value for this key. Default only used when no value is provided by the user via flag, config or ENV.
func SetEnvKeyReplacer ¶
SetEnvKeyReplacer sets the strings.Replacer on the viper object
func SetEnvPrefix ¶
func SetEnvPrefix(in string)
Define a prefix that ENVIRONMENT variables will use.
Types ¶
type RemoteConfigError ¶
type RemoteConfigError string
func (RemoteConfigError) Error ¶
func (rce RemoteConfigError) Error() string
type UnsupportedConfigError ¶
type UnsupportedConfigError string
func (UnsupportedConfigError) Error ¶
func (str UnsupportedConfigError) Error() string
type UnsupportedRemoteProviderError ¶
type UnsupportedRemoteProviderError string
func (UnsupportedRemoteProviderError) Error ¶
func (str UnsupportedRemoteProviderError) Error() string
type Viper ¶
type Viper struct {
// contains filtered or unexported fields
}
A Viper is a unexported struct. Use New() to create a new instance of viper or use the functions for a "global instance"
func (*Viper) AddConfigPath ¶
func (*Viper) AddRemoteProvider ¶
func (*Viper) AddSecureRemoteProvider ¶
func (*Viper) AllSettings ¶
func (*Viper) AutomaticEnv ¶
func (v *Viper) AutomaticEnv()