Documentation
¶
Overview ¶
Package consul contains components for syncing app configuration with Consul.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var Options = []sdk.Option{
sdk.WithComponents(&ConfigSourcer{}),
}
Options are the SDK options to use for instantiation for this plugin.
Functions ¶
This section is empty.
Types ¶
type ConfigSourcer ¶
type ConfigSourcer struct {
// contains filtered or unexported fields
}
func (*ConfigSourcer) Config ¶
func (cs *ConfigSourcer) Config() (interface{}, error)
Config implements the Configurable interface
func (*ConfigSourcer) ConfigSet ¶
func (cs *ConfigSourcer) ConfigSet(config interface{}) error
ConfigSet implements the ConfigurableNotify interface
func (*ConfigSourcer) Documentation ¶
func (cs *ConfigSourcer) Documentation() (*docs.Documentation, error)
func (*ConfigSourcer) ReadFunc ¶
func (cs *ConfigSourcer) ReadFunc() interface{}
ReadFunc returns the function for reading configuration.
The returned function can start a background goroutine to more efficiently watch for changes. The entrypoint will periodically call Read to check for updates.
If the configuration changes for any dynamic configuration variable, the entrypoint will call Stop followed by Read, so plugins DO NOT need to implement config diffing. Plugins may safely assume if Read is called after a Stop that the config is new, and that subsequent calls have the same config.
Read is called for ALL defined configuration variables for this source. If ANY change, Stop is called followed by Read again. Only one sourcer is active for a set of configs.
type ConfigSourcerConfig ¶
type ConfigSourcerConfig struct {
// Configuration for where to talk to Consul
Address string `hcl:"address,optional"`
Scheme string `hcl:"scheme,optional"`
HTTPAuth consulHTTPAuth `hcl:"http_auth,optional"`
Token string `hcl:"token,optional"`
TokenFile string `hcl:"token_file,optional"`
TLSConfig tlsConfig `hcl:"tls,optional"`
// Default location of KV data
Datacenter string `hcl:"datacenter,optional"`
Namespace string `hcl:"namespace,optional"`
Partition string `hcl:"partition,optional"`
}
ConfigSourcerConfig is used to configure where to talk to Consul, and from where the KV data is to be retrieved