etcd

package
v0.15.16 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 2, 2020 License: Apache-2.0 Imports: 23 Imported by: 24

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewConfigServiceClient

func NewConfigServiceClient(opts Options) (client.Client, error)

NewConfigServiceClient returns a ConfigServiceClient.

Types

type Cluster

type Cluster interface {
	Zone() string
	SetZone(z string) Cluster

	Endpoints() []string
	SetEndpoints(endpoints []string) Cluster

	KeepAliveOptions() KeepAliveOptions
	SetKeepAliveOptions(value KeepAliveOptions) Cluster

	TLSOptions() TLSOptions
	SetTLSOptions(TLSOptions) Cluster

	SetAutoSyncInterval(value time.Duration) Cluster
	AutoSyncInterval() time.Duration
}

Cluster defines the configuration for a etcd cluster.

func NewCluster

func NewCluster() Cluster

NewCluster creates a Cluster.

type ClusterConfig

type ClusterConfig struct {
	Zone             string           `yaml:"zone"`
	Endpoints        []string         `yaml:"endpoints"`
	KeepAlive        *KeepAliveConfig `yaml:"keepAlive"`
	TLS              *TLSConfig       `yaml:"tls"`
	AutoSyncInterval time.Duration    `yaml:"autoSyncInterval"`
}

ClusterConfig is the config for a zoned etcd cluster.

func (ClusterConfig) NewCluster

func (c ClusterConfig) NewCluster() Cluster

NewCluster creates a new Cluster.

type Configuration

type Configuration struct {
	Zone              string                 `yaml:"zone"`
	Env               string                 `yaml:"env"`
	Service           string                 `yaml:"service" validate:"nonzero"`
	CacheDir          string                 `yaml:"cacheDir"`
	ETCDClusters      []ClusterConfig        `yaml:"etcdClusters"`
	SDConfig          services.Configuration `yaml:"m3sd"`
	WatchWithRevision int64                  `yaml:"watchWithRevision"`
	NewDirectoryMode  *os.FileMode           `yaml:"newDirectoryMode"`
}

Configuration is for config service client.

func (Configuration) NewClient

func (cfg Configuration) NewClient(iopts instrument.Options) (client.Client, error)

NewClient creates a new config service client.

func (Configuration) NewOptions

func (cfg Configuration) NewOptions() Options

NewOptions returns a new Options.

type KeepAliveConfig added in v0.14.0

type KeepAliveConfig struct {
	Enabled bool          `yaml:"enabled"`
	Period  time.Duration `yaml:"period"`
	Jitter  time.Duration `yaml:"jitter"`
	Timeout time.Duration `yaml:"timeout"`
}

KeepAliveConfig configures keepAlive behavior.

func (*KeepAliveConfig) NewOptions added in v0.14.0

func (c *KeepAliveConfig) NewOptions() KeepAliveOptions

NewOptions constructs options based on the config.

type KeepAliveOptions

type KeepAliveOptions interface {
	// KeepAliveEnabled determines whether keepAlives are enabled.
	KeepAliveEnabled() bool

	// SetKeepAliveEnabled sets whether keepAlives are enabled.
	SetKeepAliveEnabled(value bool) KeepAliveOptions

	// KeepAlivePeriod is the duration of time after which if the client doesn't see
	// any activity the client pings the server to see if transport is alive.
	KeepAlivePeriod() time.Duration

	// SetKeepAlivePeriod sets the duration of time after which if the client doesn't see
	// any activity the client pings the server to see if transport is alive.
	SetKeepAlivePeriod(value time.Duration) KeepAliveOptions

	// KeepAlivePeriodMaxJitter is used to add some jittering to keep alive period
	// to avoid a large number of clients all sending keepalive probes at the
	// same time.
	KeepAlivePeriodMaxJitter() time.Duration

	// SetKeepAlivePeriodMaxJitter sets the maximum jittering to keep alive period
	// to avoid a large number of clients all sending keepalive probes at the
	// same time.
	SetKeepAlivePeriodMaxJitter(value time.Duration) KeepAliveOptions

	// KeepAliveTimeout is the time that the client waits for a response for the
	// keep-alive probe. If the response is not received in this time, the connection is closed.
	KeepAliveTimeout() time.Duration

	// SetKeepAliveTimeout sets the time that the client waits for a response for the
	// keep-alive probe. If the response is not received in this time, the connection is closed.
	SetKeepAliveTimeout(value time.Duration) KeepAliveOptions
}

KeepAliveOptions provide a set of client-side keepAlive options.

func NewKeepAliveOptions

func NewKeepAliveOptions() KeepAliveOptions

NewKeepAliveOptions provide a set of keepAlive options.

type Options

type Options interface {
	Env() string
	SetEnv(e string) Options

	Zone() string
	SetZone(z string) Options

	Service() string
	SetService(id string) Options

	CacheDir() string
	SetCacheDir(dir string) Options

	ServicesOptions() services.Options
	SetServicesOptions(opts services.Options) Options

	Clusters() []Cluster
	SetClusters(clusters []Cluster) Options
	ClusterForZone(z string) (Cluster, bool)

	InstrumentOptions() instrument.Options
	SetInstrumentOptions(iopts instrument.Options) Options

	RetryOptions() retry.Options
	SetRetryOptions(retryOpts retry.Options) Options

	WatchWithRevision() int64
	SetWatchWithRevision(rev int64) Options

	SetNewDirectoryMode(fm os.FileMode) Options
	NewDirectoryMode() os.FileMode

	Validate() error
}

Options is the Options to create a config service client.

func NewOptions

func NewOptions() Options

NewOptions creates a set of Options.

type TLSConfig

type TLSConfig struct {
	CrtPath   string `yaml:"crtPath"`
	CACrtPath string `yaml:"caCrtPath"`
	KeyPath   string `yaml:"keyPath"`
}

TLSConfig is the config for TLS.

type TLSOptions

type TLSOptions interface {
	CrtPath() string
	SetCrtPath(string) TLSOptions

	KeyPath() string
	SetKeyPath(string) TLSOptions

	CACrtPath() string
	SetCACrtPath(string) TLSOptions

	Config() (*tls.Config, error)
}

TLSOptions defines the options for TLS.

func NewTLSOptions

func NewTLSOptions() TLSOptions

NewTLSOptions creates a set of TLS Options.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL