Documentation ¶
Overview ¶
Package v1 contains API Schema definitions for the ocs v1 API group +kubebuilder:object:generate=true +groupName=ocs.openshift.io
Index ¶
- Constants
- Variables
- type ArbiterSpec
- type BackingStorageClass
- type BlockPoolConfigurationSpec
- type ComponentImageStatus
- type EncryptionSpec
- type ExternalStorageClusterSpec
- type ExternalStorageKind
- type ImagesStatus
- type KMSServerConnectionStatus
- type KeyManagementServiceSpec
- type ManageCephBlockPools
- type ManageCephCluster
- type ManageCephConfig
- type ManageCephDashboard
- type ManageCephFilesystems
- type ManageCephNonResilientPools
- type ManageCephObjectStoreUsers
- type ManageCephObjectStores
- type ManageCephRBDMirror
- type ManageCephToolbox
- type ManagedResourcesSpec
- type MgrSpec
- type MirroringSpec
- type MonitoringSpec
- type MultiCloudGatewaySpec
- type NFSSpec
- type NodeTopologyMap
- func (m *NodeTopologyMap) Add(topologyKey string, value string)
- func (m *NodeTopologyMap) Contains(topologyKey string, value string) bool
- func (m *NodeTopologyMap) ContainsKey(topologyKey string) bool
- func (in *NodeTopologyMap) DeepCopy() *NodeTopologyMap
- func (in *NodeTopologyMap) DeepCopyInto(out *NodeTopologyMap)
- func (m *NodeTopologyMap) GetKeyValues(topologyKey string) (string, []string)
- type OCSInitialization
- type OCSInitializationList
- type OCSInitializationSpec
- type OCSInitializationStatus
- type OverprovisionControlSpec
- type SharedFilesystemConfigurationSpec
- type StorageCluster
- type StorageClusterList
- type StorageClusterSpec
- type StorageClusterStatus
- type StorageDeviceSet
- type StorageDeviceSetConfig
- type StorageProfile
- type TopologyLabelValues
Constants ¶
const ( // ConditionReconcileComplete communicates the status of the StorageCluster resource's // reconcile functionality. Basically, is the Reconcile function running to completion. ConditionReconcileComplete conditionsv1.ConditionType = "ReconcileComplete" // ConditionExternalClusterConnected condition type indicates // the successful connection to an external cluster ConditionExternalClusterConnected conditionsv1.ConditionType = "ExternalClusterConnected" // ConditionExternalClusterConnecting type indicates that rook is still trying for // an external connection ConditionExternalClusterConnecting conditionsv1.ConditionType = "ExternalClusterConnecting" // ConditionVersionMismatch type indicates that there is a mismatch in the storagecluster // and the operator version ConditionVersionMismatch conditionsv1.ConditionType = "VersionMismatch" )
const ( ReconcileFailed = "ReconcileFailed" ReconcileInit = "Init" ReconcileCompleted = "ReconcileCompleted" ReconcileCompletedMessage = "Reconcile completed successfully" ExternalClusterConnected = "ExternalClusterConnected" ExternalClusterConnectedMessage = "Connected successfully to an external cluster" )
List of constants to show different different reconciliation messages and statuses.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "ocs.openshift.io", Version: "v1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type ArbiterSpec ¶
type ArbiterSpec struct { Enable bool `json:"enable,omitempty"` // DisableMasterNodeToleration can be used to turn off the arbiter mon toleration for the master node taint. DisableMasterNodeToleration bool `json:"disableMasterNodeToleration,omitempty"` ArbiterMonPVCTemplate *corev1.PersistentVolumeClaim `json:"arbiterMonPVCTemplate,omitempty"` }
ArbiterSpec defines if arbiter should be enabled for the Ceph Cluster. It is optional and defaults to false. If set to true, ArbiterLocation must be set in the NodeTopologies.
func (*ArbiterSpec) DeepCopy ¶
func (in *ArbiterSpec) DeepCopy() *ArbiterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArbiterSpec.
func (*ArbiterSpec) DeepCopyInto ¶
func (in *ArbiterSpec) DeepCopyInto(out *ArbiterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackingStorageClass ¶ added in v0.4.12
type BackingStorageClass struct { metav1.ObjectMeta `json:"metadata,omitempty"` // Provisioner indicates the type of the provisioner. // +optional Provisioner string `json:"provisioner,omitempty"` // Parameters holds the parameters for the provisioner that should // create volumes of this storage class. // +optional Parameters map[string]string `json:"parameters,omitempty"` }
BackingStorageClass defines the backing storageclass for StorageDeviceSet
func (*BackingStorageClass) DeepCopy ¶ added in v0.4.12
func (in *BackingStorageClass) DeepCopy() *BackingStorageClass
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackingStorageClass.
func (*BackingStorageClass) DeepCopyInto ¶ added in v0.4.12
func (in *BackingStorageClass) DeepCopyInto(out *BackingStorageClass)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BlockPoolConfigurationSpec ¶ added in v0.4.12
type BlockPoolConfigurationSpec struct {
Parameters map[string]string `json:"parameters,omitempty"`
}
func (*BlockPoolConfigurationSpec) DeepCopy ¶ added in v0.4.12
func (in *BlockPoolConfigurationSpec) DeepCopy() *BlockPoolConfigurationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlockPoolConfigurationSpec.
func (*BlockPoolConfigurationSpec) DeepCopyInto ¶ added in v0.4.12
func (in *BlockPoolConfigurationSpec) DeepCopyInto(out *BlockPoolConfigurationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentImageStatus ¶
type ComponentImageStatus struct { DesiredImage string `json:"desiredImage,omitempty"` ActualImage string `json:"actualImage,omitempty"` }
ComponentImageStatus holds image status information for a specific component image
func (*ComponentImageStatus) DeepCopy ¶
func (in *ComponentImageStatus) DeepCopy() *ComponentImageStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentImageStatus.
func (*ComponentImageStatus) DeepCopyInto ¶
func (in *ComponentImageStatus) DeepCopyInto(out *ComponentImageStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EncryptionSpec ¶
type EncryptionSpec struct { // deprecated from OCS 4.10 onwards, acting as a dummy, // UI will keep sending this flag for backward compatibility (OCP 4.10 + OCS 4.9) // +optional Enable bool `json:"enable,omitempty"` // +optional ClusterWide bool `json:"clusterWide,omitempty"` // +optional StorageClass bool `json:"storageClass,omitempty"` KeyManagementService KeyManagementServiceSpec `json:"kms,omitempty"` }
EncryptionSpec defines if encryption should be enabled for the Storage Cluster It is optional and defaults to false.
func (*EncryptionSpec) DeepCopy ¶
func (in *EncryptionSpec) DeepCopy() *EncryptionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionSpec.
func (*EncryptionSpec) DeepCopyInto ¶
func (in *EncryptionSpec) DeepCopyInto(out *EncryptionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalStorageClusterSpec ¶
type ExternalStorageClusterSpec struct { // +optional Enable bool `json:"enable,omitempty"` }
ExternalStorageClusterSpec defines the spec of the external Storage Cluster to be connected to the local cluster
func (*ExternalStorageClusterSpec) DeepCopy ¶
func (in *ExternalStorageClusterSpec) DeepCopy() *ExternalStorageClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalStorageClusterSpec.
func (*ExternalStorageClusterSpec) DeepCopyInto ¶
func (in *ExternalStorageClusterSpec) DeepCopyInto(out *ExternalStorageClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalStorageKind ¶ added in v0.4.10
type ExternalStorageKind string
ExternalStorageKind specifies a kind of the external storage
const ( // KindOCS specifies a "ocs" kind of the external storage KindOCS ExternalStorageKind = "ocs" // KindRHCS specifies a "rhcs" kind of the external storage KindRHCS ExternalStorageKind = "rhcs" )
type ImagesStatus ¶
type ImagesStatus struct { Ceph *ComponentImageStatus `json:"ceph,omitempty"` NooBaaCore *ComponentImageStatus `json:"noobaaCore,omitempty"` NooBaaDB *ComponentImageStatus `json:"noobaaDB,omitempty"` }
ImagesStatus maps every component image name it's reconciliation status information
func (*ImagesStatus) DeepCopy ¶
func (in *ImagesStatus) DeepCopy() *ImagesStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImagesStatus.
func (*ImagesStatus) DeepCopyInto ¶
func (in *ImagesStatus) DeepCopyInto(out *ImagesStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KMSServerConnectionStatus ¶ added in v0.4.11
type KMSServerConnectionStatus struct { KMSServerAddress string `json:"kmsServerAddress,omitempty"` KMSServerConnectionError string `json:"kmsServerConnectionError,omitempty"` }
KMSServerConnectionStatus defines the observed connection state to the KMS server.
func (*KMSServerConnectionStatus) DeepCopy ¶ added in v0.4.11
func (in *KMSServerConnectionStatus) DeepCopy() *KMSServerConnectionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KMSServerConnectionStatus.
func (*KMSServerConnectionStatus) DeepCopyInto ¶ added in v0.4.11
func (in *KMSServerConnectionStatus) DeepCopyInto(out *KMSServerConnectionStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeyManagementServiceSpec ¶
type KeyManagementServiceSpec struct { // +optional Enable bool `json:"enable,omitempty"` }
KeyManagementServiceSpec provides a way to enable KMS
func (*KeyManagementServiceSpec) DeepCopy ¶
func (in *KeyManagementServiceSpec) DeepCopy() *KeyManagementServiceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyManagementServiceSpec.
func (*KeyManagementServiceSpec) DeepCopyInto ¶
func (in *KeyManagementServiceSpec) DeepCopyInto(out *KeyManagementServiceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManageCephBlockPools ¶
type ManageCephBlockPools struct { ReconcileStrategy string `json:"reconcileStrategy,omitempty"` DisableStorageClass bool `json:"disableStorageClass,omitempty"` DisableSnapshotClass bool `json:"disableSnapshotClass,omitempty"` }
ManageCephBlockPools defines how to reconcilea CephBlockPools
func (*ManageCephBlockPools) DeepCopy ¶
func (in *ManageCephBlockPools) DeepCopy() *ManageCephBlockPools
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManageCephBlockPools.
func (*ManageCephBlockPools) DeepCopyInto ¶
func (in *ManageCephBlockPools) DeepCopyInto(out *ManageCephBlockPools)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManageCephCluster ¶
type ManageCephCluster struct {
ReconcileStrategy string `json:"reconcileStrategy,omitempty"`
}
ManageCephCluster defines how to reconcile the Ceph cluster definition
func (*ManageCephCluster) DeepCopy ¶
func (in *ManageCephCluster) DeepCopy() *ManageCephCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManageCephCluster.
func (*ManageCephCluster) DeepCopyInto ¶
func (in *ManageCephCluster) DeepCopyInto(out *ManageCephCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManageCephConfig ¶
type ManageCephConfig struct {
ReconcileStrategy string `json:"reconcileStrategy,omitempty"`
}
ManageCephConfig defines how to reconcile the Ceph configuration
func (*ManageCephConfig) DeepCopy ¶
func (in *ManageCephConfig) DeepCopy() *ManageCephConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManageCephConfig.
func (*ManageCephConfig) DeepCopyInto ¶
func (in *ManageCephConfig) DeepCopyInto(out *ManageCephConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManageCephDashboard ¶
type ManageCephDashboard struct { Enable bool `json:"enable,omitempty"` // serve the dashboard using SSL SSL bool `json:"ssl,omitempty"` }
ManageCephDashboard defines how to reconcile Ceph dashboard
func (*ManageCephDashboard) DeepCopy ¶
func (in *ManageCephDashboard) DeepCopy() *ManageCephDashboard
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManageCephDashboard.
func (*ManageCephDashboard) DeepCopyInto ¶
func (in *ManageCephDashboard) DeepCopyInto(out *ManageCephDashboard)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManageCephFilesystems ¶
type ManageCephFilesystems struct { ReconcileStrategy string `json:"reconcileStrategy,omitempty"` DisableStorageClass bool `json:"disableStorageClass,omitempty"` DisableSnapshotClass bool `json:"disableSnapshotClass,omitempty"` }
ManageCephFilesystems defines how to reconcile CephFilesystems
func (*ManageCephFilesystems) DeepCopy ¶
func (in *ManageCephFilesystems) DeepCopy() *ManageCephFilesystems
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManageCephFilesystems.
func (*ManageCephFilesystems) DeepCopyInto ¶
func (in *ManageCephFilesystems) DeepCopyInto(out *ManageCephFilesystems)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManageCephNonResilientPools ¶ added in v0.4.12
type ManageCephNonResilientPools struct {
Enable bool `json:"enable,omitempty"`
}
ManageCephNonResilientPools defines how to reconcile ceph non-resilient pools
func (*ManageCephNonResilientPools) DeepCopy ¶ added in v0.4.12
func (in *ManageCephNonResilientPools) DeepCopy() *ManageCephNonResilientPools
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManageCephNonResilientPools.
func (*ManageCephNonResilientPools) DeepCopyInto ¶ added in v0.4.12
func (in *ManageCephNonResilientPools) DeepCopyInto(out *ManageCephNonResilientPools)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManageCephObjectStoreUsers ¶
type ManageCephObjectStoreUsers struct {
ReconcileStrategy string `json:"reconcileStrategy,omitempty"`
}
ManageCephObjectStoreUsers defines how to reconcile CephObjectStoreUsers
func (*ManageCephObjectStoreUsers) DeepCopy ¶
func (in *ManageCephObjectStoreUsers) DeepCopy() *ManageCephObjectStoreUsers
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManageCephObjectStoreUsers.
func (*ManageCephObjectStoreUsers) DeepCopyInto ¶
func (in *ManageCephObjectStoreUsers) DeepCopyInto(out *ManageCephObjectStoreUsers)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManageCephObjectStores ¶
type ManageCephObjectStores struct { ReconcileStrategy string `json:"reconcileStrategy,omitempty"` DisableStorageClass bool `json:"disableStorageClass,omitempty"` GatewayInstances int32 `json:"gatewayInstances,omitempty"` DisableRoute bool `json:"disableRoute,omitempty"` }
ManageCephObjectStores defines how to reconcile CephObjectStores
func (*ManageCephObjectStores) DeepCopy ¶
func (in *ManageCephObjectStores) DeepCopy() *ManageCephObjectStores
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManageCephObjectStores.
func (*ManageCephObjectStores) DeepCopyInto ¶
func (in *ManageCephObjectStores) DeepCopyInto(out *ManageCephObjectStores)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManageCephRBDMirror ¶ added in v0.4.13
type ManageCephRBDMirror struct {
ReconcileStrategy string `json:"reconcileStrategy,omitempty"`
}
ManageCephRBDMirror defines how to reconcile Ceph RBDMirror
func (*ManageCephRBDMirror) DeepCopy ¶ added in v0.4.13
func (in *ManageCephRBDMirror) DeepCopy() *ManageCephRBDMirror
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManageCephRBDMirror.
func (*ManageCephRBDMirror) DeepCopyInto ¶ added in v0.4.13
func (in *ManageCephRBDMirror) DeepCopyInto(out *ManageCephRBDMirror)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManageCephToolbox ¶ added in v0.4.11
type ManageCephToolbox struct {
ReconcileStrategy string `json:"reconcileStrategy,omitempty"`
}
ManageCephToolbox defines how to reconcile Ceph toolbox
func (*ManageCephToolbox) DeepCopy ¶ added in v0.4.11
func (in *ManageCephToolbox) DeepCopy() *ManageCephToolbox
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManageCephToolbox.
func (*ManageCephToolbox) DeepCopyInto ¶ added in v0.4.11
func (in *ManageCephToolbox) DeepCopyInto(out *ManageCephToolbox)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManagedResourcesSpec ¶
type ManagedResourcesSpec struct { CephCluster ManageCephCluster `json:"cephCluster,omitempty"` CephConfig ManageCephConfig `json:"cephConfig,omitempty"` CephDashboard ManageCephDashboard `json:"cephDashboard,omitempty"` CephBlockPools ManageCephBlockPools `json:"cephBlockPools,omitempty"` CephNonResilientPools ManageCephNonResilientPools `json:"cephNonResilientPools,omitempty"` CephFilesystems ManageCephFilesystems `json:"cephFilesystems,omitempty"` CephObjectStores ManageCephObjectStores `json:"cephObjectStores,omitempty"` CephObjectStoreUsers ManageCephObjectStoreUsers `json:"cephObjectStoreUsers,omitempty"` CephToolbox ManageCephToolbox `json:"cephToolbox,omitempty"` CephRBDMirror ManageCephRBDMirror `json:"cephRBDMirror,omitempty"` }
ManagedResourcesSpec defines how to reconcile auxiliary resources
func (*ManagedResourcesSpec) DeepCopy ¶
func (in *ManagedResourcesSpec) DeepCopy() *ManagedResourcesSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedResourcesSpec.
func (*ManagedResourcesSpec) DeepCopyInto ¶
func (in *ManagedResourcesSpec) DeepCopyInto(out *ManagedResourcesSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MgrSpec ¶ added in v0.4.13
type MgrSpec struct { // EnableActivePassive can be set as true to deploy 2 ceph manager pods, one active and one standby // Ceph will promote the standby mgr when the active mgr goes down due to any reason EnableActivePassive bool `json:"enableActivePassive,omitempty"` }
MgrSpec defines the settings for the Ceph Manager
func (*MgrSpec) DeepCopy ¶ added in v0.4.13
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MgrSpec.
func (*MgrSpec) DeepCopyInto ¶ added in v0.4.13
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MirroringSpec ¶
type MirroringSpec struct { // If true, data mirroring is enabled for the StorageCluster. // This configuration will only be applied to resources (such as CephBlockPool) // managed by the operator. // It is optional and defaults to false. // +optional Enabled bool `json:"enabled,omitempty"` // PeerSecretNames represents the Kubernetes Secret names of rbd-mirror peers tokens // +optional PeerSecretNames []string `json:"peerSecretNames,omitempty"` }
func (*MirroringSpec) DeepCopy ¶
func (in *MirroringSpec) DeepCopy() *MirroringSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MirroringSpec.
func (*MirroringSpec) DeepCopyInto ¶
func (in *MirroringSpec) DeepCopyInto(out *MirroringSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonitoringSpec ¶
type MonitoringSpec struct { ReconcileStrategy string `json:"reconcileStrategy,omitempty"` // Labels to add to monitoring resources created by operator. // These labels are used as LabelSelector for Prometheus Labels map[string]string `json:"labels,omitempty"` }
MonitoringSpec controls the configuration of resources for exposing OCS metrics
func (*MonitoringSpec) DeepCopy ¶
func (in *MonitoringSpec) DeepCopy() *MonitoringSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitoringSpec.
func (*MonitoringSpec) DeepCopyInto ¶
func (in *MonitoringSpec) DeepCopyInto(out *MonitoringSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MultiCloudGatewaySpec ¶
type MultiCloudGatewaySpec struct { // ReconcileStrategy specifies whether to reconcile NooBaa CRs. Valid // values are "manage", "standalone", "ignore" (same as "standalone"), // and "" (same as "manage"). ReconcileStrategy string `json:"reconcileStrategy,omitempty"` // DbStorageClassName specifies the default storage class // for nooba-db pods // +optional DbStorageClassName string `json:"dbStorageClassName,omitempty"` // Endpoints (optional) sets configuration info for the noobaa endpoint // deployment. // +optional Endpoints *nbv1.EndpointsSpec `json:"endpoints,omitempty"` // DisableLoadBalancerService (optional) sets the service type to ClusterIP instead of LoadBalancer // +nullable // +optional DisableLoadBalancerService bool `json:"disableLoadBalancerService,omitempty"` }
MultiCloudGatewaySpec defines specific multi-cloud gateway configuration options
func (*MultiCloudGatewaySpec) DeepCopy ¶
func (in *MultiCloudGatewaySpec) DeepCopy() *MultiCloudGatewaySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MultiCloudGatewaySpec.
func (*MultiCloudGatewaySpec) DeepCopyInto ¶
func (in *MultiCloudGatewaySpec) DeepCopyInto(out *MultiCloudGatewaySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NFSSpec ¶ added in v0.4.11
type NFSSpec struct { // Enable specifies whether to enable NFS. // +optional Enable bool `json:"enable,omitempty"` }
NFSSpec defines specific nfs configuration options
func (*NFSSpec) DeepCopy ¶ added in v0.4.11
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NFSSpec.
func (*NFSSpec) DeepCopyInto ¶ added in v0.4.11
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeTopologyMap ¶
type NodeTopologyMap struct { // Labels is a map of topology label keys // (e.g. "failure-domain.kubernetes.io") to a set of values for those // keys. // +optional // +nullable Labels map[string]TopologyLabelValues `json:"labels,omitempty"` // ArbiterLocation is the chosen location in the failure domain for placing the arbiter resources. // When the failure domain is not provided as an input, ocs-operator determines the failure domain. ArbiterLocation string `json:"arbiterLocation,omitempty"` }
NodeTopologyMap represents the list of all values of all topology labels across all nodes in the StorageCluster
func NewNodeTopologyMap ¶
func NewNodeTopologyMap() *NodeTopologyMap
NewNodeTopologyMap returns an initialized NodeTopologyMap
func (*NodeTopologyMap) Add ¶
func (m *NodeTopologyMap) Add(topologyKey string, value string)
Add adds a new value to the NodeTopologyMap under the specified key USe it with Contains() to not allow duplicate values
func (*NodeTopologyMap) Contains ¶
func (m *NodeTopologyMap) Contains(topologyKey string, value string) bool
Contains checks whether the NodeTopologyMap contains a specific value for the specified key
func (*NodeTopologyMap) ContainsKey ¶
func (m *NodeTopologyMap) ContainsKey(topologyKey string) bool
ContainsKey checks whether the NodeTopologyMap contains any value for the specified key
func (*NodeTopologyMap) DeepCopy ¶
func (in *NodeTopologyMap) DeepCopy() *NodeTopologyMap
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeTopologyMap.
func (*NodeTopologyMap) DeepCopyInto ¶
func (in *NodeTopologyMap) DeepCopyInto(out *NodeTopologyMap)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NodeTopologyMap) GetKeyValues ¶
func (m *NodeTopologyMap) GetKeyValues(topologyKey string) (string, []string)
GetKeyValues returns a node label matching the topologyKey and all values for that label across all storage nodes
type OCSInitialization ¶
type OCSInitialization struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec OCSInitializationSpec `json:"spec,omitempty"` Status OCSInitializationStatus `json:"status,omitempty"` }
OCSInitialization represents the initial data to be created when the operator is installed.
func (*OCSInitialization) DeepCopy ¶
func (in *OCSInitialization) DeepCopy() *OCSInitialization
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCSInitialization.
func (*OCSInitialization) DeepCopyInto ¶
func (in *OCSInitialization) DeepCopyInto(out *OCSInitialization)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OCSInitialization) DeepCopyObject ¶
func (in *OCSInitialization) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type OCSInitializationList ¶
type OCSInitializationList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []OCSInitialization `json:"items"` }
OCSInitializationList contains a list of OCSInitialization
func (*OCSInitializationList) DeepCopy ¶
func (in *OCSInitializationList) DeepCopy() *OCSInitializationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCSInitializationList.
func (*OCSInitializationList) DeepCopyInto ¶
func (in *OCSInitializationList) DeepCopyInto(out *OCSInitializationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OCSInitializationList) DeepCopyObject ¶
func (in *OCSInitializationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type OCSInitializationSpec ¶
type OCSInitializationSpec struct { // EnableCephTools toggles on whether or not the ceph tools pod // should be deployed. // Defaults to false // +optional EnableCephTools bool `json:"enableCephTools,omitempty"` // Tolerations if specified set toolbox ceph tools pod tolerations // Defaults to empty // +optional Tolerations []corev1.Toleration `json:"tolerations,omitempty"` }
OCSInitializationSpec defines the desired state of OCSInitialization
func (*OCSInitializationSpec) DeepCopy ¶
func (in *OCSInitializationSpec) DeepCopy() *OCSInitializationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCSInitializationSpec.
func (*OCSInitializationSpec) DeepCopyInto ¶
func (in *OCSInitializationSpec) DeepCopyInto(out *OCSInitializationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OCSInitializationStatus ¶
type OCSInitializationStatus struct { // Phase describes the Phase of OCSInitialization // This is used by OLM UI to provide status information // to the user Phase string `json:"phase,omitempty"` // Conditions describes the state of the OCSInitialization resource. // +optional Conditions []conditionsv1.Condition `json:"conditions,omitempty"` // RelatedObjects is a list of objects created and maintained by this // operator. Object references will be added to this list after they have // been created AND found in the cluster. // +optional RelatedObjects []corev1.ObjectReference `json:"relatedObjects,omitempty"` ErrorMessage string `json:"errorMessage,omitempty"` SCCsCreated bool `json:"sCCsCreated,omitempty"` RookCephOperatorConfigCreated bool `json:"rookCephOperatorConfigCreated,omitempty"` }
OCSInitializationStatus defines the observed state of OCSInitialization
func (*OCSInitializationStatus) DeepCopy ¶
func (in *OCSInitializationStatus) DeepCopy() *OCSInitializationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCSInitializationStatus.
func (*OCSInitializationStatus) DeepCopyInto ¶
func (in *OCSInitializationStatus) DeepCopyInto(out *OCSInitializationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OverprovisionControlSpec ¶
type OverprovisionControlSpec struct { StorageClassName string `json:"storageClassName,omitempty"` QuotaName string `json:"quotaName,omitempty"` Capacity resource.Quantity `json:"capacity,omitempty"` Selector quotav1.ClusterResourceQuotaSelector `json:"selector,omitempty"` }
OverprovisionControlSpec defines the allowed overprovisioning PVC consumption from the underlying cluster. This may be an absolute value or as a percentage of the overall effective capacity. One, and only one of those two (Capacity and Percentage) may be defined.
func (*OverprovisionControlSpec) DeepCopy ¶
func (in *OverprovisionControlSpec) DeepCopy() *OverprovisionControlSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OverprovisionControlSpec.
func (*OverprovisionControlSpec) DeepCopyInto ¶
func (in *OverprovisionControlSpec) DeepCopyInto(out *OverprovisionControlSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SharedFilesystemConfigurationSpec ¶ added in v0.4.12
type SharedFilesystemConfigurationSpec struct {
}func (*SharedFilesystemConfigurationSpec) DeepCopy ¶ added in v0.4.12
func (in *SharedFilesystemConfigurationSpec) DeepCopy() *SharedFilesystemConfigurationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedFilesystemConfigurationSpec.
func (*SharedFilesystemConfigurationSpec) DeepCopyInto ¶ added in v0.4.12
func (in *SharedFilesystemConfigurationSpec) DeepCopyInto(out *SharedFilesystemConfigurationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageCluster ¶
type StorageCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec StorageClusterSpec `json:"spec,omitempty"` Status StorageClusterStatus `json:"status,omitempty"` }
StorageCluster represents a cluster including Ceph Cluster, NooBaa and all the storage and compute resources required.
func (*StorageCluster) DeepCopy ¶
func (in *StorageCluster) DeepCopy() *StorageCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageCluster.
func (*StorageCluster) DeepCopyInto ¶
func (in *StorageCluster) DeepCopyInto(out *StorageCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StorageCluster) DeepCopyObject ¶
func (in *StorageCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*StorageCluster) NewToolsDeployment ¶ added in v0.4.11
func (r *StorageCluster) NewToolsDeployment(tolerations []corev1.Toleration) *appsv1.Deployment
type StorageClusterList ¶
type StorageClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []StorageCluster `json:"items"` }
StorageClusterList contains a list of StorageCluster
func (*StorageClusterList) DeepCopy ¶
func (in *StorageClusterList) DeepCopy() *StorageClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageClusterList.
func (*StorageClusterList) DeepCopyInto ¶
func (in *StorageClusterList) DeepCopyInto(out *StorageClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StorageClusterList) DeepCopyObject ¶
func (in *StorageClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type StorageClusterSpec ¶
type StorageClusterSpec struct { ManageNodes bool `json:"manageNodes,omitempty"` InstanceType string `json:"instanceType,omitempty"` // LabelSelector is used to specify custom labels of nodes to run OCS on LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty"` // ExternalStorage is optional and defaults to false. When set to true, OCS will // connect to an external OCS Storage Cluster instead of provisioning one locally. ExternalStorage ExternalStorageClusterSpec `json:"externalStorage,omitempty"` // HostNetwork defaults to false HostNetwork bool `json:"hostNetwork,omitempty"` // Placement is optional and used to specify placements of OCS components explicitly Placement rookCephv1.PlacementSpec `json:"placement,omitempty"` // Resources follows the conventions of and is mapped to CephCluster.Spec.Resources Resources map[string]corev1.ResourceRequirements `json:"resources,omitempty"` Encryption EncryptionSpec `json:"encryption,omitempty"` StorageDeviceSets []StorageDeviceSet `json:"storageDeviceSets,omitempty"` MonPVCTemplate *corev1.PersistentVolumeClaim `json:"monPVCTemplate,omitempty"` MonDataDirHostPath string `json:"monDataDirHostPath,omitempty"` Mgr *MgrSpec `json:"mgr,omitempty"` MultiCloudGateway *MultiCloudGatewaySpec `json:"multiCloudGateway,omitempty"` NFS *NFSSpec `json:"nfs,omitempty"` // Monitoring controls the configuration of resources for exposing OCS metrics Monitoring *MonitoringSpec `json:"monitoring,omitempty"` // Version specifies the version of StorageCluster // +kubebuilder:deprecatedversion:warning="This field has been deprecated and will be removed in future versions. Use `StorageCluster.Status.Version` instead." Version string `json:"version,omitempty"` // Network represents cluster network settings Network *rookCephv1.NetworkSpec `json:"network,omitempty"` // ManagedResources specifies how to deal with auxiliary resources reconciled // with the StorageCluster ManagedResources ManagedResourcesSpec `json:"managedResources,omitempty"` // If enabled, sets the failureDomain to host, allowing devices to be // distributed evenly across all nodes, regardless of distribution in zones // or racks. FlexibleScaling bool `json:"flexibleScaling,omitempty"` // NodeTopologies specifies the nodes available for the storage cluster, // preferred failure domain and location for the arbiter resources. This is // optional for non-arbiter clusters. For arbiter clusters, the // arbiterLocation is required; failure domain and the node labels are // optional. When the failure domain and the node labels are missing, the // ocs-operator makes a best effort to determine them automatically. NodeTopologies *NodeTopologyMap `json:"nodeTopologies,omitempty"` // ArbiterSpec specifies the storage cluster options related to arbiter. // If Arbiter is enabled, ArbiterLocation in the NodeTopologies must be specified. Arbiter ArbiterSpec `json:"arbiter,omitempty"` // Mirroring specifies data mirroring configuration for the storage cluster. // This configuration will only be applied to resources managed by the operator. Mirroring MirroringSpec `json:"mirroring,omitempty"` // OverprovisionControl specifies the allowed hard-limit PVs overprovisioning relative to // the effective usable storage capacity. OverprovisionControl []OverprovisionControlSpec `json:"overprovisionControl,omitempty"` // AllowRemoteStorageConsumers Indicates that the OCS cluster should deploy the needed // components to enable connections from remote consumers. AllowRemoteStorageConsumers bool `json:"allowRemoteStorageConsumers,omitempty"` // EnableCephTools toggles on whether or not the ceph tools pod // should be deployed. // Defaults to false // +optional EnableCephTools bool `json:"enableCephTools,omitempty"` // Logging represents loggings settings // +optional // +nullable LogCollector *rookCephv1.LogCollectorSpec `json:"logCollector,omitempty"` // BackingStorageClasses is a list of storage classes that will be // provisioned by the storagecluster controller to be used in // storageDeviceSets section of the CR. BackingStorageClasses []BackingStorageClass `json:"backingStorageClasses,omitempty"` // DefaultStorageProfile is the default storage profile to use for // the storageclassrequest as StorageProfile is optional. DefaultStorageProfile string `json:"defaultStorageProfile,omitempty"` StorageProfiles []StorageProfile `json:"storageProfiles,omitempty"` }
StorageClusterSpec defines the desired state of StorageCluster
func (*StorageClusterSpec) DeepCopy ¶
func (in *StorageClusterSpec) DeepCopy() *StorageClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageClusterSpec.
func (*StorageClusterSpec) DeepCopyInto ¶
func (in *StorageClusterSpec) DeepCopyInto(out *StorageClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageClusterStatus ¶
type StorageClusterStatus struct { // Version specifies the version of StorageCluster Version string `json:"version,omitempty"` // Phase describes the Phase of StorageCluster // This is used by OLM UI to provide status information // to the user Phase string `json:"phase,omitempty"` // Conditions describes the state of the StorageCluster resource. // +optional Conditions []conditionsv1.Condition `json:"conditions,omitempty"` // RelatedObjects is a list of objects created and maintained by this // operator. Object references will be added to this list after they have // been created AND found in the cluster. // +optional RelatedObjects []corev1.ObjectReference `json:"relatedObjects,omitempty"` // NodeTopologies is a list of topology labels on all nodes matching // the StorageCluster's placement selector. // +optional NodeTopologies *NodeTopologyMap `json:"nodeTopologies,omitempty"` // FailureDomain is the base CRUSH element Ceph will use to distribute // its data replicas for the default CephBlockPool // +optional FailureDomain string `json:"failureDomain,omitempty"` // FailureDomainKey is the specific key used to find the locations available // under a failure domain. For example topology.kubernetes.io/zone // +optional FailureDomainKey string `json:"failureDomainKey,omitempty"` // FailureDomainValues is the list of locations available for a failure // domain under the failure domain key. // +optional FailureDomainValues []string `json:"failureDomainValues,omitempty"` // StorageProviderEndpoint holds endpoint info on Provider cluster which is required // for consumer to establish connection with the storage providing cluster. StorageProviderEndpoint string `json:"storageProviderEndpoint,omitempty"` // ExternalSecretHash holds the checksum value of external secret data. ExternalSecretHash string `json:"externalSecretHash,omitempty"` // Images holds the image reconcile status for all images reconciled by the operator Images ImagesStatus `json:"images,omitempty"` // KMSServerConnection holds the connection state to the KMS server. KMSServerConnection KMSServerConnectionStatus `json:"kmsServerConnection,omitempty"` }
StorageClusterStatus defines the observed state of StorageCluster
func (*StorageClusterStatus) DeepCopy ¶
func (in *StorageClusterStatus) DeepCopy() *StorageClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageClusterStatus.
func (*StorageClusterStatus) DeepCopyInto ¶
func (in *StorageClusterStatus) DeepCopyInto(out *StorageClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageDeviceSet ¶
type StorageDeviceSet struct { // Count is the number of devices in each StorageClassDeviceSet // +kubebuilder:validation:Minimum=1 Count int `json:"count"` // Replica is the number of StorageClassDeviceSets for this // StorageDeviceSet // +kubebuilder:validation:Minimum=1 // +optional Replica int `json:"replica,omitempty"` // DeviceType is the value of device type in // this StorageDeviceSet. It can have one of the // three values (SSD, HDD, NVMe) // +kubebuilder:validation:Enum=SSD;ssd;HDD;hdd;NVMe;NVME;nvme // +optional DeviceType string `json:"deviceType,omitempty"` // DeviceClass is an optional, fine-grained property of DeviceType. // If non empty, it defines the 'crushDeviceClass' value as used by ceph's // CRUSH map. // +optional DeviceClass string `json:"deviceClass,omitempty"` // InitialWeight is an optional explicit OSD weight value in TiB units. // If non empty, it defines the 'CrushInitialWeight' value which is // assigned to ceph OSD upon init // +kubebuilder:validation:Pattern=`^([0-9]*[.])?[0-9]+(Ti[B])$` // +optional InitialWeight string `json:"initialWeight,omitempty"` // PrimaryAffinity is an optional OSD primary-affinity value within the // range [0,1). This value influence the way Ceph's CRUSH selection of // primary OSDs. Lower value reduce performance bottlenecks (especially // on read operations). If not set, default value is 1. // https://docs.ceph.com/en/latest/rados/operations/crush-map/#primary-affinity // +kubebuilder:validation:Pattern=`^0.[0-9]+$` // +optional PrimaryAffinity string `json:"primaryAffinity,omitempty"` // TopologyKey is the Kubernetes topology label that the // StorageClassDeviceSets will be distributed across. Ignored if // Placement is set // +optional TopologyKey string `json:"topologyKey,omitempty"` // Portable says whether the OSDs in this device set can move between // nodes. This is ignored if Placement is not set // +optional Portable bool `json:"portable,omitempty"` Name string `json:"name"` Resources corev1.ResourceRequirements `json:"resources,omitempty"` PreparePlacement rookCephv1.Placement `json:"preparePlacement,omitempty"` Placement rookCephv1.Placement `json:"placement,omitempty"` Config StorageDeviceSetConfig `json:"config,omitempty"` DataPVCTemplate corev1.PersistentVolumeClaim `json:"dataPVCTemplate"` MetadataPVCTemplate *corev1.PersistentVolumeClaim `json:"metadataPVCTemplate,omitempty"` WalPVCTemplate *corev1.PersistentVolumeClaim `json:"walPVCTemplate,omitempty"` }
StorageDeviceSet defines a set of storage devices. It configures the StorageClassDeviceSets field in Rook-Ceph.
func (*StorageDeviceSet) DeepCopy ¶
func (in *StorageDeviceSet) DeepCopy() *StorageDeviceSet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageDeviceSet.
func (*StorageDeviceSet) DeepCopyInto ¶
func (in *StorageDeviceSet) DeepCopyInto(out *StorageDeviceSet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageDeviceSetConfig ¶
type StorageDeviceSetConfig struct { // TuneSlowDeviceClass tunes the OSD when running on a slow Device Class // +optional TuneSlowDeviceClass bool `json:"tuneSlowDeviceClass,omitempty"` // TuneFastDeviceClass tunes the OSD when running on a fast Device Class // +optional TuneFastDeviceClass bool `json:"tuneFastDeviceClass,omitempty"` }
StorageDeviceSetConfig defines Ceph OSD specific config options for the StorageDeviceSet
func (*StorageDeviceSetConfig) DeepCopy ¶
func (in *StorageDeviceSetConfig) DeepCopy() *StorageDeviceSetConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageDeviceSetConfig.
func (*StorageDeviceSetConfig) DeepCopyInto ¶
func (in *StorageDeviceSetConfig) DeepCopyInto(out *StorageDeviceSetConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StorageDeviceSetConfig) ToMap ¶
func (c *StorageDeviceSetConfig) ToMap() map[string]string
ToMap converts a StorageDeviceSetConfig object to a map[string]string that can be set in a Rook StorageClassDeviceSet object This functions just returns `nil` right now as the StorageDeviceSetConfig struct itself is empty. It will be updated to perform actual conversion and return a proper map when the StorageDeviceSetConfig struct is updated. TODO: Do actual conversion to map when StorageDeviceSetConfig has defined members
type StorageProfile ¶ added in v0.4.12
type StorageProfile struct { // +kubebuilder:validation:Required // Name of the storage profile. Name string `json:"name"` // +kubebuilder:validation:Required // DeviceClass is the deviceclass name. DeviceClass string `json:"deviceClass"` SharedFilesystemConfiguration SharedFilesystemConfigurationSpec `json:"sharedFilesystemConfiguration,omitempty"` // configurations to use for profile specific blockpool. BlockPoolConfiguration BlockPoolConfigurationSpec `json:"blockPoolConfiguration,omitempty"` }
StorageProfile is the storage profile to use for the storageclassrequest.
func (*StorageProfile) DeepCopy ¶ added in v0.4.12
func (in *StorageProfile) DeepCopy() *StorageProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageProfile.
func (*StorageProfile) DeepCopyInto ¶ added in v0.4.12
func (in *StorageProfile) DeepCopyInto(out *StorageProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TopologyLabelValues ¶
type TopologyLabelValues []string
TopologyLabelValues is a list of values for a topology label
func (TopologyLabelValues) DeepCopy ¶
func (in TopologyLabelValues) DeepCopy() TopologyLabelValues
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopologyLabelValues.
func (TopologyLabelValues) DeepCopyInto ¶
func (in TopologyLabelValues) DeepCopyInto(out *TopologyLabelValues)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.