Documentation ¶
Overview ¶
Package v1 contains API Schema definitions for the cluster v1 API group +k8s:deepcopy-gen=package,register +groupName=storageos.com
Package v1 contains API Schema definitions for the cluster v1 API group +k8s:deepcopy-gen=package,register +groupName=cluster.storageos.com
Index ¶
- Constants
- Variables
- func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition
- type ClusterPhase
- type ContainerImages
- type ExportSpec
- type Job
- type JobList
- type JobSpec
- type JobStatus
- type MembersStatus
- type NFSServer
- type NFSServerList
- type NFSServerSpec
- func (in *NFSServerSpec) DeepCopy() *NFSServerSpec
- func (in *NFSServerSpec) DeepCopyInto(out *NFSServerSpec)
- func (s NFSServerSpec) GetContainerImage(clusterNFSImage string) string
- func (s NFSServerSpec) GetRequestedCapacity() resource.Quantity
- func (s NFSServerSpec) GetStorageClassName(clusterSCName string) string
- type NFSServerStatus
- type NodeHealth
- type ServerSpec
- type StorageOSCluster
- type StorageOSClusterCSI
- type StorageOSClusterIngress
- type StorageOSClusterKVBackend
- type StorageOSClusterList
- type StorageOSClusterService
- type StorageOSClusterSpec
- func (in *StorageOSClusterSpec) DeepCopy() *StorageOSClusterSpec
- func (in *StorageOSClusterSpec) DeepCopyInto(out *StorageOSClusterSpec)
- func (s StorageOSClusterSpec) GetCSIClusterDriverRegistrarImage() string
- func (s StorageOSClusterSpec) GetCSIDeploymentStrategy() string
- func (s StorageOSClusterSpec) GetCSIDeviceDir() string
- func (s StorageOSClusterSpec) GetCSIDriverRegistrationMode() string
- func (s StorageOSClusterSpec) GetCSIDriverRequiresAttachment() string
- func (s StorageOSClusterSpec) GetCSIEndpoint(csiv1 bool) string
- func (s StorageOSClusterSpec) GetCSIExternalAttacherImage(csiv1 bool, attacherv2Supported bool) string
- func (s StorageOSClusterSpec) GetCSIExternalProvisionerImage(csiv1 bool, nodev2 bool) string
- func (s StorageOSClusterSpec) GetCSIExternalResizerImage() string
- func (s StorageOSClusterSpec) GetCSIKubeletDir() string
- func (s StorageOSClusterSpec) GetCSIKubeletRegistrationPath(csiv1 bool) string
- func (s StorageOSClusterSpec) GetCSILivenessProbeImage() string
- func (s StorageOSClusterSpec) GetCSINodeDriverRegistrarImage(csiv1 bool) string
- func (s StorageOSClusterSpec) GetCSIPluginDir(csiv1 bool) string
- func (s StorageOSClusterSpec) GetCSIRegistrarSocketDir() string
- func (s StorageOSClusterSpec) GetCSIRegistrationDir(csiv1 bool) string
- func (s StorageOSClusterSpec) GetCSIVersion(csiv1 bool) string
- func (s StorageOSClusterSpec) GetHyperkubeImage(k8sVersion string) string
- func (s StorageOSClusterSpec) GetIngressHostname() string
- func (s StorageOSClusterSpec) GetInitContainerImage() string
- func (s StorageOSClusterSpec) GetKubeSchedulerImage(k8sVersion string) string
- func (s StorageOSClusterSpec) GetNFSServerImage() string
- func (s StorageOSClusterSpec) GetNodeContainerImage() string
- func (s StorageOSClusterSpec) GetResourceNS() string
- func (s StorageOSClusterSpec) GetServiceExternalPort() int
- func (s StorageOSClusterSpec) GetServiceInternalPort() int
- func (s StorageOSClusterSpec) GetServiceName() string
- func (s StorageOSClusterSpec) GetServiceType() string
- func (s StorageOSClusterSpec) GetStorageClassName() string
- func (s StorageOSClusterSpec) GetTolerations() []corev1.Toleration
- type StorageOSClusterStatus
- type StorageOSUpgrade
- type StorageOSUpgradeList
- type StorageOSUpgradeSpec
- type StorageOSUpgradeStatus
Constants ¶
const ( DefaultNFSVolumeCapacity = "1Gi" PhasePending = "Pending" PhaseRunning = "Running" PhaseUnknown = "Unknown" )
Constants for NFSServer default values and different phases.
const ( ClusterPhaseInitial ClusterPhase = "" // A cluster is in running phase when the cluster health is reported // healthy, all the StorageOS nodes are ready. ClusterPhaseRunning ClusterPhase = "Running" // A cluster is in creating phase when the cluster resource provisioning as // started ClusterPhaseCreating ClusterPhase = "Creating" // A cluster is in pending phase when the creation hasn't started. This can // happen if there's an existing cluster and the new cluster provisioning is // not allowed by the operator. ClusterPhasePending ClusterPhase = "Pending" // A cluster is in terminating phase when the cluster delete is initiated. // The cluster object is waiting for the finalizers to be executed. ClusterPhaseTerminating ClusterPhase = "Terminating" // Use kube-system as the default namespace as so that our containers won't // get evicted when there is resource contention. Works with // "system-node-critical" priority class. DefaultNamespace = "kube-system" DefaultStorageClassName = "fast" DefaultServiceName = "storageos" DefaultServiceType = "ClusterIP" DefaultServiceExternalPort = 5705 DefaultServiceInternalPort = 5705 DefaultIngressHostname = "storageos.local" DefaultPluginRegistrationPath = "/var/lib/kubelet/plugins_registry" OldPluginRegistrationPath = "/var/lib/kubelet/plugins" DefaultCSIEndpoint = "/storageos/csi.sock" DefaultCSIRegistrarSocketDir = "/var/lib/kubelet/device-plugins/" DefaultCSIKubeletDir = "/var/lib/kubelet" DefaultCSIPluginDir = "/storageos/" DefaultCSIDeviceDir = "/dev" DefaultCSIRegistrationDir = DefaultPluginRegistrationPath DefaultCSIKubeletRegistrationPath = "/storageos/csi.sock" DefaultCSIDriverRegistrationMode = "node-register" DefaultCSIDriverRequiresAttachment = "true" DefaultCSIDeploymentStrategy = "statefulset" )
Constants for operator defaults values and different phases.
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: "storageos.com", Version: "v1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} // AddToScheme adds all resources to the scheme // NOTE: This is not part of the operator-sdk scaffold and is added for // compatibility with clientset code generated by k8s/code-generator. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func GetOpenAPIDefinitions ¶
func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition
Types ¶
type ClusterPhase ¶
type ClusterPhase string
ClusterPhase is the phase of the storageos cluster at a given point in time.
type ContainerImages ¶
type ContainerImages struct { NodeContainer string `json:"nodeContainer,omitempty"` InitContainer string `json:"initContainer,omitempty"` CSINodeDriverRegistrarContainer string `json:"csiNodeDriverRegistrarContainer,omitempty"` CSIClusterDriverRegistrarContainer string `json:"csiClusterDriverRegistrarContainer,omitempty"` CSIExternalProvisionerContainer string `json:"csiExternalProvisionerContainer,omitempty"` CSIExternalAttacherContainer string `json:"csiExternalAttacherContainer,omitempty"` CSIExternalResizerContainer string `json:"csiExternalResizerContainer,omitempty"` CSILivenessProbeContainer string `json:"csiLivenessProbeContainer,omitempty"` HyperkubeContainer string `json:"hyperkubeContainer,omitempty"` KubeSchedulerContainer string `json:"kubeSchedulerContainer,omitempty"` NFSContainer string `json:"nfsContainer,omitempty"` }
ContainerImages contains image names of all the containers used by the operator.
func (*ContainerImages) DeepCopy ¶
func (in *ContainerImages) DeepCopy() *ContainerImages
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerImages.
func (*ContainerImages) DeepCopyInto ¶
func (in *ContainerImages) DeepCopyInto(out *ContainerImages)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExportSpec ¶
type ExportSpec struct { // Name of the export Name string `json:"name,omitempty"` // The NFS server configuration Server ServerSpec `json:"server,omitempty"` // PVC from which the NFS daemon gets storage for sharing PersistentVolumeClaim corev1.PersistentVolumeClaimVolumeSource `json:"persistentVolumeClaim,omitempty"` }
ExportSpec represents the spec of NFS export.
func (*ExportSpec) DeepCopy ¶
func (in *ExportSpec) DeepCopy() *ExportSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExportSpec.
func (*ExportSpec) DeepCopyInto ¶
func (in *ExportSpec) DeepCopyInto(out *ExportSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Job ¶
type Job struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec JobSpec `json:"spec,omitempty"` Status JobStatus `json:"status,omitempty"` }
Job is the Schema for the jobs API +k8s:openapi-gen=true +kubebuilder:singular=job +kubebuilder:subresource:status
func (*Job) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Job.
func (*Job) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Job) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type JobList ¶
type JobList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Job `json:"items"` }
JobList contains a list of Job
func (*JobList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobList.
func (*JobList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*JobList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type JobSpec ¶
type JobSpec struct { // Image is the container image to run as the job. Image string `json:"image"` // Args is an array of strings passed as an argument to the job container. Args []string `json:"args"` // MountPath is the path in the job container where a volume is mounted. MountPath string `json:"mountPath"` // HostPath is the path in the host that's mounted into a job container. HostPath string `json:"hostPath"` // CompletionWord is the word that's looked for in the pod logs to find out // if a DaemonSet Pod has completed its task. CompletionWord string `json:"completionWord"` // LabelSelector is the label selector for the job Pods. LabelSelector string `json:"labelSelector,omitempty"` // NodeSelectorTerms is the set of placement of the job pods using node // affinity requiredDuringSchedulingIgnoredDuringExecution. NodeSelectorTerms []corev1.NodeSelectorTerm `json:"nodeSelectorTerms,omitempty"` // Tolerations is to set the placement of storageos pods using // pod toleration. Tolerations []corev1.Toleration `json:"tolerations,omitempty"` }
JobSpec defines the desired state of Job +k8s:openapi-gen=true
func (*JobSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobSpec.
func (*JobSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (JobSpec) GetLabelSelector ¶
GetLabelSelector returns Job's pod label selector.
type JobStatus ¶
type JobStatus struct { // Completed indicates the complete status of job. Completed bool `json:"completed,omitempty"` }
JobStatus defines the observed state of Job +k8s:openapi-gen=true
func (*JobStatus) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobStatus.
func (*JobStatus) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MembersStatus ¶
type MembersStatus struct { // Ready are the storageos cluster members that are ready to serve requests. // The member names are the same as the node IPs. Ready []string `json:"ready,omitempty"` // Unready are the storageos cluster nodes not ready to serve requests. Unready []string `json:"unready,omitempty"` }
MembersStatus stores the status details of cluster member nodes.
func (*MembersStatus) DeepCopy ¶
func (in *MembersStatus) DeepCopy() *MembersStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MembersStatus.
func (*MembersStatus) DeepCopyInto ¶
func (in *MembersStatus) DeepCopyInto(out *MembersStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NFSServer ¶
type NFSServer struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec NFSServerSpec `json:"spec,omitempty"` Status NFSServerStatus `json:"status,omitempty"` }
NFSServer is the Schema for the nfsservers API +k8s:openapi-gen=true +kubebuilder:printcolumn:name="status",type="string",JSONPath=".status.phase",description="Status of the NFS server." +kubebuilder:printcolumn:name="capacity",type="string",JSONPath=".spec.resources.requests.storage",description="Capacity of the NFS server." +kubebuilder:printcolumn:name="target",type="string",JSONPath=".status.remoteTarget",description="Remote target address of the NFS server." +kubebuilder:printcolumn:name="access modes",type="string",JSONPath=".status.accessModes",description="Access modes supported by the NFS server." +kubebuilder:printcolumn:name="storageclass",type="string",JSONPath=".spec.storageClassName",description="StorageClass used for creating the NFS volume." +kubebuilder:printcolumn:name="age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:path=nfsservers,shortName=nfsserver +kubebuilder:subresource:status
func (*NFSServer) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NFSServer.
func (*NFSServer) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NFSServer) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NFSServerList ¶
type NFSServerList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []NFSServer `json:"items"` }
NFSServerList contains a list of NFSServer
func (*NFSServerList) DeepCopy ¶
func (in *NFSServerList) DeepCopy() *NFSServerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NFSServerList.
func (*NFSServerList) DeepCopyInto ¶
func (in *NFSServerList) DeepCopyInto(out *NFSServerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NFSServerList) DeepCopyObject ¶
func (in *NFSServerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NFSServerSpec ¶
type NFSServerSpec struct { // NFSContainer is the container image to use for the NFS server. // +optional NFSContainer string `json:"nfsContainer,omitempty"` // StorageClassName is the name of the StorageClass used by the NFS volume. StorageClassName string `json:"storageClassName,omitempty"` // Tolerations is to set the placement of NFS server pods using // pod toleration. Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // Resources represents the minimum resources required // +optional Resources corev1.ResourceRequirements `json:"resources,omitempty"` // The annotations-related configuration to add/set on each Pod related object. Annotations map[string]string `json:"annotations,omitempty"` // The parameters to configure the NFS export Export ExportSpec `json:"export,omitempty"` // Reclamation policy for the persistent volume shared to the user's pod. PersistentVolumeReclaimPolicy corev1.PersistentVolumeReclaimPolicy `json:"persistentVolumeReclaimPolicy,omitempty"` // PV mount options. Not validated - mount of the PVs will simply fail if // one is invalid. MountOptions []string `json:"mountOptions,omitempty"` // PersistentVolumeClaim is the PVC source of the PVC to be used with the // NFS Server. If not specified, a new PVC is provisioned and used. PersistentVolumeClaim corev1.PersistentVolumeClaimVolumeSource `json:"persistentVolumeClaim,omitempty"` }
NFSServerSpec defines the desired state of NFSServer +k8s:openapi-gen=true
func (*NFSServerSpec) DeepCopy ¶
func (in *NFSServerSpec) DeepCopy() *NFSServerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NFSServerSpec.
func (*NFSServerSpec) DeepCopyInto ¶
func (in *NFSServerSpec) DeepCopyInto(out *NFSServerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (NFSServerSpec) GetContainerImage ¶
func (s NFSServerSpec) GetContainerImage(clusterNFSImage string) string
GetContainerImage returns the NFS server container image.
func (NFSServerSpec) GetRequestedCapacity ¶
func (s NFSServerSpec) GetRequestedCapacity() resource.Quantity
GetRequestedCapacity returns the requested capacity for the NFS volume.
func (NFSServerSpec) GetStorageClassName ¶
func (s NFSServerSpec) GetStorageClassName(clusterSCName string) string
GetStorageClassName returns the name of the StorageClass to be used for the NFS volume. clusterSCName is the name of the default StorageClass of a StorageOS cluster.
type NFSServerStatus ¶
type NFSServerStatus struct { // RemoteTarget is the connection string that clients can use to access the // shared filesystem. RemoteTarget string `json:"remoteTarget,omitempty"` // Phase is a simple, high-level summary of where the NFS Server is in its // lifecycle. Phase will be set to Ready when the NFS Server is ready for // use. It is intended to be similar to the PodStatus Phase described at: // https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#podstatus-v1-core // // There are five possible phase values: // - Pending: The NFS Server has been accepted by the Kubernetes system, // but one or more of the components has not been created. This includes // time before being scheduled as well as time spent downloading images // over the network, which could take a while. // - Running: The NFS Server has been bound to a node, and all of the // dependencies have been created. // - Succeeded: All NFS Server dependencies have terminated in success, // and will not be restarted. // - Failed: All NFS Server dependencies in the pod have terminated, and // at least one container has terminated in failure. The container // either exited with non-zero status or was terminated by the system. // - Unknown: For some reason the state of the NFS Server could not be // obtained, typically due to an error in communicating with the host of // the pod. // Phase string `json:"phase,omitempty"` // AccessModes is the access modes supported by the NFS server. AccessModes string `json:"accessModes,omitempty"` }
NFSServerStatus defines the observed state of NFSServer +k8s:openapi-gen=true
func (*NFSServerStatus) DeepCopy ¶
func (in *NFSServerStatus) DeepCopy() *NFSServerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NFSServerStatus.
func (*NFSServerStatus) DeepCopyInto ¶
func (in *NFSServerStatus) DeepCopyInto(out *NFSServerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeHealth ¶
type NodeHealth struct { DirectfsInitiator string `json:"directfsInitiator,omitempty"` Director string `json:"director,omitempty"` KV string `json:"kv,omitempty"` KVWrite string `json:"kvWrite,omitempty"` Nats string `json:"nats,omitempty"` Presentation string `json:"presentation,omitempty"` Rdb string `json:"rdb,omitempty"` }
NodeHealth contains health status of a node.
func (*NodeHealth) DeepCopy ¶
func (in *NodeHealth) DeepCopy() *NodeHealth
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeHealth.
func (*NodeHealth) DeepCopyInto ¶
func (in *NodeHealth) DeepCopyInto(out *NodeHealth)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServerSpec ¶
type ServerSpec struct { // Reading and Writing permissions on the export // Valid values are "ReadOnly", "ReadWrite" and "none" AccessMode string `json:"accessMode,omitempty"` // This prevents the root users connected remotely from having root privileges // Valid values are "none", "rootid", "root", and "all" Squash string `json:"squash,omitempty"` }
ServerSpec represents the spec for configuring the NFS server
func (*ServerSpec) DeepCopy ¶
func (in *ServerSpec) DeepCopy() *ServerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerSpec.
func (*ServerSpec) DeepCopyInto ¶
func (in *ServerSpec) DeepCopyInto(out *ServerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageOSCluster ¶
type StorageOSCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec StorageOSClusterSpec `json:"spec,omitempty"` Status StorageOSClusterStatus `json:"status,omitempty"` }
StorageOSCluster is the Schema for the storageosclusters API +k8s:openapi-gen=true +kubebuilder:printcolumn:name="ready",type="string",JSONPath=".status.ready",description="Ready status of the storageos nodes." +kubebuilder:printcolumn:name="status",type="string",JSONPath=".status.phase",description="Status of the whole cluster." +kubebuilder:printcolumn:name="age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:path=storageosclusters,shortName=stos +kubebuilder:singular=storageoscluster +kubebuilder:subresource:status
func (*StorageOSCluster) DeepCopy ¶
func (in *StorageOSCluster) DeepCopy() *StorageOSCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageOSCluster.
func (*StorageOSCluster) DeepCopyInto ¶
func (in *StorageOSCluster) DeepCopyInto(out *StorageOSCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StorageOSCluster) DeepCopyObject ¶
func (in *StorageOSCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type StorageOSClusterCSI ¶
type StorageOSClusterCSI struct { Enable bool `json:"enable,omitempty"` Version string `json:"version,omitempty"` Endpoint string `json:"endpoint,omitempty"` EnableProvisionCreds bool `json:"enableProvisionCreds,omitempty"` EnableControllerPublishCreds bool `json:"enableControllerPublishCreds,omitempty"` EnableNodePublishCreds bool `json:"enableNodePublishCreds,omitempty"` EnableControllerExpandCreds bool `json:"enableControllerExpandCreds,omitempty"` RegistrarSocketDir string `json:"registrarSocketDir,omitempty"` KubeletDir string `json:"kubeletDir,omitempty"` PluginDir string `json:"pluginDir,omitempty"` DeviceDir string `json:"deviceDir,omitempty"` RegistrationDir string `json:"registrationDir,omitempty"` KubeletRegistrationPath string `json:"kubeletRegistrationPath,omitempty"` DriverRegistrationMode string `json:"driverRegisterationMode,omitempty"` DriverRequiresAttachment string `json:"driverRequiresAttachment,omitempty"` DeploymentStrategy string `json:"deploymentStrategy,omitempty"` }
StorageOSClusterCSI contains CSI configurations.
func (*StorageOSClusterCSI) DeepCopy ¶
func (in *StorageOSClusterCSI) DeepCopy() *StorageOSClusterCSI
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageOSClusterCSI.
func (*StorageOSClusterCSI) DeepCopyInto ¶
func (in *StorageOSClusterCSI) DeepCopyInto(out *StorageOSClusterCSI)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageOSClusterIngress ¶
type StorageOSClusterIngress struct { Enable bool `json:"enable,omitempty"` Hostname string `json:"hostname,omitempty"` TLS bool `json:"tls,omitempty"` Annotations map[string]string `json:"annotations,omitempty"` }
StorageOSClusterIngress contains Ingress configurations.
func (*StorageOSClusterIngress) DeepCopy ¶
func (in *StorageOSClusterIngress) DeepCopy() *StorageOSClusterIngress
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageOSClusterIngress.
func (*StorageOSClusterIngress) DeepCopyInto ¶
func (in *StorageOSClusterIngress) DeepCopyInto(out *StorageOSClusterIngress)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageOSClusterKVBackend ¶
type StorageOSClusterKVBackend struct { Address string `json:"address,omitempty"` Backend string `json:"backend,omitempty"` }
StorageOSClusterKVBackend stores key-value store backend configurations.
func (*StorageOSClusterKVBackend) DeepCopy ¶
func (in *StorageOSClusterKVBackend) DeepCopy() *StorageOSClusterKVBackend
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageOSClusterKVBackend.
func (*StorageOSClusterKVBackend) DeepCopyInto ¶
func (in *StorageOSClusterKVBackend) DeepCopyInto(out *StorageOSClusterKVBackend)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageOSClusterList ¶
type StorageOSClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []StorageOSCluster `json:"items"` }
StorageOSClusterList contains a list of StorageOSCluster
func (*StorageOSClusterList) DeepCopy ¶
func (in *StorageOSClusterList) DeepCopy() *StorageOSClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageOSClusterList.
func (*StorageOSClusterList) DeepCopyInto ¶
func (in *StorageOSClusterList) DeepCopyInto(out *StorageOSClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StorageOSClusterList) DeepCopyObject ¶
func (in *StorageOSClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type StorageOSClusterService ¶
type StorageOSClusterService struct { Name string `json:"name"` Type string `json:"type"` ExternalPort int `json:"externalPort,omitempty"` InternalPort int `json:"internalPort,omitempty"` Annotations map[string]string `json:"annotations,omitempty"` }
StorageOSClusterService contains Service configurations.
func (*StorageOSClusterService) DeepCopy ¶
func (in *StorageOSClusterService) DeepCopy() *StorageOSClusterService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageOSClusterService.
func (*StorageOSClusterService) DeepCopyInto ¶
func (in *StorageOSClusterService) DeepCopyInto(out *StorageOSClusterService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageOSClusterSpec ¶
type StorageOSClusterSpec struct { // Join is the join token used for service discovery. Join string `json:"join,omitempty"` // CSI defines the configurations for CSI. CSI StorageOSClusterCSI `json:"csi,omitempty"` // Namespace is the kubernetes Namespace where storageos resources are // provisioned. Namespace string `json:"namespace,omitempty"` // StorageClassName is the name of default StorageClass created for // StorageOS volumes. StorageClassName string `json:"storageClassName,omitempty"` // Service is the Service configuration for the cluster nodes. Service StorageOSClusterService `json:"service,omitempty"` // SecretRefName is the name of the secret object that contains all the // sensitive cluster configurations. SecretRefName string `json:"secretRefName"` // SecretRefNamespace is the namespace of the secret reference. SecretRefNamespace string `json:"secretRefNamespace"` // in a container. // Typically: "/var/lib/kubelet/plugins/kubernetes.io~storageos". // If not set, defaults will be used. SharedDir string `json:"sharedDir,omitempty"` // Ingress defines the ingress configurations used in the cluster. Ingress StorageOSClusterIngress `json:"ingress,omitempty"` // Images defines the various container images used in the cluster. Images ContainerImages `json:"images,omitempty"` // KVBackend defines the key-value store backend used in the cluster. KVBackend StorageOSClusterKVBackend `json:"kvBackend,omitempty"` // Pause is to pause the operator for the cluster. Pause bool `json:"pause,omitempty"` // Debug is to set debug mode of the cluster. Debug bool `json:"debug,omitempty"` // NodeSelectorTerms is to set the placement of storageos pods using // node affinity requiredDuringSchedulingIgnoredDuringExecution. NodeSelectorTerms []corev1.NodeSelectorTerm `json:"nodeSelectorTerms,omitempty"` // Tolerations is to set the placement of storageos pods using // pod toleration. Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // Resources is to set the resource requirements of the storageos containers. Resources corev1.ResourceRequirements `json:"resources,omitempty"` // Disable Pod Fencing. With StatefulSets, Pods are only re-scheduled if // the Pod has been marked as killed. In practice this means that failover // of a StatefulSet pod is a manual operation. // // By enabling Pod Fencing and setting the `storageos.com/fenced=true` label // on a Pod, StorageOS will enable automated Pod failover (by killing the // application Pod on the failed node) if the following conditions exist: // // - Pod fencing has not been explicitly disabled. // - StorageOS has determined that the node the Pod is running on is // offline. StorageOS uses Gossip and TCP checks and will retry for 30 // seconds. At this point all volumes on the failed node are marked // offline (irrespective of whether fencing is enabled) and volume // failover starts. // - The Pod has the label `storageos.com/fenced=true` set. // - The Pod has at least one StorageOS volume attached. // - Each StorageOS volume has at least 1 healthy replica. // // When Pod Fencing is disabled, StorageOS will not perform any interaction // with Kubernetes when it detects that a node has gone offline. // Additionally, the Kubernetes permissions required for Fencing will not be // added to the StorageOS role. DisableFencing bool `json:"disableFencing,omitempty"` // Disable Telemetry. DisableTelemetry bool `json:"disableTelemetry,omitempty"` // Disable TCMU can be set to true to disable the TCMU storage driver. This // is required when there are multiple storage systems running on the same // node and you wish to avoid conflicts. Only one TCMU-based storage system // can run on a node at a time. // // Disabling TCMU will degrade performance. DisableTCMU bool `json:"disableTCMU,omitempty"` // Force TCMU can be set to true to ensure that TCMU is enabled or // cause StorageOS to abort startup. // // At startup, StorageOS will automatically fallback to non-TCMU mode if // another TCMU-based storage system is running on the node. Since non-TCMU // will degrade performance, this may not always be desired. ForceTCMU bool `json:"forceTCMU,omitempty"` // TLSEtcdSecretRefName is the name of the secret object that contains the // etcd TLS certs. This secret is shared with etcd, therefore it's not part // of the main storageos secret. TLSEtcdSecretRefName string `json:"tlsEtcdSecretRefName,omitempty"` // TLSEtcdSecretRefNamespace is the namespace of the etcd TLS secret object. TLSEtcdSecretRefNamespace string `json:"tlsEtcdSecretRefNamespace,omitempty"` // K8sDistro is the name of the Kubernetes distribution where the operator // is being deployed. It should be in the format: `name[-1.0]`, where the // version is optional and should only be appended if known. Suitable names // include: `openshift`, `rancher`, `aks`, `gke`, `eks`, or the deployment // method if using upstream directly, e.g `minishift` or `kubeadm`. // // Setting k8sDistro is optional, and will be used to simplify cluster // configuration by setting appropriate defaults for the distribution. The // distribution information will also be included in the product telemetry // (if enabled), to help focus development efforts. K8sDistro string `json:"k8sDistro,omitempty"` // Disable StorageOS scheduler extender. DisableScheduler bool `json:"disableScheduler,omitempty"` }
StorageOSClusterSpec defines the desired state of StorageOSCluster +k8s:openapi-gen=true
func (*StorageOSClusterSpec) DeepCopy ¶
func (in *StorageOSClusterSpec) DeepCopy() *StorageOSClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageOSClusterSpec.
func (*StorageOSClusterSpec) DeepCopyInto ¶
func (in *StorageOSClusterSpec) DeepCopyInto(out *StorageOSClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (StorageOSClusterSpec) GetCSIClusterDriverRegistrarImage ¶
func (s StorageOSClusterSpec) GetCSIClusterDriverRegistrarImage() string
GetCSIClusterDriverRegistrarImage returns CSI cluster driver registrar container image.
func (StorageOSClusterSpec) GetCSIDeploymentStrategy ¶
func (s StorageOSClusterSpec) GetCSIDeploymentStrategy() string
GetCSIDeploymentStrategy returns the CSI helper deployment strategy value.
func (StorageOSClusterSpec) GetCSIDeviceDir ¶
func (s StorageOSClusterSpec) GetCSIDeviceDir() string
GetCSIDeviceDir returns the CSI device dir.
func (StorageOSClusterSpec) GetCSIDriverRegistrationMode ¶
func (s StorageOSClusterSpec) GetCSIDriverRegistrationMode() string
GetCSIDriverRegistrationMode returns the CSI Driver Registration Mode.
func (StorageOSClusterSpec) GetCSIDriverRequiresAttachment ¶
func (s StorageOSClusterSpec) GetCSIDriverRequiresAttachment() string
GetCSIDriverRequiresAttachment returns the CSI Driver Requires Attachment
func (StorageOSClusterSpec) GetCSIEndpoint ¶
func (s StorageOSClusterSpec) GetCSIEndpoint(csiv1 bool) string
GetCSIEndpoint returns the CSI unix socket endpoint path.
func (StorageOSClusterSpec) GetCSIExternalAttacherImage ¶
func (s StorageOSClusterSpec) GetCSIExternalAttacherImage(csiv1 bool, attacherv2Supported bool) string
GetCSIExternalAttacherImage returns CSI external attacher container image. CSI v0, CSI v1 on k8s 1.13 and CSI v1 on k8s 1.14+ require different versions of external attacher.
func (StorageOSClusterSpec) GetCSIExternalProvisionerImage ¶
func (s StorageOSClusterSpec) GetCSIExternalProvisionerImage(csiv1 bool, nodev2 bool) string
GetCSIExternalProvisionerImage returns CSI external provisioner container image.
func (StorageOSClusterSpec) GetCSIExternalResizerImage ¶
func (s StorageOSClusterSpec) GetCSIExternalResizerImage() string
GetCSIExternalResizerImage returns CSI external resizer container image.
func (StorageOSClusterSpec) GetCSIKubeletDir ¶
func (s StorageOSClusterSpec) GetCSIKubeletDir() string
GetCSIKubeletDir returns the Kubelet dir.
func (StorageOSClusterSpec) GetCSIKubeletRegistrationPath ¶
func (s StorageOSClusterSpec) GetCSIKubeletRegistrationPath(csiv1 bool) string
GetCSIKubeletRegistrationPath returns the CSI Kubelet Registration Path.
func (StorageOSClusterSpec) GetCSILivenessProbeImage ¶
func (s StorageOSClusterSpec) GetCSILivenessProbeImage() string
GetCSILivenessProbeImage returns CSI liveness probe container image.
func (StorageOSClusterSpec) GetCSINodeDriverRegistrarImage ¶
func (s StorageOSClusterSpec) GetCSINodeDriverRegistrarImage(csiv1 bool) string
GetCSINodeDriverRegistrarImage returns CSI node driver registrar container image.
func (StorageOSClusterSpec) GetCSIPluginDir ¶
func (s StorageOSClusterSpec) GetCSIPluginDir(csiv1 bool) string
GetCSIPluginDir returns the CSI plugin dir.
func (StorageOSClusterSpec) GetCSIRegistrarSocketDir ¶
func (s StorageOSClusterSpec) GetCSIRegistrarSocketDir() string
GetCSIRegistrarSocketDir returns the CSI registrar socket dir.
func (StorageOSClusterSpec) GetCSIRegistrationDir ¶
func (s StorageOSClusterSpec) GetCSIRegistrationDir(csiv1 bool) string
GetCSIRegistrationDir returns the CSI registration dir.
func (StorageOSClusterSpec) GetCSIVersion ¶
func (s StorageOSClusterSpec) GetCSIVersion(csiv1 bool) string
GetCSIVersion returns the CSI Driver version.
func (StorageOSClusterSpec) GetHyperkubeImage ¶
func (s StorageOSClusterSpec) GetHyperkubeImage(k8sVersion string) string
GetHyperkubeImage returns hyperkube container image for a given k8s version. If an image is set explicitly in the cluster configuration, that image is returned.
func (StorageOSClusterSpec) GetIngressHostname ¶
func (s StorageOSClusterSpec) GetIngressHostname() string
GetIngressHostname returns the ingress host name.
func (StorageOSClusterSpec) GetInitContainerImage ¶
func (s StorageOSClusterSpec) GetInitContainerImage() string
GetInitContainerImage returns init container image.
func (StorageOSClusterSpec) GetKubeSchedulerImage ¶
func (s StorageOSClusterSpec) GetKubeSchedulerImage(k8sVersion string) string
GetKubeSchedulerImage returns kube-scheduler container image for a given k8s version. If an image is set explicitly in the cluster configuration, that image is returned.
func (StorageOSClusterSpec) GetNFSServerImage ¶
func (s StorageOSClusterSpec) GetNFSServerImage() string
GetNFSServerImage returns NFS server container image used as the default image in the cluster.
func (StorageOSClusterSpec) GetNodeContainerImage ¶
func (s StorageOSClusterSpec) GetNodeContainerImage() string
GetNodeContainerImage returns node container image.
func (StorageOSClusterSpec) GetResourceNS ¶
func (s StorageOSClusterSpec) GetResourceNS() string
GetResourceNS returns the namespace where all the resources should be provisioned.
func (StorageOSClusterSpec) GetServiceExternalPort ¶
func (s StorageOSClusterSpec) GetServiceExternalPort() int
GetServiceExternalPort returns the service external port.
func (StorageOSClusterSpec) GetServiceInternalPort ¶
func (s StorageOSClusterSpec) GetServiceInternalPort() int
GetServiceInternalPort returns the service internal port.
func (StorageOSClusterSpec) GetServiceName ¶
func (s StorageOSClusterSpec) GetServiceName() string
GetServiceName returns the service name.
func (StorageOSClusterSpec) GetServiceType ¶
func (s StorageOSClusterSpec) GetServiceType() string
GetServiceType returns the service type.
func (StorageOSClusterSpec) GetStorageClassName ¶
func (s StorageOSClusterSpec) GetStorageClassName() string
GetStorageClassName returns the name of default StorageClass created with the StorageOS cluster.
func (StorageOSClusterSpec) GetTolerations ¶
func (s StorageOSClusterSpec) GetTolerations() []corev1.Toleration
GetTolerations returns the tolerations applied to all the StorageOS related pods.
type StorageOSClusterStatus ¶
type StorageOSClusterStatus struct { Phase ClusterPhase `json:"phase,omitempty"` NodeHealthStatus map[string]NodeHealth `json:"nodeHealthStatus,omitempty"` Nodes []string `json:"nodes,omitempty"` Ready string `json:"ready,omitempty"` Members MembersStatus `json:"members,omitempty"` }
StorageOSClusterStatus defines the observed state of StorageOSCluster +k8s:openapi-gen=true
func (*StorageOSClusterStatus) DeepCopy ¶
func (in *StorageOSClusterStatus) DeepCopy() *StorageOSClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageOSClusterStatus.
func (*StorageOSClusterStatus) DeepCopyInto ¶
func (in *StorageOSClusterStatus) DeepCopyInto(out *StorageOSClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageOSUpgrade ¶
type StorageOSUpgrade struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec StorageOSUpgradeSpec `json:"spec,omitempty"` Status StorageOSUpgradeStatus `json:"status,omitempty"` }
StorageOSUpgrade is the Schema for the storageosupgrades API +k8s:openapi-gen=true +kubebuilder:singular=storageosupgrade +kubebuilder:subresource:status
func (*StorageOSUpgrade) DeepCopy ¶
func (in *StorageOSUpgrade) DeepCopy() *StorageOSUpgrade
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageOSUpgrade.
func (*StorageOSUpgrade) DeepCopyInto ¶
func (in *StorageOSUpgrade) DeepCopyInto(out *StorageOSUpgrade)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StorageOSUpgrade) DeepCopyObject ¶
func (in *StorageOSUpgrade) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type StorageOSUpgradeList ¶
type StorageOSUpgradeList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []StorageOSUpgrade `json:"items"` }
StorageOSUpgradeList contains a list of StorageOSUpgrade
func (*StorageOSUpgradeList) DeepCopy ¶
func (in *StorageOSUpgradeList) DeepCopy() *StorageOSUpgradeList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageOSUpgradeList.
func (*StorageOSUpgradeList) DeepCopyInto ¶
func (in *StorageOSUpgradeList) DeepCopyInto(out *StorageOSUpgradeList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StorageOSUpgradeList) DeepCopyObject ¶
func (in *StorageOSUpgradeList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type StorageOSUpgradeSpec ¶
type StorageOSUpgradeSpec struct { // NewImage is the new StorageOS node container image. NewImage string `json:"newImage"` }
StorageOSUpgradeSpec defines the desired state of StorageOSUpgrade +k8s:openapi-gen=true
func (*StorageOSUpgradeSpec) DeepCopy ¶
func (in *StorageOSUpgradeSpec) DeepCopy() *StorageOSUpgradeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageOSUpgradeSpec.
func (*StorageOSUpgradeSpec) DeepCopyInto ¶
func (in *StorageOSUpgradeSpec) DeepCopyInto(out *StorageOSUpgradeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageOSUpgradeStatus ¶
type StorageOSUpgradeStatus struct { // Completed is the status of upgrade process. Completed bool `json:"completed,omitempty"` }
StorageOSUpgradeStatus defines the observed state of StorageOSUpgrade +k8s:openapi-gen=true
func (*StorageOSUpgradeStatus) DeepCopy ¶
func (in *StorageOSUpgradeStatus) DeepCopy() *StorageOSUpgradeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageOSUpgradeStatus.
func (*StorageOSUpgradeStatus) DeepCopyInto ¶
func (in *StorageOSUpgradeStatus) DeepCopyInto(out *StorageOSUpgradeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.