Documentation ¶
Overview ¶
Package archaius provides you APIs which helps to manage files, remote config center configurations
Index ¶
- Constants
- func AddDI(dimensionInfo string) (map[string]string, error)
- func AddFile(file string, opts ...FileOption) error
- func AddKeyValue(key string, value interface{}) error
- func AddSource(source core.ConfigSource) error
- func DeleteKeyValue(key string, value interface{}) error
- func Exist(key string) bool
- func Get(key string) interface{}
- func GetBool(key string, defaultValue bool) bool
- func GetConfigs() map[string]interface{}
- func GetConfigsByDI(dimensionInfo string) map[string]interface{}
- func GetFloat64(key string, defaultValue float64) float64
- func GetInt(key string, defaultValue int) int
- func GetString(key string, defaultValue string) string
- func GetStringByDI(dimensionInfo, key string, defaultValue string) string
- func Init(opts ...Option) error
- func InitConfigCenter(ci ConfigCenterInfo) error
- func InitExternal(opts ...Option) error
- func RegisterListener(listenerObj core.EventListener, key ...string) error
- func UnRegisterListener(listenerObj core.EventListener, key ...string) error
- func UnmarshalConfig(obj interface{}) error
- type ConfigCenterInfo
- type ConfigFactory
- func (arc *ConfigFactory) AddByDimensionInfo(dimensionInfo string) (map[string]string, error)
- func (arc *ConfigFactory) AddSource(source core.ConfigSource) error
- func (arc *ConfigFactory) DeInit() error
- func (arc *ConfigFactory) GetConfigurationByKey(key string) interface{}
- func (arc *ConfigFactory) GetConfigurationByKeyAndDimensionInfo(dimensionInfo, key string) interface{}
- func (arc *ConfigFactory) GetConfigurations() map[string]interface{}
- func (arc *ConfigFactory) GetConfigurationsByDimensionInfo(dimensionInfo string) map[string]interface{}
- func (arc *ConfigFactory) GetValue(key string) cast.Value
- func (arc *ConfigFactory) GetValueByDI(dimensionInfo, key string) cast.Value
- func (arc *ConfigFactory) Init() error
- func (arc *ConfigFactory) IsKeyExist(key string) bool
- func (arc *ConfigFactory) Refresh(name string) error
- func (arc *ConfigFactory) RegisterListener(listenerObj core.EventListener, keys ...string) error
- func (arc *ConfigFactory) UnRegisterListener(listenerObj core.EventListener, keys ...string) error
- func (arc *ConfigFactory) Unmarshal(obj interface{}) error
- type ConfigurationFactory
- type EventListener
- type FileOption
- type FileOptions
- type Option
- func WithCommandLineSource() Option
- func WithConfigCenter(cci ConfigCenterInfo) Option
- func WithDefaultFileHandler(handler filesource.FileHandler) Option
- func WithENVSource() Option
- func WithExternalSource(e core.ConfigSource) Option
- func WithMemorySource(e core.ConfigSource) Option
- func WithOptionalFiles(f []string) Option
- func WithRequiredFiles(f []string) Option
- type Options
Constants ¶
const (
//UnsuccessfulArchaiusInit is of type string
UnsuccessfulArchaiusInit = "issue with go-archaius initialization"
)
Variables ¶
This section is empty.
Functions ¶
func AddFile ¶
func AddFile(file string, opts ...FileOption) error
AddFile is for to add the configuration files into the configfactory at run time
func AddKeyValue ¶
AddKeyValue is for to add the configuration key, value pairs into the configfactory at run time it is just affect the local configs
func DeleteKeyValue ¶
DeleteKeyValue is for to delete the configuration key, value pairs into the configfactory at run time
func GetConfigs ¶
func GetConfigs() map[string]interface{}
GetConfigs gives the information about all configurations
func GetConfigsByDI ¶
GetConfigsByDI is for to get the all configurations received dimensionInfo
func GetFloat64 ¶
GetFloat64 gives the key value in the form of float64
func GetStringByDI ¶
GetStringByDI is for to get the value of configuration key based on dimension info
func InitConfigCenter ¶
func InitConfigCenter(ci ConfigCenterInfo) error
InitConfigCenter create a Config Center config singleton
func InitExternal ¶
InitExternal create any config singleton
func RegisterListener ¶
func RegisterListener(listenerObj core.EventListener, key ...string) error
RegisterListener to Register all listener for different key changes, each key could be a regular expression
func UnRegisterListener ¶
func UnRegisterListener(listenerObj core.EventListener, key ...string) error
UnRegisterListener is to remove the listener
func UnmarshalConfig ¶
func UnmarshalConfig(obj interface{}) error
UnmarshalConfig is for unmarshalling the configuraions of receiving object
Types ¶
type ConfigCenterInfo ¶
type ConfigCenterInfo struct { URL string DimensionInfo string TenantName string EnableSSL bool TLSConfig *tls.Config RefreshMode int RefreshInterval int Autodiscovery bool ClientType string Version string RefreshPort string Environment string }
ConfigCenterInfo has attribute for config center initialization
type ConfigFactory ¶
type ConfigFactory struct {
// contains filtered or unexported fields
}
ConfigFactory is a struct which stores configuration information
func (*ConfigFactory) AddByDimensionInfo ¶
func (arc *ConfigFactory) AddByDimensionInfo(dimensionInfo string) (map[string]string, error)
AddByDimensionInfo adds a NewDimensionInfo of which configurations needs to be taken
func (*ConfigFactory) AddSource ¶
func (arc *ConfigFactory) AddSource(source core.ConfigSource) error
AddSource return all values of different sources
func (*ConfigFactory) DeInit ¶
func (arc *ConfigFactory) DeInit() error
DeInit return all values of different sources
func (*ConfigFactory) GetConfigurationByKey ¶
func (arc *ConfigFactory) GetConfigurationByKey(key string) interface{}
GetConfigurationByKey return all values of different sources
func (*ConfigFactory) GetConfigurationByKeyAndDimensionInfo ¶
func (arc *ConfigFactory) GetConfigurationByKeyAndDimensionInfo(dimensionInfo, key string) interface{}
GetConfigurationByKeyAndDimensionInfo get the value for a key in a particular dimensionInfo
func (*ConfigFactory) GetConfigurations ¶
func (arc *ConfigFactory) GetConfigurations() map[string]interface{}
GetConfigurations dump complete configuration managed by config-client
Only return highest priority key value:- 1. ConfigFile 2. Environment Variable 3. Commandline Argument 4. config Center configuration config-center value being the highest priority
func (*ConfigFactory) GetConfigurationsByDimensionInfo ¶
func (arc *ConfigFactory) GetConfigurationsByDimensionInfo(dimensionInfo string) map[string]interface{}
GetConfigurationsByDimensionInfo dump complete configuration managed by config-client Only return config Center configurations.
func (*ConfigFactory) GetValue ¶
func (arc *ConfigFactory) GetValue(key string) cast.Value
GetValue an abstraction to return key's value in respective type
func (*ConfigFactory) GetValueByDI ¶
func (arc *ConfigFactory) GetValueByDI(dimensionInfo, key string) cast.Value
GetValueByDI an abstraction to return key's value in respective type based on dimension info which is provided by user
func (*ConfigFactory) Init ¶
func (arc *ConfigFactory) Init() error
Init intiates the Configurationfatory
func (*ConfigFactory) IsKeyExist ¶
func (arc *ConfigFactory) IsKeyExist(key string) bool
IsKeyExist check existence of key
func (*ConfigFactory) Refresh ¶
func (arc *ConfigFactory) Refresh(name string) error
Refresh pull config from source and update configuration map
func (*ConfigFactory) RegisterListener ¶
func (arc *ConfigFactory) RegisterListener(listenerObj core.EventListener, keys ...string) error
RegisterListener Function to Register all listener for different key changes
func (*ConfigFactory) UnRegisterListener ¶
func (arc *ConfigFactory) UnRegisterListener(listenerObj core.EventListener, keys ...string) error
UnRegisterListener remove listener
func (*ConfigFactory) Unmarshal ¶
func (arc *ConfigFactory) Unmarshal(obj interface{}) error
Unmarshal function is used in the case when user want his yaml file to be unmarshalled to structure pointer Unmarshal function accepts a pointer and in called function anyone can able to get the data in passed object Unmarshal only accepts a pointer values Unmarshal returns error if obj values are 0. nil and value type. Procedure:
- Unmarshal first checks the passed object type using reflection.
- Based on type Unmarshal function will check and set the values ex: If type is basic types like int, string, float then it will assigb directly values, If type is map, ptr and struct then it will again send for unmarshal untill it find the basic type and set the values
type ConfigurationFactory ¶
type ConfigurationFactory interface { // Init ConfigurationFactory Init() error // dump complete configuration managed by config-client based on priority // (1. config Center 2. Commandline Argument 3.Environment Variable 4.ConfigFile , 1 with highest priority GetConfigurations() map[string]interface{} // dump complete configuration managed by config-client for config Center based on dimension info. GetConfigurationsByDimensionInfo(dimensionInfo string) map[string]interface{} // add the dimension info for other services AddByDimensionInfo(dimensionInfo string) (map[string]string, error) // return all values of different sources GetConfigurationByKey(key string) interface{} // check for existence of key IsKeyExist(string) bool // unmarshal data on user define structure Unmarshal(structure interface{}) error // Add custom sources AddSource(core.ConfigSource) error //Function to Register all listener for different key changes, each key could be a regular expression RegisterListener(listenerObj core.EventListener, key ...string) error // remove listener UnRegisterListener(listenerObj core.EventListener, key ...string) error // DeInit DeInit() error // an abstraction to return key's value in respective type GetValue(key string) cast.Value // return values of config-center source based on key and dimension info GetConfigurationByKeyAndDimensionInfo(dimensionInfo, key string) interface{} // an abstraction to return key's value in respective type based on dimension info which is provided by user GetValueByDI(dimensionInfo, key string) cast.Value Refresh(name string) error }
ConfigurationFactory is a list of Interface for config Center
func GetConfigFactory ¶
func GetConfigFactory() ConfigurationFactory
GetConfigFactory return factory
func NewConfigFactory ¶
func NewConfigFactory() (ConfigurationFactory, error)
NewConfigFactory creates a new configuration object for config center
type EventListener ¶
type EventListener struct { Name string Factory ConfigurationFactory }
EventListener is a struct having information about registering key and object
func (EventListener) Event ¶
func (e EventListener) Event(event *core.Event)
Event is invoked while generating events at run time
type FileOption ¶
type FileOption func(options *FileOptions)
FileOption is a func
func WithFileHandler ¶
func WithFileHandler(h filesource.FileHandler) FileOption
WithFileHandler use custom handler
type FileOptions ¶
type FileOptions struct {
Handler filesource.FileHandler
}
FileOptions for AddFile func
type Option ¶
type Option func(options *Options)
Option is a func
func WithCommandLineSource ¶
func WithCommandLineSource() Option
WithCommandLineSource enable cmd line source
func WithConfigCenter ¶
func WithConfigCenter(cci ConfigCenterInfo) Option
WithConfigCenter accept the information for initiating a config center client and archaius config source
func WithDefaultFileHandler ¶
func WithDefaultFileHandler(handler filesource.FileHandler) Option
WithDefaultFileHandler let user custom handler
func WithExternalSource ¶
func WithExternalSource(e core.ConfigSource) Option
WithExternalSource accept the information for initiating a External source
func WithMemorySource ¶
func WithMemorySource(e core.ConfigSource) Option
WithMemorySource accept the information for initiating a Memory source
func WithOptionalFiles ¶
WithOptionalFiles tell archaius to manage files, if not exist will not return error
func WithRequiredFiles ¶
WithRequiredFiles tell archaius to manage files, if not exist will return error
type Options ¶
type Options struct { RequiredFiles []string OptionalFiles []string FileHandler filesource.FileHandler ConfigCenterInfo ConfigCenterInfo UseCLISource bool UseENVSource bool ExternalSource core.ConfigSource }
Options hold options
Directories ¶
Path | Synopsis |
---|---|
Package core provides a list of interface for Dispatcher and ConfigMgr
|
Package core provides a list of interface for Dispatcher and ConfigMgr |
cast
Package cast provides the typeCasting of an object
|
Package cast provides the typeCasting of an object |
config-manager
Package configmanager provides functions to communicate to Config-Center Package configmanager provides deserializer
|
Package configmanager provides functions to communicate to Config-Center Package configmanager provides deserializer |
event-system
Package eventsystem provides the different Listeners
|
Package eventsystem provides the different Listeners |
examples
|
|
hack
* Created by on 2017/7/19.
|
* Created by on 2017/7/19. |
sources
|
|
commandline-source
Package commandlinesource created on 2017/6/22.
|
Package commandlinesource created on 2017/6/22. |
configcenter
Package configcenter created on 2017/6/22.
|
Package configcenter created on 2017/6/22. |
enviromentvariable-source
Package envconfigsource created on 2017/6/22.
|
Package envconfigsource created on 2017/6/22. |
file-source
Package filesource created on 2017/6/22.
|
Package filesource created on 2017/6/22. |