etcd

package
v0.4.8 Latest Latest
Warning

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

Go to latest
Published: Nov 19, 2018 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
}

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"`
}

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"`
}

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 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

	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