Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Controller ¶
type Controller struct {
Image *Image `json:"image,omitempty"`
Log *Log `json:"log,omitempty"`
Sidecars map[string]*Sidecar `json:"sidecars,omitempty"`
}
Controller encapsulates logic for CSI controller component
type DeploymentSpec ¶
type DeploymentSpec struct {
Driver *Driver `json:"driver,omitempty"`
NodeController *NodeController `json:"nodeController,omitempty"`
Scheduler *Scheduler `json:"scheduler,omitempty"`
GlobalRegistry string `json:"globalRegistry,omitempty"`
PullPolicy string `json:"pullPolicy,omitempty"`
NodeSelector *NodeSelector `json:"nodeSelector,omitempty"`
NodeIDAnnotation bool `json:"nodeIDAnnotation,omitempty"`
Platform string `json:"platform,omitempty"`
}
DeploymentSpec represent all CSI components need to be deployed by operator
type Driver ¶
type Driver struct {
Controller *Controller `json:"controller,omitempty"`
Node *Node `json:"node,omitempty"`
Metrics *Metrics `json:"metrics,omitempty"`
LogReceiver *LogReceiver `json:"logReceiver,omitempty"`
MountAlertsConfig bool `json:"mountAlertsConfig"`
// todo need to implement this
MountRootHost bool `json:"mountRootHost"`
}
Drive represent CSI driver with all necessary CSI components
type LogReceiver ¶
LogReceiver encapsulates information needed to establish log receiver for components
type Node ¶
type Node struct {
DriveMgr *DriveMgr `json:"driveMgr,omitempty"`
Image *Image `json:"image,omitempty"`
Log *Log `json:"log,omitempty"`
Sidecars map[string]*Sidecar `json:"sidecars,omitempty"`
}
Node encapsulates information for CSI node components
type NodeController ¶
type NodeController struct {
Enable bool `json:"enable"`
Image *Image `json:"image,omitempty"`
Log *Log `json:"log,omitempty"`
}
NodeController represent operator for CSI bare-metal nodes
type NodeSelector ¶
type NodeSelector struct {
Key string `json:"key,omitempty"`
Value string `json:"value,omitempty"`
}
NodeSelector contains key-value pair to deploy node components on specific k8sNodes
type Patcher ¶
type Patcher struct {
Enable bool `json:"enable,omitempty"`
Image *Image `json:"image,omitempty"`
Interval int `json:"interval,omitempty"`
RestoreOnShutdown bool `json:"restoreOnShutdown,omitempty"`
ConfigMapName string `json:"configMapName,omitempty"`
}
Patcher represents scheduler patcher container, which tries to patch Kubernetes scheduler
type Scheduler ¶
type Scheduler struct {
Enable bool `json:"enable"`
Image *Image `json:"image,omitempty"`
Log *Log `json:"log,omitempty"`
Metrics *Metrics `json:"metrics,omitempty"`
Patcher *Patcher `json:"patcher,omitempty"`
ExtenderPort string `json:"extenderPort,omitempty"`
StorageProvisioner string `json:"storageProvisioner"`
}
Scheduler encapsulates information to deploy CSI scheduler
Click to show internal directories.
Click to hide internal directories.