Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Cluster ¶
type Cluster struct { // The cluster driver to provision cluster Driver Driver `json:"-"` // The name of the cluster driver DriverName string `json:"driverName,omitempty" yaml:"driver_name,omitempty"` // The name of the cluster Name string `json:"name,omitempty" yaml:"name,omitempty"` // specific info about kubernetes cluster // Kubernetes cluster version Version string `json:"version,omitempty" yaml:"version,omitempty"` // Service account token to access kubernetes API ServiceAccountToken string `json:"serviceAccountToken,omitempty" yaml:"service_account_token,omitempty"` // Kubernetes API master endpoint Endpoint string `json:"endpoint,omitempty" yaml:"endpoint,omitempty"` // Username for http basic authentication Username string `json:"username,omitempty" yaml:"username,omitempty"` // Password for http basic authentication Password string `json:"password,omitempty" yaml:"password,omitempty"` // Root CaCertificate for API server(base64 encoded) RootCACert string `json:"rootCACert,omitempty" yaml:"root_ca_cert,omitempty"` // Client Certificate(base64 encoded) ClientCertificate string `json:"clientCertificate,omitempty" yaml:"client_certificate,omitempty"` // Client private key(base64 encoded) ClientKey string `json:"clientKey,omitempty" yaml:"client_key,omitempty"` // Node count in the cluster NodeCount int64 `json:"nodeCount,omitempty" yaml:"node_count,omitempty"` // Metadata store specific driver options per cloud provider Metadata map[string]string PersistStore PersistStore `json:"-" yaml:"-"` ConfigGetter ConfigGetter `json:"-" yaml:"-"` }
Cluster represents a kubernetes cluster
func NewCluster ¶
func NewCluster(driverName, addr, name string, configGetter ConfigGetter, persistStore PersistStore) (*Cluster, error)
NewCluster create a cluster interface to do operations
type ConfigGetter ¶
type ConfigGetter interface {
GetConfig() (rpcDriver.DriverOptions, error)
}
ConfigGetter defines the interface for getting the driver options.
type Driver ¶
type Driver interface { // Create creates a cluster Create() error // Update updates a cluster Update() error // Get a cluster info Get() (rpcDriver.ClusterInfo, error) // Remove removes a cluster Remove() error // DriverName returns the driver name DriverName() string // Get driver create options flags for creating clusters GetDriverCreateOptions() (rpcDriver.DriverFlags, error) // Get driver update options flags for updating cluster GetDriverUpdateOptions() (rpcDriver.DriverFlags, error) // Set driver options for cluster driver SetDriverOptions(options rpcDriver.DriverOptions) error }
Driver defines how a cluster should be created and managed. Different drivers represents different providers.
Click to show internal directories.
Click to hide internal directories.