Documentation
¶
Overview ¶
Package etcd provides etcd integration for Yggdrasil.
Index ¶
Constants ¶
View Source
const ( // ConfigSourceModeBlob is the mode for blob config source. ConfigSourceModeBlob = "blob" // ConfigSourceModeKV is the mode for kv config source. ConfigSourceModeKV = "kv" )
Variables ¶
This section is empty.
Functions ¶
func NewConfigSource ¶
func NewConfigSource(cfg ConfigSourceConfig) (source.Source, error)
NewConfigSource creates a new etcd config source.
Types ¶
type ClientConfig ¶
type ClientConfig struct {
Endpoints []string `mapstructure:"endpoints"`
DialTimeout time.Duration `mapstructure:"dialTimeout"`
Username string `mapstructure:"username"`
Password string `mapstructure:"password"`
}
ClientConfig defines the configuration for an etcd client.
type ConfigSourceConfig ¶
type ConfigSourceConfig struct {
Client ClientConfig `mapstructure:"client"`
Key string `mapstructure:"key"`
Prefix string `mapstructure:"prefix"`
Mode string `mapstructure:"mode"`
Watch *bool `mapstructure:"watch"`
Format source.Parser `mapstructure:"format"`
Name string `mapstructure:"name"`
}
ConfigSourceConfig defines the configuration for an etcd config source.
type Registry ¶
type Registry struct {
// contains filtered or unexported fields
}
Registry is a registry for etcd.
func NewRegistry ¶
func NewRegistry(cfg RegistryConfig) (*Registry, error)
NewRegistry creates a new registry.
func (*Registry) Deregister ¶
Deregister deletes a service instance from the registry.
type RegistryConfig ¶
type RegistryConfig struct {
Client ClientConfig `mapstructure:"client"`
Prefix string `mapstructure:"prefix"`
TTL time.Duration `mapstructure:"ttl"`
KeepAlive *bool `mapstructure:"keepAlive"`
RetryInterval time.Duration `mapstructure:"retryInterval"`
}
RegistryConfig defines the configuration for an etcd registry.
type Resolver ¶
type Resolver struct {
// contains filtered or unexported fields
}
Resolver implements resolver.Resolver.
func NewResolver ¶
func NewResolver(name string, cfg ResolverConfig) (*Resolver, error)
NewResolver creates a new etcd resolver.
type ResolverConfig ¶
type ResolverConfig struct {
Client ClientConfig `mapstructure:"client"`
Prefix string `mapstructure:"prefix"`
Namespace string `mapstructure:"namespace"`
Protocols []string `mapstructure:"protocols"`
Debounce time.Duration `mapstructure:"debounce"`
}
ResolverConfig defines the configuration for an etcd resolver.
func LoadResolverConfig ¶
func LoadResolverConfig(resolverName string) ResolverConfig
LoadResolverConfig loads resolver config from config.
Click to show internal directories.
Click to hide internal directories.