Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
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.
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.
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.
Click to show internal directories.
Click to hide internal directories.