Documentation
¶
Overview ¶
Package config provides config handling for go-micro.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // ErrUnknownPlugin happens when there's no config factory for the given plugin. ErrUnknownPlugin = errors.New("unknown config given. Did you import the config plugin?") // ErrNotExistent happens when a config key is not existent. ErrNotExistent = errors.New("no such config key") // ErrTypesDontMatch happens when types don't match during Get[T](). ErrTypesDontMatch = errors.New("config key requested type and actual type don't match") // ErrUnknownScheme happens when you didn't import the plugin for the scheme or the scheme is unknown. ErrUnknownScheme = errors.New("unknown config source scheme. Did you register the config source plugin for your scheme?") // ErrFileNotFound happens when theres no file. ErrFileNotFound = errors.New("file not found") // ErrCodecNotFound happens when the required codec is not found. ErrCodecNotFound = errors.New("marshaler for codec not found. Did you import the codec plugin for your file type?") )
Functions ¶
func Get ¶
Get returns either the value of "key" in "data" or the default value "def". If types don't match it returns ErrTypesDontMatch. If key hasn't been found it returns ErrNotExistent as well as the default value "def".
It supports the following datatypes:
- any non-container (string/float64/uvm.)
- []string slice
- []any slice
- map[string]string
- map[string]any
func Parse ¶
func Parse(sections []string, configs types.ConfigData, target any) error
Parse parses the config from config.Read into the given struct. Param target should be a pointer to the config to parse into.
func Read ¶
Read reads urls into []Data where Data is map[string]any.
By default it will error out if any of these config URLs fail, but you can ignore errors for a single url by adding "?ignore_error=true".
prependSections is for url's that don't support sections (cli for example), their result will be prepended, also you can add sections to a single url with "?add_section=true".
Types ¶
This section is empty.