Documentation ¶
Index ¶
- Variables
- func ConfigToClient(cfg *Config) (*api.Config, error)
- type BrokerWatcher
- func (pdb *BrokerWatcher) Delete(key string, opts ...datasync.DelOption) (existed bool, err error)
- func (pdb *BrokerWatcher) GetValue(key string) (data []byte, found bool, revision int64, err error)
- func (pdb *BrokerWatcher) ListKeys(prefix string) (keyval.BytesKeyIterator, error)
- func (pdb *BrokerWatcher) ListValues(key string) (keyval.BytesKeyValIterator, error)
- func (pdb *BrokerWatcher) NewTxn() keyval.BytesTxn
- func (pdb *BrokerWatcher) Put(key string, data []byte, opts ...datasync.PutOption) error
- func (pdb *BrokerWatcher) Watch(resp func(keyval.BytesWatchResp), closeChan chan string, keys ...string) error
- type Client
- func (c *Client) Close() error
- func (c *Client) Delete(key string, opts ...datasync.DelOption) (existed bool, err error)
- func (c *Client) GetValue(key string) (data []byte, found bool, revision int64, err error)
- func (c *Client) ListKeys(prefix string) (keyval.BytesKeyIterator, error)
- func (c *Client) ListValues(key string) (keyval.BytesKeyValIterator, error)
- func (c *Client) NewBroker(prefix string) keyval.BytesBroker
- func (c *Client) NewTxn() keyval.BytesTxn
- func (c *Client) NewWatcher(prefix string) keyval.BytesWatcher
- func (c *Client) Put(key string, data []byte, opts ...datasync.PutOption) error
- func (c *Client) Watch(resp func(keyval.BytesWatchResp), closeChan chan string, keys ...string) error
- type Config
- type Deps
- type Option
- type Plugin
Constants ¶
This section is empty.
Variables ¶
var DefaultPlugin = *NewPlugin()
DefaultPlugin is a default instance of Plugin.
Functions ¶
Types ¶
type BrokerWatcher ¶
type BrokerWatcher struct { *Client // contains filtered or unexported fields }
BrokerWatcher uses Client to access the datastore. The connection can be shared among multiple BrokerWatcher. In case of accessing a particular subtree in Consul only, BrokerWatcher allows defining a keyPrefix that is prepended to all keys in its methods in order to shorten keys used in arguments.
func (*BrokerWatcher) Delete ¶
Delete calls 'Delete' function of the underlying BytesConnectionEtcd. KeyPrefix defined in constructor is prepended to the key argument.
func (*BrokerWatcher) GetValue ¶
GetValue calls 'GetValue' function of the underlying BytesConnectionEtcd. KeyPrefix defined in constructor is prepended to the key argument.
func (*BrokerWatcher) ListKeys ¶
func (pdb *BrokerWatcher) ListKeys(prefix string) (keyval.BytesKeyIterator, error)
ListKeys calls 'ListKeys' function of the underlying BytesConnectionEtcd. KeyPrefix defined in constructor is prepended to the argument.
func (*BrokerWatcher) ListValues ¶
func (pdb *BrokerWatcher) ListValues(key string) (keyval.BytesKeyValIterator, error)
ListValues calls 'ListValues' function of the underlying BytesConnectionEtcd. KeyPrefix defined in constructor is prepended to the key argument. The prefix is removed from the keys of the returned values.
func (*BrokerWatcher) NewTxn ¶
func (pdb *BrokerWatcher) NewTxn() keyval.BytesTxn
NewTxn creates a new transaction. KeyPrefix defined in constructor will be prepended to all key arguments in the transaction.
func (*BrokerWatcher) Put ¶
Put calls 'Put' function of the underlying BytesConnectionEtcd. KeyPrefix defined in constructor is prepended to the key argument.
func (*BrokerWatcher) Watch ¶
func (pdb *BrokerWatcher) Watch(resp func(keyval.BytesWatchResp), closeChan chan string, keys ...string) error
Watch starts subscription for changes associated with the selected <keys>. KeyPrefix defined in constructor is prepended to all <keys> in the argument list. The prefix is removed from the keys returned in watch events. Watch events will be delivered to <resp> callback.
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client serves as a client for Consul KV storage and implements keyval.CoreBrokerWatcher interface.
func NewClient ¶
NewClient creates new client for Consul using given address.
func (*Client) Delete ¶
Delete deletes given key.
func (*Client) GetValue ¶
GetValue returns data for the given key.
func (*Client) ListKeys ¶
func (c *Client) ListKeys(prefix string) (keyval.BytesKeyIterator, error)
ListKeys returns interator with keys for given key prefix.
func (*Client) ListValues ¶
func (c *Client) ListValues(key string) (keyval.BytesKeyValIterator, error)
ListValues returns interator with key-value pairs for given key prefix.
func (*Client) NewBroker ¶
func (c *Client) NewBroker(prefix string) keyval.BytesBroker
NewBroker creates a new instance of a proxy that provides access to etcd. The proxy will reuse the connection from Client. <prefix> will be prepended to the key argument in all calls from the created BrokerWatcher. To avoid using a prefix, pass keyval. Root constant as an argument.
func (*Client) NewWatcher ¶
func (c *Client) NewWatcher(prefix string) keyval.BytesWatcher
NewWatcher creates a new instance of a proxy that provides access to etcd. The proxy will reuse the connection from Client. <prefix> will be prepended to the key argument in all calls on created BrokerWatcher. To avoid using a prefix, pass keyval. Root constant as an argument.
func (*Client) Put ¶
Put stores given data for the key.
type Config ¶
type Config struct { Address string `json:"address"` ReconnectResync bool `json:"resync-after-reconnect"` }
Config represents configuration for Consul plugin.
type Deps ¶
type Deps struct { infra.PluginDeps StatusCheck statuscheck.PluginStatusWriter Resync *resync.Plugin }
Deps lists dependencies of the Consul plugin. If injected, Consul plugin will use StatusCheck to signal the connection status.
type Option ¶ added in v1.5.0
type Option func(*Plugin)
Option is a function that can be used in NewPlugin to customize Plugin.
func UseConf ¶ added in v1.5.0
UseConf returns Option which injects a particular configuration.
type Plugin ¶
Plugin implements Consul as plugin.
func NewPlugin ¶ added in v1.5.0
NewPlugin creates a new Plugin with the provided Options.
func (*Plugin) Disabled ¶
Disabled returns *true* if the plugin is not in use due to missing configuration.
func (*Plugin) NewBroker ¶
func (p *Plugin) NewBroker(keyPrefix string) keyval.ProtoBroker
NewBroker creates new instance of prefixed broker that provides API with arguments of type proto.Message.
func (*Plugin) NewWatcher ¶
func (p *Plugin) NewWatcher(keyPrefix string) keyval.ProtoWatcher
NewWatcher creates new instance of prefixed broker that provides API with arguments of type proto.Message.