vxconf

package
v0.0.0-...-276be26 Latest Latest
Warning

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

Go to latest
Published: Dec 10, 2019 License: MIT Imports: 19 Imported by: 13

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Get

func Get(cfg interface{}, path string) (interface{}, error)

Get returns a child of the given value according to a dotted path.

func GetBoolR

func GetBoolR(key string, defaultValue bool) (ret bool)

func GetDurationR

func GetDurationR(key string, defaultValue time.Duration) (ret time.Duration)

func GetIntR

func GetIntR(key string, defaultValue int) (ret int)

func GetMapR

func GetMapR(key string, defaultValue map[string]interface{}) (ret map[string]interface{})

func GetR

func GetR(key string) (ret interface{})

func GetSectionR

func GetSectionR(key string, into interface{}) (err error)

func GetStringR

func GetStringR(key, defaultValue string) (ret string)

func GetStringRP

func GetStringRP(prefix, key, defaultValue string) (ret string)

func GetStringSliceR

func GetStringSliceR(key string, defaultValue []string) (ret []string)

func IsProd

func IsProd() bool

IsProd return true if app is in production mode.

func LoadSectionTo

func LoadSectionTo(sectionKeyPath string, configHolder interface{}) (err error)

LoadSectionTo returns error while cannot yaml Marshal and Unmarshal

func RenderJson

func RenderJson(cfg interface{}) (string, error)

RenderJson renders a JSON configuration.

func RenderYaml

func RenderYaml(cfg interface{}) (string, error)

RenderYaml renders a YAML configuration.

func Set

func Set(cfg interface{}, path string, value interface{}) error

Set returns an error, in case when it is not possible to establish the value obtained in accordance with given dotted path.

func ToBool

func ToBool(s string) (ret bool)

Types

type AppConfig

type AppConfig struct {
	// loaded from meta.yaml
	Root interface{}
	// app runtime k/v store
	KV KVStore
}

Config represents a configuration with convenient access methods.

func Must

func Must(cfg *AppConfig, err error) *AppConfig

Must is a wrapper for parsing functions to be used during initialization. It panics on failure.

func New

func New() AppConfig

func ParseJson

func ParseJson(cfg string) (*AppConfig, error)

ParseJson reads a JSON configuration from the given string.

func ParseJsonFile

func ParseJsonFile(filename string) (*AppConfig, error)

ParseJsonFile reads a JSON configuration from the given filename.

func ParseYaml

func ParseYaml(cfg string) (*AppConfig, error)

ParseYaml reads a YAML configuration from the given string.

func ParseYamlFile

func ParseYamlFile(filename string) (*AppConfig, error)

ParseYamlFile reads a YAML configuration from the given filename.

func (*AppConfig) Bool

func (c *AppConfig) Bool(path string) (bool, error)

Bool returns a bool according to a dotted path.

func (*AppConfig) Copy

func (c *AppConfig) Copy(dottedPath ...string) (*AppConfig, error)

Copy returns a deep copy with given path or without.

func (*AppConfig) Env

func (c *AppConfig) Env() *AppConfig

Fetch data from system env, based on existing config keys.

func (*AppConfig) EnvPrefix

func (c *AppConfig) EnvPrefix(prefix string) *AppConfig

Fetch data from system env using prefix, based on existing config keys.

func (*AppConfig) Extend

func (c *AppConfig) Extend(cfg *AppConfig) (*AppConfig, error)

Extend returns extended copy of current config with applied values from the given config instance. Note that if you extend with different structure you will get an error. See: `.Set()` method for details.

func (*AppConfig) Flag

func (c *AppConfig) Flag() *AppConfig

Parse command line arguments, based on existing config keys.

func (*AppConfig) Float64

func (c *AppConfig) Float64(path string) (float64, error)

Float64 returns a float64 according to a dotted path.

func (*AppConfig) Get

func (c *AppConfig) Get(path string) (*AppConfig, error)

Get returns a nested config according to a dotted path.

func (*AppConfig) Int

func (c *AppConfig) Int(path string) (int, error)

Int returns an int according to a dotted path.

func (*AppConfig) List

func (c *AppConfig) List(path string) ([]interface{}, error)

List returns a []interface{} according to a dotted path.

func (*AppConfig) Map

func (c *AppConfig) Map(path string) (map[string]interface{}, error)

Map returns a map[string]interface{} according to a dotted path.

func (*AppConfig) Set

func (c *AppConfig) Set(path string, val interface{}) error

Set a nested config according to a dotted path.

func (*AppConfig) String

func (c *AppConfig) String(path string) (string, error)

String returns a string according to a dotted path.

func (*AppConfig) UBool

func (c *AppConfig) UBool(path string, defaults ...bool) bool

UBool returns a bool according to a dotted path or default value or false.

func (*AppConfig) UFloat64

func (c *AppConfig) UFloat64(path string, defaults ...float64) float64

UFloat64 returns a float64 according to a dotted path or default value or 0.

func (*AppConfig) UInt

func (c *AppConfig) UInt(path string, defaults ...int) int

UInt returns an int according to a dotted path or default value or 0.

func (*AppConfig) UList

func (c *AppConfig) UList(path string, defaults ...[]interface{}) []interface{}

UList returns a []interface{} according to a dotted path or defaults or []interface{}.

func (*AppConfig) UMap

func (c *AppConfig) UMap(path string, defaults ...map[string]interface{}) map[string]interface{}

UMap returns a map[string]interface{} according to a dotted path or default or map[string]interface{}.

func (*AppConfig) UString

func (c *AppConfig) UString(path string, defaults ...string) string

UString returns a string according to a dotted path or default or "".

type BlockingFunc

type BlockingFunc func()

type CoolServer

type CoolServer interface {
	GetApiPrefix() string
	GetApiVersion() string

	OnPrintBanner(addr string)

	OnInitRegistrar()
	OnShutdownRegistrar()

	OnInitCORS(*middleware.CORSConfig) echo.MiddlewareFunc

	OnInitJWT(e *echo.Echo, config mjwt.JWTConfig) mjwt.JWTConfig
	JWTSkipper(c echo.Context) bool

	OnInitForwarders(e *echo.Echo)
	OnShutdownForwarders()

	OnInitStats(e *echo.Echo) (ready bool)
	OnInitStatic(e *echo.Echo) (ready bool)
	OnInitTemplates(e *echo.Echo) (ready bool)

	OnInitDB(e *echo.Echo) *dbi.Config
	OnShutdownDB()

	OnInitRoutes(e *echo.Echo) (ready bool)
	OnInitWebSocket(e *echo.Echo) (ready bool)

	OnPreStart(e *echo.Echo) (err error)
	OnPreShutdown()
	OnPostShutdown()
}

type KVStore

type KVStore map[string]string

type XsServer

type XsServer interface {
	Start(stopCh, doneCh chan struct{}) BlockingFunc
	Stop(cxt context.Context) error
	Restart() BlockingFunc
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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