Documentation ¶
Index ¶
- func PodManifestsHaveTLS(ManifestDir string) (bool, error)
- type Client
- func (c Client) ClusterAvailable() (bool, error)
- func (c Client) GetClusterStatus() (map[string]*clientv3.StatusResponse, error)
- func (c Client) GetClusterVersions() (map[string]string, error)
- func (c Client) GetVersion() (string, error)
- func (c Client) HasTLS() bool
- func (c Client) WaitForClusterAvailable(delay time.Duration, retries int, retryInterval time.Duration) (bool, error)
- type ClusterInterrogator
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func PodManifestsHaveTLS ¶
PodManifestsHaveTLS reads the etcd staticpod manifest from disk and returns false if the TLS flags are missing from the command list. If all the flags are present it returns true.
Types ¶
type Client ¶
Client provides connection parameters for an etcd cluster
func NewFromStaticPod ¶
func NewFromStaticPod(endpoints []string, manifestDir string, certificatesDir string) (*Client, error)
NewFromStaticPod creates a GenericClient from the given endpoints, manifestDir, and certificatesDir
func (Client) ClusterAvailable ¶
ClusterAvailable returns true if the cluster status indicates the cluster is available.
func (Client) GetClusterStatus ¶
func (c Client) GetClusterStatus() (map[string]*clientv3.StatusResponse, error)
GetClusterStatus returns nil for status Up or error for status Down
func (Client) GetClusterVersions ¶
GetClusterVersions returns a map of the endpoints and their associated versions
func (Client) GetVersion ¶
GetVersion returns the etcd version of the cluster. An error is returned if the version of all endpoints do not match
func (Client) WaitForClusterAvailable ¶
func (c Client) WaitForClusterAvailable(delay time.Duration, retries int, retryInterval time.Duration) (bool, error)
WaitForClusterAvailable returns true if all endpoints in the cluster are available after an initial delay and retry attempts, an error is returned otherwise
type ClusterInterrogator ¶
type ClusterInterrogator interface { ClusterAvailable() (bool, error) GetClusterStatus() (map[string]*clientv3.StatusResponse, error) GetClusterVersions() (map[string]string, error) GetVersion() (string, error) HasTLS() bool WaitForClusterAvailable(delay time.Duration, retries int, retryInterval time.Duration) (bool, error) }
ClusterInterrogator is an interface to get etcd cluster related information