Documentation ¶
Overview ¶
Package v1 is the v1 version of the API. +groupName=ceph.rook.io
Copyright 2018 The Rook Authors. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2018 The Rook Authors. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Index ¶
- Constants
- Variables
- func GetCephExporterPriorityClassName(p PriorityClassNamesSpec) string
- func GetCephExporterResources(p ResourceSpec) v1.ResourceRequirements
- func GetCleanupPriorityClassName(p PriorityClassNamesSpec) string
- func GetCleanupResources(p ResourceSpec) v1.ResourceRequirements
- func GetCrashCollectorPriorityClassName(p PriorityClassNamesSpec) string
- func GetCrashCollectorResources(p ResourceSpec) v1.ResourceRequirements
- func GetLogCollectorResources(p ResourceSpec) v1.ResourceRequirements
- func GetMgrPriorityClassName(p PriorityClassNamesSpec) string
- func GetMgrResources(p ResourceSpec) v1.ResourceRequirements
- func GetMgrSidecarResources(p ResourceSpec) v1.ResourceRequirements
- func GetMonPriorityClassName(p PriorityClassNamesSpec) string
- func GetMonResources(p ResourceSpec) v1.ResourceRequirements
- func GetOSDPriorityClassName(p PriorityClassNamesSpec) string
- func GetOSDResources(p ResourceSpec, deviceClass string) v1.ResourceRequirements
- func GetPrepareOSDResources(p ResourceSpec) v1.ResourceRequirements
- func NetworkSelectionsToAnnotationValue(selections ...*nadv1.NetworkSelectionElement) (string, error)
- func NewSecurityContextConstraints(name string, namespaces ...string) *secv1.SecurityContextConstraints
- func Resource(resource string) schema.GroupResource
- func SetStatusCondition(conditions *[]Condition, newCondition Condition)
- func ToValidDNSLabel(input string) string
- func ValidateAMQPSpec(s *AMQPEndpointSpec) error
- func ValidateCephBlockPool(p *CephBlockPool) error
- func ValidateHTTPSpec(s *HTTPEndpointSpec) error
- func ValidateKafkaSpec(s *KafkaEndpointSpec) error
- func ValidateNetworkSpec(clusterNamespace string, spec NetworkSpec) error
- func ValidateNetworkSpecUpdate(clusterNamespace string, oldSpec, newSpec NetworkSpec) error
- func ValidateObjectSpec(gs *CephObjectStore) error
- type AMQPEndpointSpec
- type AdditionalVolumeMount
- type AdditionalVolumeMounts
- type AddressRangesSpec
- type Annotations
- func GetCephExporterAnnotations(a AnnotationsSpec) Annotations
- func GetCleanupAnnotations(a AnnotationsSpec) Annotations
- func GetClusterMetadataAnnotations(a AnnotationsSpec) Annotations
- func GetCmdReporterAnnotations(a AnnotationsSpec) Annotations
- func GetDashboardAnnotations(a AnnotationsSpec) Annotations
- func GetKeyRotationAnnotations(a AnnotationsSpec) Annotations
- func GetMgrAnnotations(a AnnotationsSpec) Annotations
- func GetMonAnnotations(a AnnotationsSpec) Annotations
- func GetOSDAnnotations(a AnnotationsSpec) Annotations
- func GetOSDPrepareAnnotations(a AnnotationsSpec) Annotations
- type AnnotationsSpec
- type AuthSpec
- type BucketNotificationEvent
- type BucketNotificationSpec
- type BucketTopicSpec
- type BucketTopicStatus
- type CIDR
- type CIDRList
- type COSIDeploymentStrategy
- type CSICephFSSpec
- type CSIDriverSpec
- type Capacity
- type CephBlockPool
- type CephBlockPoolList
- type CephBlockPoolRadosNamespace
- type CephBlockPoolRadosNamespaceList
- type CephBlockPoolRadosNamespaceSpec
- type CephBlockPoolRadosNamespaceStatus
- type CephBlockPoolStatus
- type CephBucketNotification
- type CephBucketNotificationList
- type CephBucketTopic
- type CephBucketTopicList
- type CephCOSIDriver
- type CephCOSIDriverList
- type CephCOSIDriverSpec
- type CephClient
- type CephClientList
- type CephClientStatus
- type CephCluster
- type CephClusterHealthCheckSpec
- type CephClusterList
- type CephDaemonsVersions
- type CephFilesystem
- type CephFilesystemList
- type CephFilesystemMirror
- type CephFilesystemMirrorList
- type CephFilesystemStatus
- type CephFilesystemSubVolumeGroup
- type CephFilesystemSubVolumeGroupList
- type CephFilesystemSubVolumeGroupSpec
- type CephFilesystemSubVolumeGroupSpecPinning
- type CephFilesystemSubVolumeGroupStatus
- type CephHealthMessage
- type CephNFS
- type CephNFSList
- type CephNetworkType
- type CephObjectRealm
- type CephObjectRealmList
- type CephObjectStore
- func (c *CephObjectStore) AdvertiseEndpointIsSet() bool
- func (in *CephObjectStore) DeepCopy() *CephObjectStore
- func (in *CephObjectStore) DeepCopyInto(out *CephObjectStore)
- func (in *CephObjectStore) DeepCopyObject() runtime.Object
- func (c *CephObjectStore) GetAdvertiseEndpoint() (string, int32, bool, error)
- func (c *CephObjectStore) GetAdvertiseEndpointUrl() (string, error)
- func (c *CephObjectStore) GetServiceDomainName() string
- func (c *CephObjectStore) GetServiceName() string
- func (c *CephObjectStore) GetStatusConditions() *[]Condition
- type CephObjectStoreList
- type CephObjectStoreUser
- type CephObjectStoreUserList
- type CephObjectZone
- type CephObjectZoneGroup
- type CephObjectZoneGroupList
- type CephObjectZoneList
- type CephRBDMirror
- type CephRBDMirrorList
- type CephStatus
- type CephStorage
- type CephVersionSpec
- type CleanupConfirmationProperty
- type CleanupPolicySpec
- type ClientSpec
- type ClusterSpec
- type ClusterState
- type ClusterStatus
- type ClusterVersion
- type CompressionSpec
- type Condition
- type ConditionReason
- type ConditionType
- type ConfigFileVolumeSource
- type ConnectionsSpec
- type CrashCollectorSpec
- type DaemonHealthSpec
- type DashboardSpec
- type Device
- type DeviceClasses
- type DisruptionManagementSpec
- type EncryptionSpec
- type EndpointAddress
- type ErasureCodedSpec
- type ExternalSpec
- type FSMirroringSpec
- type FilesystemMirrorInfoPeerSpec
- type FilesystemMirroringInfo
- type FilesystemMirroringInfoSpec
- type FilesystemMirroringSpec
- type FilesystemSnapshotScheduleStatusRetention
- type FilesystemSnapshotScheduleStatusSpec
- type FilesystemSnapshotSchedulesSpec
- type FilesystemSpec
- type FilesystemsSpec
- type GaneshaRADOSSpec
- type GaneshaServerSpec
- type GatewaySpec
- type HTTPEndpointSpec
- type HealthCheckSpec
- type HybridStorageSpec
- type IPFamilyType
- type ImplicitTenantSetting
- type KafkaEndpointSpec
- type KerberosConfigFiles
- type KerberosKeytabFile
- type KerberosSpec
- type KeyManagementServiceSpec
- func (in *KeyManagementServiceSpec) DeepCopy() *KeyManagementServiceSpec
- func (in *KeyManagementServiceSpec) DeepCopyInto(out *KeyManagementServiceSpec)
- func (kms *KeyManagementServiceSpec) IsAzureMS() bool
- func (kms *KeyManagementServiceSpec) IsEnabled() bool
- func (kms *KeyManagementServiceSpec) IsIBMKeyProtectKMS() bool
- func (kms *KeyManagementServiceSpec) IsK8sAuthEnabled() bool
- func (kms *KeyManagementServiceSpec) IsKMIPKMS() bool
- func (kms *KeyManagementServiceSpec) IsTLSEnabled() bool
- func (kms *KeyManagementServiceSpec) IsTokenAuthEnabled() bool
- func (kms *KeyManagementServiceSpec) IsVaultKMS() bool
- type KeyRotationSpec
- type KeyType
- type KeystoneSpec
- type Labels
- func GetCephExporterLabels(a LabelsSpec) Labels
- func GetCleanupLabels(a LabelsSpec) Labels
- func GetCmdReporterLabels(a LabelsSpec) Labels
- func GetCrashCollectorLabels(a LabelsSpec) Labels
- func GetDashboardLabels(a LabelsSpec) Labels
- func GetKeyRotationLabels(a LabelsSpec) Labels
- func GetMgrLabels(a LabelsSpec) Labels
- func GetMonLabels(a LabelsSpec) Labels
- func GetMonitoringLabels(a LabelsSpec) Labels
- func GetOSDLabels(a LabelsSpec) Labels
- func GetOSDPrepareLabels(a LabelsSpec) Labels
- type LabelsSpec
- type LogCollectorSpec
- type MetadataServerSpec
- type MgrSpec
- type MirrorHealthCheckSpec
- type MirroringInfoSpec
- type MirroringPeerSpec
- type MirroringSpec
- type MirroringStatusSpec
- type Module
- type ModuleSettings
- type MonSpec
- type MonZoneSpec
- type MonitoringSpec
- type MultiClusterServiceSpec
- type NFSGaneshaSpec
- type NFSSecuritySpec
- type NamedBlockPoolSpec
- type NamedPoolSpec
- type NetworkProviderType
- type NetworkSpec
- func (in *NetworkSpec) DeepCopy() *NetworkSpec
- func (in *NetworkSpec) DeepCopyInto(out *NetworkSpec)
- func (n *NetworkSpec) GetNetworkSelection(clusterNamespace string, network CephNetworkType) (*nadv1.NetworkSelectionElement, error)
- func (n *NetworkSpec) IsHost() bool
- func (n *NetworkSpec) IsMultus() bool
- func (n *NetworkSpec) NetworkHasSelection(network CephNetworkType) bool
- type Node
- type NodesByName
- type NotificationFilterRule
- type NotificationFilterSpec
- type NotificationKeyFilterRule
- type OSDStatus
- type OSDStore
- type ObjectEndpointSpec
- type ObjectEndpoints
- type ObjectHealthCheckSpec
- type ObjectRealmSpec
- type ObjectSharedPoolsSpec
- type ObjectStoreHostingSpec
- type ObjectStoreSecuritySpec
- type ObjectStoreSpec
- func (in *ObjectStoreSpec) DeepCopy() *ObjectStoreSpec
- func (in *ObjectStoreSpec) DeepCopyInto(out *ObjectStoreSpec)
- func (s *ObjectStoreSpec) GetPort() (int32, error)
- func (s *ObjectStoreSpec) GetServiceServingCert() string
- func (s *ObjectStoreSpec) IsExternal() bool
- func (s *ObjectStoreSpec) IsHostNetwork(c *ClusterSpec) bool
- func (s *ObjectStoreSpec) IsMultisite() bool
- func (s *ObjectStoreSpec) IsRGWDashboardEnabled() bool
- func (s *ObjectStoreSpec) IsTLSEnabled() bool
- type ObjectStoreStatus
- type ObjectStoreUserSpec
- type ObjectStoreUserStatus
- type ObjectUserCapSpec
- type ObjectUserQuotaSpec
- type ObjectZoneGroupSpec
- type ObjectZoneSpec
- type PeerRemoteSpec
- type PeerStatSpec
- type PeersSpec
- type Placement
- type PlacementSpec
- type PoolMirroringInfo
- type PoolMirroringStatus
- type PoolMirroringStatusSummarySpec
- type PoolSpec
- type PriorityClassNamesSpec
- type ProbeSpec
- type ProtocolSpec
- type PullSpec
- type QuotaSpec
- type RBDMirroringSpec
- type RGWServiceSpec
- type ReadAffinitySpec
- type ReplicatedSpec
- type ResourceSpec
- type S3Spec
- type SSSDSidecar
- type SSSDSidecarConfigFile
- type SSSDSpec
- type SanitizeDataSourceProperty
- type SanitizeDisksSpec
- type SanitizeMethodProperty
- type SecuritySpec
- type Selection
- type SnapshotSchedule
- type SnapshotScheduleRetentionSpec
- type SnapshotScheduleSpec
- type SnapshotScheduleStatusSpec
- type SnapshotSchedulesSpec
- type StatesSpec
- type Status
- type StorageClassDeviceSet
- type StorageScopeSpec
- func (s *StorageScopeSpec) AnyUseAllDevices() bool
- func (s *StorageScopeSpec) ClearUseAllDevices()
- func (in *StorageScopeSpec) DeepCopy() *StorageScopeSpec
- func (in *StorageScopeSpec) DeepCopyInto(out *StorageScopeSpec)
- func (s *StorageScopeSpec) GetOSDStore() string
- func (s *StorageScopeSpec) GetOSDStoreFlag() string
- func (s *StorageScopeSpec) IsOnPVCEncrypted() bool
- func (s *StorageScopeSpec) NodeExists(nodeName string) bool
- func (s *StorageScopeSpec) NodeWithNameExists(name string) bool
- func (s *StorageScopeSpec) ResolveNode(nodeName string) *Node
- type StoreType
- type StretchClusterSpec
- type SwiftSpec
- type TopicEndpointSpec
- type VolumeClaimTemplate
- type ZoneSpec
Constants ¶
const ( // SanitizeDataSourceZero uses /dev/zero as sanitize source SanitizeDataSourceZero SanitizeDataSourceProperty = "zero" // SanitizeDataSourceRandom uses `shred's default entropy source SanitizeDataSourceRandom SanitizeDataSourceProperty = "random" // SanitizeMethodComplete will sanitize everything on the disk SanitizeMethodComplete SanitizeMethodProperty = "complete" // SanitizeMethodQuick will sanitize metadata only on the disk SanitizeMethodQuick SanitizeMethodProperty = "quick" // DeleteDataDirOnHostsConfirmation represents the validation to destroy dataDirHostPath DeleteDataDirOnHostsConfirmation CleanupConfirmationProperty = "yes-really-destroy-data" )
const ( CustomResourceGroup = "ceph.rook.io" Version = "v1" )
const ( // ResourcesKeyMon represents the name of resource in the CR for a mon ResourcesKeyMon = "mon" // ResourcesKeyMgr represents the name of resource in the CR for a mgr ResourcesKeyMgr = "mgr" // ResourcesKeyMgrSidecar represents the name of resource in the CR for a mgr ResourcesKeyMgrSidecar = "mgr-sidecar" // ResourcesKeyOSD represents the name of a resource in the CR for all OSDs ResourcesKeyOSD = "osd" // ResourcesKeyPrepareOSD represents the name of resource in the CR for the osd prepare job ResourcesKeyPrepareOSD = "prepareosd" // ResourcesKeyMDS represents the name of resource in the CR for the mds ResourcesKeyMDS = "mds" // ResourcesKeyCrashCollector represents the name of resource in the CR for the crash ResourcesKeyCrashCollector = "crashcollector" // ResourcesKeyLogCollector represents the name of resource in the CR for the log ResourcesKeyLogCollector = "logcollector" // ResourcesKeyRBDMirror represents the name of resource in the CR for the rbd mirror ResourcesKeyRBDMirror = "rbdmirror" // ResourcesKeyFilesystemMirror represents the name of resource in the CR for the filesystem mirror ResourcesKeyFilesystemMirror = "fsmirror" // ResourcesKeyCleanup represents the name of resource in the CR for the cleanup ResourcesKeyCleanup = "cleanup" // ResourcesKeyCleanup represents the name of resource in the CR for ceph-exporter ResourcesKeyCephExporter = "exporter" )
const ( // DefaultFailureDomain for PoolSpec DefaultFailureDomain = "host" // DefaultCRUSHRoot is the default name of the CRUSH root bucket DefaultCRUSHRoot = "default" )
const ( NetworkProviderDefault = NetworkProviderType("") NetworkProviderHost = NetworkProviderType("host") NetworkProviderMultus = NetworkProviderType("multus") )
const ( CephNetworkPublic = CephNetworkType("public") CephNetworkCluster = CephNetworkType("cluster") )
const ServiceServingCertKey = "service.beta.openshift.io/serving-cert-secret-name"
const (
// SkipReconcileLabelKey is a label indicating that the pod should not be reconciled
SkipReconcileLabelKey = "ceph.rook.io/do-not-reconcile"
)
Variables ¶
var ( // SchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. SchemeBuilder runtime.SchemeBuilder AddToScheme = localSchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: cephrookio.CustomResourceGroupName, Version: Version}
SchemeGroupVersion is group version used to register these objects
var (
VaultTLSConnectionDetails = []string{api.EnvVaultCACert, api.EnvVaultClientCert, api.EnvVaultClientKey}
)
Functions ¶
func GetCephExporterPriorityClassName ¶
func GetCephExporterPriorityClassName(p PriorityClassNamesSpec) string
GetCephExporterPriorityClassName returns the priority class name for the ceph-exporter
func GetCephExporterResources ¶
func GetCephExporterResources(p ResourceSpec) v1.ResourceRequirements
GetCephExporterResources returns the placement for the cleanup job
func GetCleanupPriorityClassName ¶
func GetCleanupPriorityClassName(p PriorityClassNamesSpec) string
GetCleanupPriorityClassName returns the priority class name for the cleanup job
func GetCleanupResources ¶
func GetCleanupResources(p ResourceSpec) v1.ResourceRequirements
GetCleanupResources returns the placement for the cleanup job
func GetCrashCollectorPriorityClassName ¶
func GetCrashCollectorPriorityClassName(p PriorityClassNamesSpec) string
GetCrashCollectorPriorityClassName returns the priority class name for the crashcollector
func GetCrashCollectorResources ¶
func GetCrashCollectorResources(p ResourceSpec) v1.ResourceRequirements
GetCrashCollectorResources returns the placement for the crash daemon
func GetLogCollectorResources ¶
func GetLogCollectorResources(p ResourceSpec) v1.ResourceRequirements
GetLogCollectorResources returns the placement for the crash daemon
func GetMgrPriorityClassName ¶
func GetMgrPriorityClassName(p PriorityClassNamesSpec) string
GetMgrPriorityClassName returns the priority class name for the MGR service
func GetMgrResources ¶
func GetMgrResources(p ResourceSpec) v1.ResourceRequirements
GetMgrResources returns the placement for the MGR service
func GetMgrSidecarResources ¶
func GetMgrSidecarResources(p ResourceSpec) v1.ResourceRequirements
GetMgrSidecarResources returns the placement for the MGR sidecar container
func GetMonPriorityClassName ¶
func GetMonPriorityClassName(p PriorityClassNamesSpec) string
GetMonPriorityClassName returns the priority class name for the monitors
func GetMonResources ¶
func GetMonResources(p ResourceSpec) v1.ResourceRequirements
GetMonResources returns the placement for the monitors
func GetOSDPriorityClassName ¶
func GetOSDPriorityClassName(p PriorityClassNamesSpec) string
GetOSDPriorityClassName returns the priority class name for the OSDs
func GetOSDResources ¶
func GetOSDResources(p ResourceSpec, deviceClass string) v1.ResourceRequirements
GetOSDResources returns the placement for all OSDs or for OSDs of specified device class (hdd, nvme, ssd)
func GetPrepareOSDResources ¶
func GetPrepareOSDResources(p ResourceSpec) v1.ResourceRequirements
GetPrepareOSDResources returns the placement for the OSDs prepare job
func NetworkSelectionsToAnnotationValue ¶
func NetworkSelectionsToAnnotationValue(selections ...*nadv1.NetworkSelectionElement) (string, error)
NetworkSelectionsToAnnotationValue converts NetworkAttachmentDefinition network selection elements to an annotation value for the "k8s.v1.cni.cncf.io/networks" annotation key.
func NewSecurityContextConstraints ¶
func NewSecurityContextConstraints(name string, namespaces ...string) *secv1.SecurityContextConstraints
NewSecurityContextConstraints returns a new SecurityContextConstraints for Rook-Ceph to run on OpenShift.
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
func SetStatusCondition ¶
SetStatusCondition sets the corresponding condition in conditions to newCondition. conditions must be non-nil.
- if the condition of the specified type already exists (all fields of the existing condition are updated to newCondition, LastTransitionTime is set to now if the new status differs from the old status)
- if a condition of the specified type does not exist (LastTransitionTime is set to now() if unset, and newCondition is appended)
func ToValidDNSLabel ¶
ToValidDNSLabel converts a given string to a valid DNS-1035 spec label. The DNS-1035 spec follows the regex '[a-z]([-a-z0-9]*[a-z0-9])?' and is at most 63 chars long. DNS-1035 is used over DNS-1123 because it is more strict. Kubernetes docs are not always clear when a DNS_LABEL is supposed to be 1035 or 1123 compliant, so we use the more strict version for ease of use.
- Any input symbol that is not valid is converted to a dash ('-').
- Multiple resultant dashes in a row are compressed to a single dash.
- If the starting character is a number, a 'd' is prepended to preserve the number.
- Any non-alphanumeric starting or ending characters are removed.
- If the resultant string is longer than the maximum-allowed 63 characters], characters are removed from the middle and replaced with a double dash ('--') to reduce the string to 63 characters.
func ValidateAMQPSpec ¶
func ValidateAMQPSpec(s *AMQPEndpointSpec) error
func ValidateCephBlockPool ¶
func ValidateCephBlockPool(p *CephBlockPool) error
ValidateCephBlockPool validates specifically a CephBlockPool's spec (not just any NamedPoolSpec)
func ValidateHTTPSpec ¶
func ValidateHTTPSpec(s *HTTPEndpointSpec) error
func ValidateKafkaSpec ¶
func ValidateKafkaSpec(s *KafkaEndpointSpec) error
func ValidateNetworkSpec ¶
func ValidateNetworkSpec(clusterNamespace string, spec NetworkSpec) error
func ValidateNetworkSpecUpdate ¶
func ValidateNetworkSpecUpdate(clusterNamespace string, oldSpec, newSpec NetworkSpec) error
func ValidateObjectSpec ¶
func ValidateObjectSpec(gs *CephObjectStore) error
ValidateObjectSpec validate the object store arguments
Types ¶
type AMQPEndpointSpec ¶
type AMQPEndpointSpec struct { // The URI of the AMQP endpoint to push notification to // +kubebuilder:validation:MinLength=1 URI string `json:"uri"` // Name of the exchange that is used to route messages based on topics // +kubebuilder:validation:MinLength=1 Exchange string `json:"exchange"` // Indicate whether the server certificate is validated by the client or not // +optional DisableVerifySSL bool `json:"disableVerifySSL,omitempty"` // The ack level required for this topic (none/broker/routeable) // +kubebuilder:validation:Enum=none;broker;routeable // +kubebuilder:default=broker // +optional AckLevel string `json:"ackLevel,omitempty"` }
AMQPEndpointSpec represent the spec of an AMQP endpoint of a Bucket Topic
func (*AMQPEndpointSpec) DeepCopy ¶
func (in *AMQPEndpointSpec) DeepCopy() *AMQPEndpointSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AMQPEndpointSpec.
func (*AMQPEndpointSpec) DeepCopyInto ¶
func (in *AMQPEndpointSpec) DeepCopyInto(out *AMQPEndpointSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AdditionalVolumeMount ¶
type AdditionalVolumeMount struct { // SubPath defines the sub-path (subdirectory) of the directory root where the volumeSource will // be mounted. All files/keys in the volume source's volume will be mounted to the subdirectory. // This is not the same as the Kubernetes `subPath` volume mount option. // Each subPath definition must be unique and must not contain ':'. // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:Pattern=`^[^:]+$` SubPath string `json:"subPath"` // VolumeSource accepts a pared down version of the standard Kubernetes VolumeSource for the // additional file(s) like what is normally used to configure Volumes for a Pod. Fore example, a // ConfigMap, Secret, or HostPath. Each VolumeSource adds one or more additional files to the // container `<directory-root>/<subPath>` directory. // Be aware that some files may need to have a specific file mode like 0600 due to application // requirements. For example, CA or TLS certificates. VolumeSource *ConfigFileVolumeSource `json:"volumeSource"` }
AdditionalVolumeMount represents the source from where additional files in pod containers should come from and what subdirectory they are made available in.
func (*AdditionalVolumeMount) DeepCopy ¶
func (in *AdditionalVolumeMount) DeepCopy() *AdditionalVolumeMount
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdditionalVolumeMount.
func (*AdditionalVolumeMount) DeepCopyInto ¶
func (in *AdditionalVolumeMount) DeepCopyInto(out *AdditionalVolumeMount)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AdditionalVolumeMounts ¶
type AdditionalVolumeMounts []AdditionalVolumeMount
func (AdditionalVolumeMounts) DeepCopy ¶
func (in AdditionalVolumeMounts) DeepCopy() AdditionalVolumeMounts
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdditionalVolumeMounts.
func (AdditionalVolumeMounts) DeepCopyInto ¶
func (in AdditionalVolumeMounts) DeepCopyInto(out *AdditionalVolumeMounts)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AdditionalVolumeMounts) GenerateVolumesAndMounts ¶
func (v *AdditionalVolumeMounts) GenerateVolumesAndMounts(rootDir string) ([]v1.Volume, []v1.VolumeMount)
GenerateVolumesAndMounts converts Rook's AdditionalVolumeMounts type to a list of volumes and corresponding mounts that can be added to Kubernetes pod specs.
type AddressRangesSpec ¶
type AddressRangesSpec struct { // Public defines a list of CIDRs to use for Ceph public network communication. // +optional Public CIDRList `json:"public"` // Cluster defines a list of CIDRs to use for Ceph cluster network communication. // +optional Cluster CIDRList `json:"cluster"` }
func (*AddressRangesSpec) DeepCopy ¶
func (in *AddressRangesSpec) DeepCopy() *AddressRangesSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddressRangesSpec.
func (*AddressRangesSpec) DeepCopyInto ¶
func (in *AddressRangesSpec) DeepCopyInto(out *AddressRangesSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AddressRangesSpec) IsEmpty ¶
func (n *AddressRangesSpec) IsEmpty() bool
func (*AddressRangesSpec) Validate ¶
func (n *AddressRangesSpec) Validate() error
type Annotations ¶
Annotations are annotations
func GetCephExporterAnnotations ¶
func GetCephExporterAnnotations(a AnnotationsSpec) Annotations
GetCephExporterAnnotations returns the Annotations for the MGR service
func GetCleanupAnnotations ¶
func GetCleanupAnnotations(a AnnotationsSpec) Annotations
GetCleanupAnnotations returns the Annotations for the cleanup job
func GetClusterMetadataAnnotations ¶
func GetClusterMetadataAnnotations(a AnnotationsSpec) Annotations
func GetCmdReporterAnnotations ¶
func GetCmdReporterAnnotations(a AnnotationsSpec) Annotations
GetCmdReporterAnnotations returns the Annotations for jobs detecting versions
func GetDashboardAnnotations ¶
func GetDashboardAnnotations(a AnnotationsSpec) Annotations
GetDashboardAnnotations returns the Annotations for the Dashboard service
func GetKeyRotationAnnotations ¶
func GetKeyRotationAnnotations(a AnnotationsSpec) Annotations
GetKeyRotationAnnotations returns the annotations for the key rotation job
func GetMgrAnnotations ¶
func GetMgrAnnotations(a AnnotationsSpec) Annotations
GetMgrAnnotations returns the Annotations for the MGR service
func GetMonAnnotations ¶
func GetMonAnnotations(a AnnotationsSpec) Annotations
GetMonAnnotations returns the Annotations for the MON service
func GetOSDAnnotations ¶
func GetOSDAnnotations(a AnnotationsSpec) Annotations
GetOSDAnnotations returns the annotations for the OSD service
func GetOSDPrepareAnnotations ¶
func GetOSDPrepareAnnotations(a AnnotationsSpec) Annotations
GetOSDPrepareAnnotations returns the annotations for the OSD service
func (Annotations) ApplyToObjectMeta ¶
func (a Annotations) ApplyToObjectMeta(t *metav1.ObjectMeta)
ApplyToObjectMeta adds annotations to object meta unless the keys are already defined.
func (Annotations) DeepCopy ¶
func (in Annotations) DeepCopy() Annotations
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Annotations.
func (Annotations) DeepCopyInto ¶
func (in Annotations) DeepCopyInto(out *Annotations)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Annotations) Merge ¶
func (a Annotations) Merge(with map[string]string) Annotations
Merge returns an Annotations which results from merging the attributes of the original Annotations with the attributes of the supplied one. The supplied Annotation attributes will override the original ones if defined.
type AnnotationsSpec ¶
type AnnotationsSpec map[KeyType]Annotations
AnnotationsSpec is the main spec annotation for all daemons +kubebuilder:pruning:PreserveUnknownFields +nullable
func (AnnotationsSpec) All ¶
func (a AnnotationsSpec) All() Annotations
func (AnnotationsSpec) DeepCopy ¶
func (in AnnotationsSpec) DeepCopy() AnnotationsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AnnotationsSpec.
func (AnnotationsSpec) DeepCopyInto ¶
func (in AnnotationsSpec) DeepCopyInto(out *AnnotationsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AuthSpec ¶
type AuthSpec struct { // The spec for Keystone // +optional // +nullable Keystone *KeystoneSpec `json:"keystone,omitempty"` }
AuthSpec represents the authentication protocol configuration of a Ceph Object Store Gateway
func (*AuthSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthSpec.
func (*AuthSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BucketNotificationEvent ¶
type BucketNotificationEvent string
BucketNotificationSpec represent the event type of the bucket notification +kubebuilder:validation:Enum="s3:ObjectCreated:*";"s3:ObjectCreated:Put";"s3:ObjectCreated:Post";"s3:ObjectCreated:Copy";"s3:ObjectCreated:CompleteMultipartUpload";"s3:ObjectRemoved:*";"s3:ObjectRemoved:Delete";"s3:ObjectRemoved:DeleteMarkerCreated"
type BucketNotificationSpec ¶
type BucketNotificationSpec struct { // The name of the topic associated with this notification // +kubebuilder:validation:MinLength=1 Topic string `json:"topic"` // List of events that should trigger the notification // +optional Events []BucketNotificationEvent `json:"events,omitempty"` // Spec of notification filter // +optional Filter *NotificationFilterSpec `json:"filter,omitempty"` }
BucketNotificationSpec represent the spec of a Bucket Notification
func (*BucketNotificationSpec) DeepCopy ¶
func (in *BucketNotificationSpec) DeepCopy() *BucketNotificationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketNotificationSpec.
func (*BucketNotificationSpec) DeepCopyInto ¶
func (in *BucketNotificationSpec) DeepCopyInto(out *BucketNotificationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BucketTopicSpec ¶
type BucketTopicSpec struct { // The name of the object store on which to define the topic // +kubebuilder:validation:MinLength=1 ObjectStoreName string `json:"objectStoreName"` // The namespace of the object store on which to define the topic // +kubebuilder:validation:MinLength=1 ObjectStoreNamespace string `json:"objectStoreNamespace"` // Data which is sent in each event // +optional OpaqueData string `json:"opaqueData,omitempty"` // Indication whether notifications to this endpoint are persistent or not // +optional Persistent bool `json:"persistent,omitempty"` // Contains the endpoint spec of the topic Endpoint TopicEndpointSpec `json:"endpoint"` }
BucketTopicSpec represent the spec of a Bucket Topic
func (*BucketTopicSpec) DeepCopy ¶
func (in *BucketTopicSpec) DeepCopy() *BucketTopicSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketTopicSpec.
func (*BucketTopicSpec) DeepCopyInto ¶
func (in *BucketTopicSpec) DeepCopyInto(out *BucketTopicSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BucketTopicStatus ¶
type BucketTopicStatus struct { // +optional Phase string `json:"phase,omitempty"` // The ARN of the topic generated by the RGW // +optional // +nullable ARN *string `json:"ARN,omitempty"` // ObservedGeneration is the latest generation observed by the controller. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` }
BucketTopicStatus represents the Status of a CephBucketTopic
func (*BucketTopicStatus) DeepCopy ¶
func (in *BucketTopicStatus) DeepCopy() *BucketTopicStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketTopicStatus.
func (*BucketTopicStatus) DeepCopyInto ¶
func (in *BucketTopicStatus) DeepCopyInto(out *BucketTopicStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CIDR ¶
type CIDR string
An IPv4 or IPv6 network CIDR.
This naive kubebuilder regex provides immediate feedback for some typos and for a common problem case where the range spec is forgotten (e.g., /24). Rook does in-depth validation in code. +kubebuilder:validation:Pattern=`^[0-9a-fA-F:.]{2,}\/[0-9]{1,3}$`
type CIDRList ¶
type CIDRList []CIDR
A list of CIDRs.
func (CIDRList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CIDRList.
func (CIDRList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type COSIDeploymentStrategy ¶
type COSIDeploymentStrategy string
COSIDeploymentStrategy represents the strategy to use to deploy the Ceph COSI driver
const ( // Never means the Ceph COSI driver will never deployed COSIDeploymentStrategyNever COSIDeploymentStrategy = "Never" // Auto means the Ceph COSI driver will be deployed automatically if object store is present COSIDeploymentStrategyAuto COSIDeploymentStrategy = "Auto" // Always means the Ceph COSI driver will be deployed even if the object store is not present COSIDeploymentStrategyAlways COSIDeploymentStrategy = "Always" )
type CSICephFSSpec ¶
type CSICephFSSpec struct { // KernelMountOptions defines the mount options for kernel mounter. // +optional KernelMountOptions string `json:"kernelMountOptions,omitempty"` // FuseMountOptions defines the mount options for ceph fuse mounter. // +optional FuseMountOptions string `json:"fuseMountOptions,omitempty"` }
CSICephFSSpec defines the settings for CephFS CSI driver.
func (*CSICephFSSpec) DeepCopy ¶
func (in *CSICephFSSpec) DeepCopy() *CSICephFSSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CSICephFSSpec.
func (*CSICephFSSpec) DeepCopyInto ¶
func (in *CSICephFSSpec) DeepCopyInto(out *CSICephFSSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CSIDriverSpec ¶
type CSIDriverSpec struct { // ReadAffinity defines the read affinity settings for CSI driver. // +optional ReadAffinity ReadAffinitySpec `json:"readAffinity"` // CephFS defines CSI Driver settings for CephFS driver. // +optional CephFS CSICephFSSpec `json:"cephfs,omitempty"` }
CSIDriverSpec defines CSI Driver settings applied per cluster.
func (*CSIDriverSpec) DeepCopy ¶
func (in *CSIDriverSpec) DeepCopy() *CSIDriverSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CSIDriverSpec.
func (*CSIDriverSpec) DeepCopyInto ¶
func (in *CSIDriverSpec) DeepCopyInto(out *CSIDriverSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Capacity ¶
type Capacity struct { TotalBytes uint64 `json:"bytesTotal,omitempty"` UsedBytes uint64 `json:"bytesUsed,omitempty"` AvailableBytes uint64 `json:"bytesAvailable,omitempty"` LastUpdated string `json:"lastUpdated,omitempty"` }
Capacity is the capacity information of a Ceph Cluster
func (*Capacity) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Capacity.
func (*Capacity) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CephBlockPool ¶
type CephBlockPool struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec NamedBlockPoolSpec `json:"spec"` // +kubebuilder:pruning:PreserveUnknownFields Status *CephBlockPoolStatus `json:"status,omitempty"` }
CephBlockPool represents a Ceph Storage Pool +kubebuilder:printcolumn:name="Phase",type=string,JSONPath=`.status.phase` +kubebuilder:printcolumn:name="Type",type=string,JSONPath=`.status.info.type` +kubebuilder:printcolumn:name="FailureDomain",type=string,JSONPath=`.status.info.failureDomain` +kubebuilder:printcolumn:name="Replication",type=integer,JSONPath=`.spec.replicated.size`,priority=1 +kubebuilder:printcolumn:name="EC-CodingChunks",type=integer,JSONPath=`.spec.erasureCoded.codingChunks`,priority=1 +kubebuilder:printcolumn:name="EC-DataChunks",type=integer,JSONPath=`.spec.erasureCoded.dataChunks`,priority=1 +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +kubebuilder:subresource:status
func (*CephBlockPool) DeepCopy ¶
func (in *CephBlockPool) DeepCopy() *CephBlockPool
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephBlockPool.
func (*CephBlockPool) DeepCopyInto ¶
func (in *CephBlockPool) DeepCopyInto(out *CephBlockPool)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephBlockPool) DeepCopyObject ¶
func (in *CephBlockPool) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CephBlockPool) GetStatusConditions ¶
func (p *CephBlockPool) GetStatusConditions() *[]Condition
func (*CephBlockPool) ToNamedPoolSpec ¶
func (p *CephBlockPool) ToNamedPoolSpec() NamedPoolSpec
type CephBlockPoolList ¶
type CephBlockPoolList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CephBlockPool `json:"items"` }
CephBlockPoolList is a list of Ceph Storage Pools +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*CephBlockPoolList) DeepCopy ¶
func (in *CephBlockPoolList) DeepCopy() *CephBlockPoolList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephBlockPoolList.
func (*CephBlockPoolList) DeepCopyInto ¶
func (in *CephBlockPoolList) DeepCopyInto(out *CephBlockPoolList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephBlockPoolList) DeepCopyObject ¶
func (in *CephBlockPoolList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CephBlockPoolRadosNamespace ¶
type CephBlockPoolRadosNamespace struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` // Spec represents the specification of a Ceph BlockPool Rados Namespace Spec CephBlockPoolRadosNamespaceSpec `json:"spec"` // Status represents the status of a CephBlockPool Rados Namespace // +kubebuilder:pruning:PreserveUnknownFields // +optional Status *CephBlockPoolRadosNamespaceStatus `json:"status,omitempty"` }
+genclient +genclient:noStatus +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object CephBlockPoolRadosNamespace represents a Ceph BlockPool Rados Namespace +kubebuilder:printcolumn:name="Phase",type=string,JSONPath=`.status.phase` +kubebuilder:printcolumn:name="BlockPool",type=string,JSONPath=`.spec.blockPoolName`,description="Name of the Ceph BlockPool" +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +kubebuilder:subresource:status
func (*CephBlockPoolRadosNamespace) DeepCopy ¶
func (in *CephBlockPoolRadosNamespace) DeepCopy() *CephBlockPoolRadosNamespace
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephBlockPoolRadosNamespace.
func (*CephBlockPoolRadosNamespace) DeepCopyInto ¶
func (in *CephBlockPoolRadosNamespace) DeepCopyInto(out *CephBlockPoolRadosNamespace)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephBlockPoolRadosNamespace) DeepCopyObject ¶
func (in *CephBlockPoolRadosNamespace) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CephBlockPoolRadosNamespaceList ¶
type CephBlockPoolRadosNamespaceList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CephBlockPoolRadosNamespace `json:"items"` }
CephBlockPoolRadosNamespaceList represents a list of Ceph BlockPool Rados Namespace
func (*CephBlockPoolRadosNamespaceList) DeepCopy ¶
func (in *CephBlockPoolRadosNamespaceList) DeepCopy() *CephBlockPoolRadosNamespaceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephBlockPoolRadosNamespaceList.
func (*CephBlockPoolRadosNamespaceList) DeepCopyInto ¶
func (in *CephBlockPoolRadosNamespaceList) DeepCopyInto(out *CephBlockPoolRadosNamespaceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephBlockPoolRadosNamespaceList) DeepCopyObject ¶
func (in *CephBlockPoolRadosNamespaceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CephBlockPoolRadosNamespaceSpec ¶
type CephBlockPoolRadosNamespaceSpec struct { // The name of the CephBlockPoolRadosNamespaceSpec namespace. If not set, the default is the name of the CR. // +kubebuilder:validation:XValidation:message="name is immutable",rule="self == oldSelf" // +optional Name string `json:"name,omitempty"` // BlockPoolName is the name of Ceph BlockPool. Typically it's the name of // the CephBlockPool CR. // +kubebuilder:validation:XValidation:message="blockPoolName is immutable",rule="self == oldSelf" BlockPoolName string `json:"blockPoolName"` }
CephBlockPoolRadosNamespaceSpec represents the specification of a CephBlockPool Rados Namespace
func (*CephBlockPoolRadosNamespaceSpec) DeepCopy ¶
func (in *CephBlockPoolRadosNamespaceSpec) DeepCopy() *CephBlockPoolRadosNamespaceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephBlockPoolRadosNamespaceSpec.
func (*CephBlockPoolRadosNamespaceSpec) DeepCopyInto ¶
func (in *CephBlockPoolRadosNamespaceSpec) DeepCopyInto(out *CephBlockPoolRadosNamespaceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CephBlockPoolRadosNamespaceStatus ¶
type CephBlockPoolRadosNamespaceStatus struct { // +optional Phase ConditionType `json:"phase,omitempty"` // +optional // +nullable Info map[string]string `json:"info,omitempty"` }
CephBlockPoolRadosNamespaceStatus represents the Status of Ceph BlockPool Rados Namespace
func (*CephBlockPoolRadosNamespaceStatus) DeepCopy ¶
func (in *CephBlockPoolRadosNamespaceStatus) DeepCopy() *CephBlockPoolRadosNamespaceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephBlockPoolRadosNamespaceStatus.
func (*CephBlockPoolRadosNamespaceStatus) DeepCopyInto ¶
func (in *CephBlockPoolRadosNamespaceStatus) DeepCopyInto(out *CephBlockPoolRadosNamespaceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CephBlockPoolStatus ¶
type CephBlockPoolStatus struct { // +optional Phase ConditionType `json:"phase,omitempty"` // +optional MirroringStatus *MirroringStatusSpec `json:"mirroringStatus,omitempty"` // +optional MirroringInfo *MirroringInfoSpec `json:"mirroringInfo,omitempty"` // +optional SnapshotScheduleStatus *SnapshotScheduleStatusSpec `json:"snapshotScheduleStatus,omitempty"` // +optional // +nullable Info map[string]string `json:"info,omitempty"` // ObservedGeneration is the latest generation observed by the controller. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` Conditions []Condition `json:"conditions,omitempty"` }
CephBlockPoolStatus represents the mirroring status of Ceph Storage Pool
func (*CephBlockPoolStatus) DeepCopy ¶
func (in *CephBlockPoolStatus) DeepCopy() *CephBlockPoolStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephBlockPoolStatus.
func (*CephBlockPoolStatus) DeepCopyInto ¶
func (in *CephBlockPoolStatus) DeepCopyInto(out *CephBlockPoolStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CephBucketNotification ¶
type CephBucketNotification struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec BucketNotificationSpec `json:"spec"` // +kubebuilder:pruning:PreserveUnknownFields // +optional Status *Status `json:"status,omitempty"` }
CephBucketNotification represents a Bucket Notifications +kubebuilder:subresource:status
func (*CephBucketNotification) DeepCopy ¶
func (in *CephBucketNotification) DeepCopy() *CephBucketNotification
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephBucketNotification.
func (*CephBucketNotification) DeepCopyInto ¶
func (in *CephBucketNotification) DeepCopyInto(out *CephBucketNotification)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephBucketNotification) DeepCopyObject ¶
func (in *CephBucketNotification) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CephBucketNotificationList ¶
type CephBucketNotificationList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CephBucketNotification `json:"items"` }
CephBucketNotificationList represents a list Ceph Object Store Bucket Notification Topics +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*CephBucketNotificationList) DeepCopy ¶
func (in *CephBucketNotificationList) DeepCopy() *CephBucketNotificationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephBucketNotificationList.
func (*CephBucketNotificationList) DeepCopyInto ¶
func (in *CephBucketNotificationList) DeepCopyInto(out *CephBucketNotificationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephBucketNotificationList) DeepCopyObject ¶
func (in *CephBucketNotificationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CephBucketTopic ¶
type CephBucketTopic struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec BucketTopicSpec `json:"spec"` // +kubebuilder:pruning:PreserveUnknownFields // +optional Status *BucketTopicStatus `json:"status,omitempty"` }
CephBucketTopic represents a Ceph Object Topic for Bucket Notifications +kubebuilder:printcolumn:name="Phase",type=string,JSONPath=`.status.phase` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +kubebuilder:subresource:status
func (*CephBucketTopic) DeepCopy ¶
func (in *CephBucketTopic) DeepCopy() *CephBucketTopic
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephBucketTopic.
func (*CephBucketTopic) DeepCopyInto ¶
func (in *CephBucketTopic) DeepCopyInto(out *CephBucketTopic)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephBucketTopic) DeepCopyObject ¶
func (in *CephBucketTopic) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CephBucketTopic) ValidateTopicSpec ¶
func (t *CephBucketTopic) ValidateTopicSpec() error
ValidateTopicSpec validate the bucket notification topic arguments
type CephBucketTopicList ¶
type CephBucketTopicList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CephBucketTopic `json:"items"` }
CephBucketTopicList represents a list Ceph Object Store Bucket Notification Topics +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*CephBucketTopicList) DeepCopy ¶
func (in *CephBucketTopicList) DeepCopy() *CephBucketTopicList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephBucketTopicList.
func (*CephBucketTopicList) DeepCopyInto ¶
func (in *CephBucketTopicList) DeepCopyInto(out *CephBucketTopicList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephBucketTopicList) DeepCopyObject ¶
func (in *CephBucketTopicList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CephCOSIDriver ¶
type CephCOSIDriver struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` // Spec represents the specification of a Ceph COSI Driver Spec CephCOSIDriverSpec `json:"spec"` }
CephCOSIDriver represents the CRD for the Ceph COSI Driver Deployment +kubebuilder:resource:shortName=cephcosi
func (*CephCOSIDriver) DeepCopy ¶
func (in *CephCOSIDriver) DeepCopy() *CephCOSIDriver
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephCOSIDriver.
func (*CephCOSIDriver) DeepCopyInto ¶
func (in *CephCOSIDriver) DeepCopyInto(out *CephCOSIDriver)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephCOSIDriver) DeepCopyObject ¶
func (in *CephCOSIDriver) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CephCOSIDriverList ¶
type CephCOSIDriverList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CephCOSIDriver `json:"items"` }
CephCOSIDriverList represents a list of Ceph COSI Driver +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*CephCOSIDriverList) DeepCopy ¶
func (in *CephCOSIDriverList) DeepCopy() *CephCOSIDriverList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephCOSIDriverList.
func (*CephCOSIDriverList) DeepCopyInto ¶
func (in *CephCOSIDriverList) DeepCopyInto(out *CephCOSIDriverList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephCOSIDriverList) DeepCopyObject ¶
func (in *CephCOSIDriverList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CephCOSIDriverSpec ¶
type CephCOSIDriverSpec struct { // Image is the container image to run the Ceph COSI driver // +optional Image string `json:"image,omitempty"` // ObjectProvisionerImage is the container image to run the COSI driver sidecar // +optional ObjectProvisionerImage string `json:"objectProvisionerImage,omitempty"` // DeploymentStrategy is the strategy to use to deploy the COSI driver. // +optional // +kubebuilder:validation:Enum=Never;Auto;Always DeploymentStrategy COSIDeploymentStrategy `json:"deploymentStrategy,omitempty"` // Placement is the placement strategy to use for the COSI driver // +optional Placement Placement `json:"placement,omitempty"` // Resources is the resource requirements for the COSI driver // +optional Resources v1.ResourceRequirements `json:"resources,omitempty"` }
CephCOSIDriverSpec represents the specification of a Ceph COSI Driver
func (*CephCOSIDriverSpec) DeepCopy ¶
func (in *CephCOSIDriverSpec) DeepCopy() *CephCOSIDriverSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephCOSIDriverSpec.
func (*CephCOSIDriverSpec) DeepCopyInto ¶
func (in *CephCOSIDriverSpec) DeepCopyInto(out *CephCOSIDriverSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CephClient ¶
type CephClient struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` // Spec represents the specification of a Ceph Client Spec ClientSpec `json:"spec"` // Status represents the status of a Ceph Client // +kubebuilder:pruning:PreserveUnknownFields // +optional Status *CephClientStatus `json:"status,omitempty"` }
CephClient represents a Ceph Client +kubebuilder:printcolumn:name="Phase",type=string,JSONPath=`.status.phase` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +kubebuilder:subresource:status
func (*CephClient) DeepCopy ¶
func (in *CephClient) DeepCopy() *CephClient
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephClient.
func (*CephClient) DeepCopyInto ¶
func (in *CephClient) DeepCopyInto(out *CephClient)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephClient) DeepCopyObject ¶
func (in *CephClient) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CephClientList ¶
type CephClientList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CephClient `json:"items"` }
CephClientList represents a list of Ceph Clients
func (*CephClientList) DeepCopy ¶
func (in *CephClientList) DeepCopy() *CephClientList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephClientList.
func (*CephClientList) DeepCopyInto ¶
func (in *CephClientList) DeepCopyInto(out *CephClientList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephClientList) DeepCopyObject ¶
func (in *CephClientList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CephClientStatus ¶
type CephClientStatus struct { // +optional Phase ConditionType `json:"phase,omitempty"` // +optional // +nullable Info map[string]string `json:"info,omitempty"` // ObservedGeneration is the latest generation observed by the controller. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` }
CephClientStatus represents the Status of Ceph Client
func (*CephClientStatus) DeepCopy ¶
func (in *CephClientStatus) DeepCopy() *CephClientStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephClientStatus.
func (*CephClientStatus) DeepCopyInto ¶
func (in *CephClientStatus) DeepCopyInto(out *CephClientStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CephCluster ¶
type CephCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec ClusterSpec `json:"spec"` // +kubebuilder:pruning:PreserveUnknownFields // +optional // +nullable Status ClusterStatus `json:"status,omitempty"` }
CephCluster is a Ceph storage cluster +kubebuilder:printcolumn:name="DataDirHostPath",type=string,JSONPath=`.spec.dataDirHostPath`,description="Directory used on the K8s nodes" +kubebuilder:printcolumn:name="MonCount",type=string,JSONPath=`.spec.mon.count`,description="Number of MONs" +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +kubebuilder:printcolumn:name="Phase",type=string,JSONPath=`.status.phase` +kubebuilder:printcolumn:name="Message",type=string,JSONPath=`.status.message`,description="Message" +kubebuilder:printcolumn:name="Health",type=string,JSONPath=`.status.ceph.health`,description="Ceph Health" +kubebuilder:printcolumn:name="External",type=boolean,JSONPath=`.spec.external.enable` +kubebuilder:printcolumn:name="FSID",type=string,JSONPath=`.status.ceph.fsid`,description="Ceph FSID" +kubebuilder:subresource:status
func (*CephCluster) DeepCopy ¶
func (in *CephCluster) DeepCopy() *CephCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephCluster.
func (*CephCluster) DeepCopyInto ¶
func (in *CephCluster) DeepCopyInto(out *CephCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephCluster) DeepCopyObject ¶
func (in *CephCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CephCluster) GetStatusConditions ¶
func (c *CephCluster) GetStatusConditions() *[]Condition
type CephClusterHealthCheckSpec ¶
type CephClusterHealthCheckSpec struct { // DaemonHealth is the health check for a given daemon // +optional // +nullable DaemonHealth DaemonHealthSpec `json:"daemonHealth,omitempty"` // LivenessProbe allows changing the livenessProbe configuration for a given daemon // +optional LivenessProbe map[KeyType]*ProbeSpec `json:"livenessProbe,omitempty"` // StartupProbe allows changing the startupProbe configuration for a given daemon // +optional StartupProbe map[KeyType]*ProbeSpec `json:"startupProbe,omitempty"` }
CephClusterHealthCheckSpec represent the healthcheck for Ceph daemons
func (*CephClusterHealthCheckSpec) DeepCopy ¶
func (in *CephClusterHealthCheckSpec) DeepCopy() *CephClusterHealthCheckSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephClusterHealthCheckSpec.
func (*CephClusterHealthCheckSpec) DeepCopyInto ¶
func (in *CephClusterHealthCheckSpec) DeepCopyInto(out *CephClusterHealthCheckSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CephClusterList ¶
type CephClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CephCluster `json:"items"` }
CephClusterList is a list of CephCluster
func (*CephClusterList) DeepCopy ¶
func (in *CephClusterList) DeepCopy() *CephClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephClusterList.
func (*CephClusterList) DeepCopyInto ¶
func (in *CephClusterList) DeepCopyInto(out *CephClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephClusterList) DeepCopyObject ¶
func (in *CephClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CephDaemonsVersions ¶
type CephDaemonsVersions struct { // Mon shows Mon Ceph version // +optional Mon map[string]int `json:"mon,omitempty"` // Mgr shows Mgr Ceph version // +optional Mgr map[string]int `json:"mgr,omitempty"` // Osd shows Osd Ceph version // +optional Osd map[string]int `json:"osd,omitempty"` // Rgw shows Rgw Ceph version // +optional Rgw map[string]int `json:"rgw,omitempty"` // Mds shows Mds Ceph version // +optional Mds map[string]int `json:"mds,omitempty"` // RbdMirror shows RbdMirror Ceph version // +optional RbdMirror map[string]int `json:"rbd-mirror,omitempty"` // CephFSMirror shows CephFSMirror Ceph version // +optional CephFSMirror map[string]int `json:"cephfs-mirror,omitempty"` // Overall shows overall Ceph version // +optional Overall map[string]int `json:"overall,omitempty"` }
CephDaemonsVersions show the current ceph version for different ceph daemons
func (*CephDaemonsVersions) DeepCopy ¶
func (in *CephDaemonsVersions) DeepCopy() *CephDaemonsVersions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephDaemonsVersions.
func (*CephDaemonsVersions) DeepCopyInto ¶
func (in *CephDaemonsVersions) DeepCopyInto(out *CephDaemonsVersions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CephFilesystem ¶
type CephFilesystem struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec FilesystemSpec `json:"spec"` // +kubebuilder:pruning:PreserveUnknownFields Status *CephFilesystemStatus `json:"status,omitempty"` }
CephFilesystem represents a Ceph Filesystem +kubebuilder:printcolumn:name="ActiveMDS",type=string,JSONPath=`.spec.metadataServer.activeCount`,description="Number of desired active MDS daemons" +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +kubebuilder:printcolumn:name="Phase",type=string,JSONPath=`.status.phase` +kubebuilder:subresource:status
func (*CephFilesystem) DeepCopy ¶
func (in *CephFilesystem) DeepCopy() *CephFilesystem
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephFilesystem.
func (*CephFilesystem) DeepCopyInto ¶
func (in *CephFilesystem) DeepCopyInto(out *CephFilesystem)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephFilesystem) DeepCopyObject ¶
func (in *CephFilesystem) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CephFilesystem) GetStatusConditions ¶
func (c *CephFilesystem) GetStatusConditions() *[]Condition
type CephFilesystemList ¶
type CephFilesystemList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CephFilesystem `json:"items"` }
CephFilesystemList represents a list of Ceph Filesystems
func (*CephFilesystemList) DeepCopy ¶
func (in *CephFilesystemList) DeepCopy() *CephFilesystemList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephFilesystemList.
func (*CephFilesystemList) DeepCopyInto ¶
func (in *CephFilesystemList) DeepCopyInto(out *CephFilesystemList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephFilesystemList) DeepCopyObject ¶
func (in *CephFilesystemList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CephFilesystemMirror ¶
type CephFilesystemMirror struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec FilesystemMirroringSpec `json:"spec"` // +optional Status *Status `json:"status,omitempty"` }
CephFilesystemMirror is the Ceph Filesystem Mirror object definition +kubebuilder:printcolumn:name="Phase",type=string,JSONPath=`.status.phase` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +kubebuilder:subresource:status
func (*CephFilesystemMirror) DeepCopy ¶
func (in *CephFilesystemMirror) DeepCopy() *CephFilesystemMirror
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephFilesystemMirror.
func (*CephFilesystemMirror) DeepCopyInto ¶
func (in *CephFilesystemMirror) DeepCopyInto(out *CephFilesystemMirror)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephFilesystemMirror) DeepCopyObject ¶
func (in *CephFilesystemMirror) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CephFilesystemMirrorList ¶
type CephFilesystemMirrorList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CephFilesystemMirror `json:"items"` }
CephFilesystemMirrorList is a list of CephFilesystemMirror
func (*CephFilesystemMirrorList) DeepCopy ¶
func (in *CephFilesystemMirrorList) DeepCopy() *CephFilesystemMirrorList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephFilesystemMirrorList.
func (*CephFilesystemMirrorList) DeepCopyInto ¶
func (in *CephFilesystemMirrorList) DeepCopyInto(out *CephFilesystemMirrorList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephFilesystemMirrorList) DeepCopyObject ¶
func (in *CephFilesystemMirrorList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CephFilesystemStatus ¶
type CephFilesystemStatus struct { // +optional Phase ConditionType `json:"phase,omitempty"` // +optional SnapshotScheduleStatus *FilesystemSnapshotScheduleStatusSpec `json:"snapshotScheduleStatus,omitempty"` // Use only info and put mirroringStatus in it? // +optional // +nullable Info map[string]string `json:"info,omitempty"` // MirroringStatus is the filesystem mirroring status // +optional MirroringStatus *FilesystemMirroringInfoSpec `json:"mirroringStatus,omitempty"` Conditions []Condition `json:"conditions,omitempty"` // ObservedGeneration is the latest generation observed by the controller. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` }
CephFilesystemStatus represents the status of a Ceph Filesystem
func (*CephFilesystemStatus) DeepCopy ¶
func (in *CephFilesystemStatus) DeepCopy() *CephFilesystemStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephFilesystemStatus.
func (*CephFilesystemStatus) DeepCopyInto ¶
func (in *CephFilesystemStatus) DeepCopyInto(out *CephFilesystemStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CephFilesystemSubVolumeGroup ¶
type CephFilesystemSubVolumeGroup struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` // Spec represents the specification of a Ceph Filesystem SubVolumeGroup Spec CephFilesystemSubVolumeGroupSpec `json:"spec"` // Status represents the status of a CephFilesystem SubvolumeGroup // +kubebuilder:pruning:PreserveUnknownFields // +optional Status *CephFilesystemSubVolumeGroupStatus `json:"status,omitempty"` }
CephFilesystemSubVolumeGroup represents a Ceph Filesystem SubVolumeGroup +kubebuilder:printcolumn:name="Phase",type=string,JSONPath=`.status.phase` +kubebuilder:printcolumn:name="Filesystem",type=string,JSONPath=`.spec.filesystemName`,description="Name of the CephFileSystem" +kubebuilder:printcolumn:name="Quota",type=string,JSONPath=`.spec.quota` +kubebuilder:printcolumn:name="Pinning",type=string,JSONPath=`.status.info.pinning`,priority=1 +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +kubebuilder:subresource:status
func (*CephFilesystemSubVolumeGroup) DeepCopy ¶
func (in *CephFilesystemSubVolumeGroup) DeepCopy() *CephFilesystemSubVolumeGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephFilesystemSubVolumeGroup.
func (*CephFilesystemSubVolumeGroup) DeepCopyInto ¶
func (in *CephFilesystemSubVolumeGroup) DeepCopyInto(out *CephFilesystemSubVolumeGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephFilesystemSubVolumeGroup) DeepCopyObject ¶
func (in *CephFilesystemSubVolumeGroup) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CephFilesystemSubVolumeGroupList ¶
type CephFilesystemSubVolumeGroupList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CephFilesystemSubVolumeGroup `json:"items"` }
CephFilesystemSubVolumeGroup represents a list of Ceph Clients
func (*CephFilesystemSubVolumeGroupList) DeepCopy ¶
func (in *CephFilesystemSubVolumeGroupList) DeepCopy() *CephFilesystemSubVolumeGroupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephFilesystemSubVolumeGroupList.
func (*CephFilesystemSubVolumeGroupList) DeepCopyInto ¶
func (in *CephFilesystemSubVolumeGroupList) DeepCopyInto(out *CephFilesystemSubVolumeGroupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephFilesystemSubVolumeGroupList) DeepCopyObject ¶
func (in *CephFilesystemSubVolumeGroupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CephFilesystemSubVolumeGroupSpec ¶
type CephFilesystemSubVolumeGroupSpec struct { // The name of the subvolume group. If not set, the default is the name of the subvolumeGroup CR. // +kubebuilder:validation:XValidation:message="name is immutable",rule="self == oldSelf" // +optional Name string `json:"name,omitempty"` // FilesystemName is the name of Ceph Filesystem SubVolumeGroup volume name. Typically it's the name of // the CephFilesystem CR. If not coming from the CephFilesystem CR, it can be retrieved from the // list of Ceph Filesystem volumes with `ceph fs volume ls`. To learn more about Ceph Filesystem // abstractions see https://docs.ceph.com/en/latest/cephfs/fs-volumes/#fs-volumes-and-subvolumes // +kubebuilder:validation:XValidation:message="filesystemName is immutable",rule="self == oldSelf" FilesystemName string `json:"filesystemName"` // Pinning configuration of CephFilesystemSubVolumeGroup, // reference https://docs.ceph.com/en/latest/cephfs/fs-volumes/#pinning-subvolumes-and-subvolume-groups // only one out of (export, distributed, random) can be set at a time // +optional Pinning CephFilesystemSubVolumeGroupSpecPinning `json:"pinning,omitempty"` // Quota size of the Ceph Filesystem subvolume group. // +optional Quota *resource.Quantity `json:"quota,omitempty"` // The data pool name for the Ceph Filesystem subvolume group layout, if the default CephFS pool is not desired. // +optional DataPoolName string `json:"dataPoolName"` }
CephFilesystemSubVolumeGroupSpec represents the specification of a Ceph Filesystem SubVolumeGroup
func (*CephFilesystemSubVolumeGroupSpec) DeepCopy ¶
func (in *CephFilesystemSubVolumeGroupSpec) DeepCopy() *CephFilesystemSubVolumeGroupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephFilesystemSubVolumeGroupSpec.
func (*CephFilesystemSubVolumeGroupSpec) DeepCopyInto ¶
func (in *CephFilesystemSubVolumeGroupSpec) DeepCopyInto(out *CephFilesystemSubVolumeGroupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CephFilesystemSubVolumeGroupSpecPinning ¶
type CephFilesystemSubVolumeGroupSpecPinning struct { // +kubebuilder:validation:Minimum=-1 // +kubebuilder:validation:Maximum=256 // +optional // +nullable Export *int `json:"export,omitempty"` // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=1 // +optional // +nullable Distributed *int `json:"distributed,omitempty"` // +kubebuilder:validation:Minimum=0.0 // +kubebuilder:validation:Maximum=1.0 // +optional // +nullable Random *float64 `json:"random,,omitempty"` }
CephFilesystemSubVolumeGroupSpecPinning represents the pinning configuration of SubVolumeGroup +kubebuilder:validation:XValidation:message="only one pinning type should be set",rule="(has(self.export) && !has(self.distributed) && !has(self.random)) || (!has(self.export) && has(self.distributed) && !has(self.random)) || (!has(self.export) && !has(self.distributed) && has(self.random)) || (!has(self.export) && !has(self.distributed) && !has(self.random))"
func (*CephFilesystemSubVolumeGroupSpecPinning) DeepCopy ¶
func (in *CephFilesystemSubVolumeGroupSpecPinning) DeepCopy() *CephFilesystemSubVolumeGroupSpecPinning
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephFilesystemSubVolumeGroupSpecPinning.
func (*CephFilesystemSubVolumeGroupSpecPinning) DeepCopyInto ¶
func (in *CephFilesystemSubVolumeGroupSpecPinning) DeepCopyInto(out *CephFilesystemSubVolumeGroupSpecPinning)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CephFilesystemSubVolumeGroupStatus ¶
type CephFilesystemSubVolumeGroupStatus struct { // +optional Phase ConditionType `json:"phase,omitempty"` // +optional // +nullable Info map[string]string `json:"info,omitempty"` // ObservedGeneration is the latest generation observed by the controller. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` }
CephFilesystemSubVolumeGroupStatus represents the Status of Ceph Filesystem SubVolumeGroup
func (*CephFilesystemSubVolumeGroupStatus) DeepCopy ¶
func (in *CephFilesystemSubVolumeGroupStatus) DeepCopy() *CephFilesystemSubVolumeGroupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephFilesystemSubVolumeGroupStatus.
func (*CephFilesystemSubVolumeGroupStatus) DeepCopyInto ¶
func (in *CephFilesystemSubVolumeGroupStatus) DeepCopyInto(out *CephFilesystemSubVolumeGroupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CephHealthMessage ¶
CephHealthMessage represents the health message of a Ceph Cluster
func (*CephHealthMessage) DeepCopy ¶
func (in *CephHealthMessage) DeepCopy() *CephHealthMessage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephHealthMessage.
func (*CephHealthMessage) DeepCopyInto ¶
func (in *CephHealthMessage) DeepCopyInto(out *CephHealthMessage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CephNFS ¶
type CephNFS struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec NFSGaneshaSpec `json:"spec"` // +kubebuilder:pruning:PreserveUnknownFields // +optional Status *Status `json:"status,omitempty"` }
CephNFS represents a Ceph NFS +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:subresource:status
func (*CephNFS) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephNFS.
func (*CephNFS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephNFS) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CephNFS) IsHostNetwork ¶
func (n *CephNFS) IsHostNetwork(c *ClusterSpec) bool
type CephNFSList ¶
type CephNFSList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CephNFS `json:"items"` }
CephNFSList represents a list Ceph NFSes +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*CephNFSList) DeepCopy ¶
func (in *CephNFSList) DeepCopy() *CephNFSList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephNFSList.
func (*CephNFSList) DeepCopyInto ¶
func (in *CephNFSList) DeepCopyInto(out *CephNFSList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephNFSList) DeepCopyObject ¶
func (in *CephNFSList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CephNetworkType ¶
type CephNetworkType string
CephNetworkType should be "public" or "cluster". Allow any string so that over-specified legacy clusters do not break on CRD update.
type CephObjectRealm ¶
type CephObjectRealm struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` // +nullable // +optional Spec ObjectRealmSpec `json:"spec,omitempty"` // +kubebuilder:pruning:PreserveUnknownFields // +optional Status *Status `json:"status,omitempty"` }
CephObjectRealm represents a Ceph Object Store Gateway Realm +kubebuilder:subresource:status
func (*CephObjectRealm) DeepCopy ¶
func (in *CephObjectRealm) DeepCopy() *CephObjectRealm
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephObjectRealm.
func (*CephObjectRealm) DeepCopyInto ¶
func (in *CephObjectRealm) DeepCopyInto(out *CephObjectRealm)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephObjectRealm) DeepCopyObject ¶
func (in *CephObjectRealm) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CephObjectRealmList ¶
type CephObjectRealmList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CephObjectRealm `json:"items"` }
CephObjectRealmList represents a list Ceph Object Store Gateway Realms +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*CephObjectRealmList) DeepCopy ¶
func (in *CephObjectRealmList) DeepCopy() *CephObjectRealmList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephObjectRealmList.
func (*CephObjectRealmList) DeepCopyInto ¶
func (in *CephObjectRealmList) DeepCopyInto(out *CephObjectRealmList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephObjectRealmList) DeepCopyObject ¶
func (in *CephObjectRealmList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CephObjectStore ¶
type CephObjectStore struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec ObjectStoreSpec `json:"spec"` // +kubebuilder:pruning:PreserveUnknownFields Status *ObjectStoreStatus `json:"status,omitempty"` }
CephObjectStore represents a Ceph Object Store Gateway +kubebuilder:printcolumn:name="Phase",type=string,JSONPath=`.status.phase` +kubebuilder:printcolumn:name="Endpoint",type=string,JSONPath=`.status.info.endpoint` +kubebuilder:printcolumn:name="SecureEndpoint",type=string,JSONPath=`.status.info.secureEndpoint` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +kubebuilder:subresource:status
func (*CephObjectStore) AdvertiseEndpointIsSet ¶
func (c *CephObjectStore) AdvertiseEndpointIsSet() bool
func (*CephObjectStore) DeepCopy ¶
func (in *CephObjectStore) DeepCopy() *CephObjectStore
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephObjectStore.
func (*CephObjectStore) DeepCopyInto ¶
func (in *CephObjectStore) DeepCopyInto(out *CephObjectStore)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephObjectStore) DeepCopyObject ¶
func (in *CephObjectStore) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CephObjectStore) GetAdvertiseEndpoint ¶
func (c *CephObjectStore) GetAdvertiseEndpoint() (string, int32, bool, error)
GetAdvertiseEndpoint returns address, port, and isTls information about the advertised endpoint for the CephObjectStore. This method helps ensure adherence to stable, documented behavior (API).
func (*CephObjectStore) GetAdvertiseEndpointUrl ¶
func (c *CephObjectStore) GetAdvertiseEndpointUrl() (string, error)
GetAdvertiseEndpointUrl gets the fully-formed advertised endpoint URL for the CephObjectStore. This method helps ensure adherence to stable, documented behavior (API).
func (*CephObjectStore) GetServiceDomainName ¶
func (c *CephObjectStore) GetServiceDomainName() string
GetServiceDomainName gets the domain name of the Rook-created CephObjectStore service. This method helps ensure adherence to stable, documented behavior (API).
func (*CephObjectStore) GetServiceName ¶
func (c *CephObjectStore) GetServiceName() string
GetServiceName gets the name of the Rook-created CephObjectStore service. This method helps ensure adherence to stable, documented behavior (API).
func (*CephObjectStore) GetStatusConditions ¶
func (c *CephObjectStore) GetStatusConditions() *[]Condition
type CephObjectStoreList ¶
type CephObjectStoreList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CephObjectStore `json:"items"` }
CephObjectStoreList represents a Ceph Object Store Gateways
func (*CephObjectStoreList) DeepCopy ¶
func (in *CephObjectStoreList) DeepCopy() *CephObjectStoreList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephObjectStoreList.
func (*CephObjectStoreList) DeepCopyInto ¶
func (in *CephObjectStoreList) DeepCopyInto(out *CephObjectStoreList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephObjectStoreList) DeepCopyObject ¶
func (in *CephObjectStoreList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CephObjectStoreUser ¶
type CephObjectStoreUser struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec ObjectStoreUserSpec `json:"spec"` // +kubebuilder:pruning:PreserveUnknownFields // +optional Status *ObjectStoreUserStatus `json:"status,omitempty"` }
CephObjectStoreUser represents a Ceph Object Store Gateway User +kubebuilder:resource:shortName=rcou;objectuser +kubebuilder:printcolumn:name="Phase",type=string,JSONPath=`.status.phase` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +kubebuilder:subresource:status
func (*CephObjectStoreUser) DeepCopy ¶
func (in *CephObjectStoreUser) DeepCopy() *CephObjectStoreUser
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephObjectStoreUser.
func (*CephObjectStoreUser) DeepCopyInto ¶
func (in *CephObjectStoreUser) DeepCopyInto(out *CephObjectStoreUser)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephObjectStoreUser) DeepCopyObject ¶
func (in *CephObjectStoreUser) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CephObjectStoreUserList ¶
type CephObjectStoreUserList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CephObjectStoreUser `json:"items"` }
CephObjectStoreUserList represents a list Ceph Object Store Gateway Users
func (*CephObjectStoreUserList) DeepCopy ¶
func (in *CephObjectStoreUserList) DeepCopy() *CephObjectStoreUserList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephObjectStoreUserList.
func (*CephObjectStoreUserList) DeepCopyInto ¶
func (in *CephObjectStoreUserList) DeepCopyInto(out *CephObjectStoreUserList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephObjectStoreUserList) DeepCopyObject ¶
func (in *CephObjectStoreUserList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CephObjectZone ¶
type CephObjectZone struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec ObjectZoneSpec `json:"spec"` // +kubebuilder:pruning:PreserveUnknownFields // +optional Status *Status `json:"status,omitempty"` }
CephObjectZone represents a Ceph Object Store Gateway Zone +kubebuilder:printcolumn:name="Phase",type=string,JSONPath=`.status.phase` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +kubebuilder:subresource:status
func (*CephObjectZone) DeepCopy ¶
func (in *CephObjectZone) DeepCopy() *CephObjectZone
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephObjectZone.
func (*CephObjectZone) DeepCopyInto ¶
func (in *CephObjectZone) DeepCopyInto(out *CephObjectZone)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephObjectZone) DeepCopyObject ¶
func (in *CephObjectZone) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CephObjectZone) GetStatusConditions ¶
func (z *CephObjectZone) GetStatusConditions() *[]Condition
type CephObjectZoneGroup ¶
type CephObjectZoneGroup struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec ObjectZoneGroupSpec `json:"spec"` // +kubebuilder:pruning:PreserveUnknownFields // +optional Status *Status `json:"status,omitempty"` }
CephObjectZoneGroup represents a Ceph Object Store Gateway Zone Group +kubebuilder:printcolumn:name="Phase",type=string,JSONPath=`.status.phase` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +kubebuilder:subresource:status
func (*CephObjectZoneGroup) DeepCopy ¶
func (in *CephObjectZoneGroup) DeepCopy() *CephObjectZoneGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephObjectZoneGroup.
func (*CephObjectZoneGroup) DeepCopyInto ¶
func (in *CephObjectZoneGroup) DeepCopyInto(out *CephObjectZoneGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephObjectZoneGroup) DeepCopyObject ¶
func (in *CephObjectZoneGroup) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CephObjectZoneGroupList ¶
type CephObjectZoneGroupList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CephObjectZoneGroup `json:"items"` }
CephObjectZoneGroupList represents a list Ceph Object Store Gateway Zone Groups +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*CephObjectZoneGroupList) DeepCopy ¶
func (in *CephObjectZoneGroupList) DeepCopy() *CephObjectZoneGroupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephObjectZoneGroupList.
func (*CephObjectZoneGroupList) DeepCopyInto ¶
func (in *CephObjectZoneGroupList) DeepCopyInto(out *CephObjectZoneGroupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephObjectZoneGroupList) DeepCopyObject ¶
func (in *CephObjectZoneGroupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CephObjectZoneList ¶
type CephObjectZoneList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CephObjectZone `json:"items"` }
CephObjectZoneList represents a list Ceph Object Store Gateway Zones +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*CephObjectZoneList) DeepCopy ¶
func (in *CephObjectZoneList) DeepCopy() *CephObjectZoneList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephObjectZoneList.
func (*CephObjectZoneList) DeepCopyInto ¶
func (in *CephObjectZoneList) DeepCopyInto(out *CephObjectZoneList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephObjectZoneList) DeepCopyObject ¶
func (in *CephObjectZoneList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CephRBDMirror ¶
type CephRBDMirror struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec RBDMirroringSpec `json:"spec"` // +kubebuilder:pruning:PreserveUnknownFields // +optional Status *Status `json:"status,omitempty"` }
CephRBDMirror represents a Ceph RBD Mirror +kubebuilder:printcolumn:name="Phase",type=string,JSONPath=`.status.phase` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +kubebuilder:subresource:status
func (*CephRBDMirror) DeepCopy ¶
func (in *CephRBDMirror) DeepCopy() *CephRBDMirror
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephRBDMirror.
func (*CephRBDMirror) DeepCopyInto ¶
func (in *CephRBDMirror) DeepCopyInto(out *CephRBDMirror)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephRBDMirror) DeepCopyObject ¶
func (in *CephRBDMirror) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CephRBDMirrorList ¶
type CephRBDMirrorList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CephRBDMirror `json:"items"` }
CephRBDMirrorList represents a list Ceph RBD Mirrors +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*CephRBDMirrorList) DeepCopy ¶
func (in *CephRBDMirrorList) DeepCopy() *CephRBDMirrorList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephRBDMirrorList.
func (*CephRBDMirrorList) DeepCopyInto ¶
func (in *CephRBDMirrorList) DeepCopyInto(out *CephRBDMirrorList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CephRBDMirrorList) DeepCopyObject ¶
func (in *CephRBDMirrorList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CephStatus ¶
type CephStatus struct { Health string `json:"health,omitempty"` Details map[string]CephHealthMessage `json:"details,omitempty"` LastChecked string `json:"lastChecked,omitempty"` LastChanged string `json:"lastChanged,omitempty"` PreviousHealth string `json:"previousHealth,omitempty"` Capacity Capacity `json:"capacity,omitempty"` // +optional Versions *CephDaemonsVersions `json:"versions,omitempty"` FSID string `json:"fsid,omitempty"` }
CephStatus is the details health of a Ceph Cluster
func (*CephStatus) DeepCopy ¶
func (in *CephStatus) DeepCopy() *CephStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephStatus.
func (*CephStatus) DeepCopyInto ¶
func (in *CephStatus) DeepCopyInto(out *CephStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CephStorage ¶
type CephStorage struct { DeviceClasses []DeviceClasses `json:"deviceClasses,omitempty"` OSD OSDStatus `json:"osd,omitempty"` DeprecatedOSDs map[string][]int `json:"deprecatedOSDs,omitempty"` }
CephStorage represents flavors of Ceph Cluster Storage
func (*CephStorage) DeepCopy ¶
func (in *CephStorage) DeepCopy() *CephStorage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephStorage.
func (*CephStorage) DeepCopyInto ¶
func (in *CephStorage) DeepCopyInto(out *CephStorage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CephVersionSpec ¶
type CephVersionSpec struct { // Image is the container image used to launch the ceph daemons, such as quay.io/ceph/ceph:<tag> // The full list of images can be found at https://quay.io/repository/ceph/ceph?tab=tags // +optional Image string `json:"image,omitempty"` // Whether to allow unsupported versions (do not set to true in production) // +optional AllowUnsupported bool `json:"allowUnsupported,omitempty"` // ImagePullPolicy describes a policy for if/when to pull a container image // One of Always, Never, IfNotPresent. // +kubebuilder:validation:Enum=IfNotPresent;Always;Never;"" // +optional ImagePullPolicy v1.PullPolicy `json:"imagePullPolicy,omitempty"` }
CephVersionSpec represents the settings for the Ceph version that Rook is orchestrating.
func (*CephVersionSpec) DeepCopy ¶
func (in *CephVersionSpec) DeepCopy() *CephVersionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CephVersionSpec.
func (*CephVersionSpec) DeepCopyInto ¶
func (in *CephVersionSpec) DeepCopyInto(out *CephVersionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CleanupConfirmationProperty ¶
type CleanupConfirmationProperty string
CleanupConfirmationProperty represents the cleanup confirmation +kubebuilder:validation:Pattern=`^$|^yes-really-destroy-data$`
type CleanupPolicySpec ¶
type CleanupPolicySpec struct { // Confirmation represents the cleanup confirmation // +optional // +nullable Confirmation CleanupConfirmationProperty `json:"confirmation,omitempty"` // SanitizeDisks represents way we sanitize disks // +optional // +nullable SanitizeDisks SanitizeDisksSpec `json:"sanitizeDisks,omitempty"` // AllowUninstallWithVolumes defines whether we can proceed with the uninstall if they are RBD images still present // +optional AllowUninstallWithVolumes bool `json:"allowUninstallWithVolumes,omitempty"` }
CleanupPolicySpec represents a Ceph Cluster cleanup policy
func (*CleanupPolicySpec) DeepCopy ¶
func (in *CleanupPolicySpec) DeepCopy() *CleanupPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CleanupPolicySpec.
func (*CleanupPolicySpec) DeepCopyInto ¶
func (in *CleanupPolicySpec) DeepCopyInto(out *CleanupPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CleanupPolicySpec) HasDataDirCleanPolicy ¶
func (c *CleanupPolicySpec) HasDataDirCleanPolicy() bool
HasDataDirCleanPolicy returns whether the cluster has a data dir policy
type ClientSpec ¶
type ClientSpec struct { // +optional Name string `json:"name,omitempty"` // +kubebuilder:pruning:PreserveUnknownFields Caps map[string]string `json:"caps"` }
ClientSpec represents the specification of a Ceph Client
func (*ClientSpec) DeepCopy ¶
func (in *ClientSpec) DeepCopy() *ClientSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientSpec.
func (*ClientSpec) DeepCopyInto ¶
func (in *ClientSpec) DeepCopyInto(out *ClientSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterSpec ¶
type ClusterSpec struct { // The version information that instructs Rook to orchestrate a particular version of Ceph. // +optional // +nullable CephVersion CephVersionSpec `json:"cephVersion,omitempty"` // A spec for available storage in the cluster and how it should be used // +optional // +nullable Storage StorageScopeSpec `json:"storage,omitempty"` // The annotations-related configuration to add/set on each Pod related object. // +nullable // +optional Annotations AnnotationsSpec `json:"annotations,omitempty"` // The labels-related configuration to add/set on each Pod related object. // +kubebuilder:pruning:PreserveUnknownFields // +nullable // +optional Labels LabelsSpec `json:"labels,omitempty"` // The placement-related configuration to pass to kubernetes (affinity, node selector, tolerations). // +kubebuilder:pruning:PreserveUnknownFields // +nullable // +optional Placement PlacementSpec `json:"placement,omitempty"` // Network related configuration // +kubebuilder:pruning:PreserveUnknownFields // +nullable // +optional Network NetworkSpec `json:"network,omitempty"` // Resources set resource requests and limits // +kubebuilder:pruning:PreserveUnknownFields // +nullable // +optional Resources ResourceSpec `json:"resources,omitempty"` // PriorityClassNames sets priority classes on components // +kubebuilder:pruning:PreserveUnknownFields // +nullable // +optional PriorityClassNames PriorityClassNamesSpec `json:"priorityClassNames,omitempty"` // The path on the host where config and data can be persisted // +kubebuilder:validation:Pattern=`^/(\S+)` // +kubebuilder:validation:XValidation:message="DataDirHostPath is immutable",rule="self == oldSelf" // +optional DataDirHostPath string `json:"dataDirHostPath,omitempty"` // SkipUpgradeChecks defines if an upgrade should be forced even if one of the check fails // +optional SkipUpgradeChecks bool `json:"skipUpgradeChecks,omitempty"` // ContinueUpgradeAfterChecksEvenIfNotHealthy defines if an upgrade should continue even if PGs are not clean // +optional ContinueUpgradeAfterChecksEvenIfNotHealthy bool `json:"continueUpgradeAfterChecksEvenIfNotHealthy,omitempty"` // WaitTimeoutForHealthyOSDInMinutes defines the time the operator would wait before an OSD can be stopped for upgrade or restart. // If the timeout exceeds and OSD is not ok to stop, then the operator would skip upgrade for the current OSD and proceed with the next one // if `continueUpgradeAfterChecksEvenIfNotHealthy` is `false`. If `continueUpgradeAfterChecksEvenIfNotHealthy` is `true`, then operator would // continue with the upgrade of an OSD even if its not ok to stop after the timeout. This timeout won't be applied if `skipUpgradeChecks` is `true`. // The default wait timeout is 10 minutes. // +optional WaitTimeoutForHealthyOSDInMinutes time.Duration `json:"waitTimeoutForHealthyOSDInMinutes,omitempty"` // UpgradeOSDRequiresHealthyPGs defines if OSD upgrade requires PGs are clean. If set to `true` OSD upgrade process won't start until PGs are healthy. // This configuration will be ignored if `skipUpgradeChecks` is `true`. // Default is false. // +optional UpgradeOSDRequiresHealthyPGs bool `json:"upgradeOSDRequiresHealthyPGs,omitempty"` // A spec for configuring disruption management. // +nullable // +optional DisruptionManagement DisruptionManagementSpec `json:"disruptionManagement,omitempty"` // A spec for mon related options // +optional // +nullable Mon MonSpec `json:"mon,omitempty"` // A spec for the crash controller // +optional // +nullable CrashCollector CrashCollectorSpec `json:"crashCollector,omitempty"` // Dashboard settings // +optional // +nullable Dashboard DashboardSpec `json:"dashboard,omitempty"` // Prometheus based Monitoring settings // +optional // +nullable Monitoring MonitoringSpec `json:"monitoring,omitempty"` // Whether the Ceph Cluster is running external to this Kubernetes cluster // mon, mgr, osd, mds, and discover daemons will not be created for external clusters. // +optional // +nullable External ExternalSpec `json:"external,omitempty"` // A spec for mgr related options // +optional // +nullable Mgr MgrSpec `json:"mgr,omitempty"` // Remove the OSD that is out and safe to remove only if this option is true // +optional RemoveOSDsIfOutAndSafeToRemove bool `json:"removeOSDsIfOutAndSafeToRemove,omitempty"` // Indicates user intent when deleting a cluster; blocks orchestration and should not be set if cluster // deletion is not imminent. // +optional // +nullable CleanupPolicy CleanupPolicySpec `json:"cleanupPolicy,omitempty"` // Internal daemon healthchecks and liveness probe // +optional // +nullable HealthCheck CephClusterHealthCheckSpec `json:"healthCheck,omitempty"` // Security represents security settings // +optional // +nullable Security SecuritySpec `json:"security,omitempty"` // Logging represents loggings settings // +optional // +nullable LogCollector LogCollectorSpec `json:"logCollector,omitempty"` // CSI Driver Options applied per cluster. // +optional CSI CSIDriverSpec `json:"csi,omitempty"` // Ceph Config options // +optional // +nullable CephConfig map[string]map[string]string `json:"cephConfig,omitempty"` }
ClusterSpec represents the specification of Ceph Cluster
func (*ClusterSpec) DeepCopy ¶
func (in *ClusterSpec) DeepCopy() *ClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSpec.
func (*ClusterSpec) DeepCopyInto ¶
func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterSpec) IsStretchCluster ¶
func (c *ClusterSpec) IsStretchCluster() bool
func (*ClusterSpec) RequireMsgr2 ¶
func (c *ClusterSpec) RequireMsgr2() bool
RequireMsgr2 checks if the network settings require the msgr2 protocol
func (*ClusterSpec) ZonesRequired ¶
func (c *ClusterSpec) ZonesRequired() bool
type ClusterState ¶
type ClusterState string
ClusterState represents the state of a Ceph Cluster
const ( // ClusterStateCreating represents the Creating state of a Ceph Cluster ClusterStateCreating ClusterState = "Creating" // ClusterStateCreated represents the Created state of a Ceph Cluster ClusterStateCreated ClusterState = "Created" // ClusterStateUpdating represents the Updating state of a Ceph Cluster ClusterStateUpdating ClusterState = "Updating" // ClusterStateConnecting represents the Connecting state of a Ceph Cluster ClusterStateConnecting ClusterState = "Connecting" // ClusterStateConnected represents the Connected state of a Ceph Cluster ClusterStateConnected ClusterState = "Connected" // ClusterStateError represents the Error state of a Ceph Cluster ClusterStateError ClusterState = "Error" )
type ClusterStatus ¶
type ClusterStatus struct { State ClusterState `json:"state,omitempty"` Phase ConditionType `json:"phase,omitempty"` Message string `json:"message,omitempty"` Conditions []Condition `json:"conditions,omitempty"` CephStatus *CephStatus `json:"ceph,omitempty"` CephStorage *CephStorage `json:"storage,omitempty"` CephVersion *ClusterVersion `json:"version,omitempty"` // ObservedGeneration is the latest generation observed by the controller. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` }
ClusterStatus represents the status of a Ceph cluster
func (*ClusterStatus) DeepCopy ¶
func (in *ClusterStatus) DeepCopy() *ClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStatus.
func (*ClusterStatus) DeepCopyInto ¶
func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterVersion ¶
type ClusterVersion struct { Image string `json:"image,omitempty"` Version string `json:"version,omitempty"` }
ClusterVersion represents the version of a Ceph Cluster
func (*ClusterVersion) DeepCopy ¶
func (in *ClusterVersion) DeepCopy() *ClusterVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterVersion.
func (*ClusterVersion) DeepCopyInto ¶
func (in *ClusterVersion) DeepCopyInto(out *ClusterVersion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CompressionSpec ¶
type CompressionSpec struct { // Whether to compress the data in transit across the wire. // The default is not set. // +optional Enabled bool `json:"enabled,omitempty"` }
func (*CompressionSpec) DeepCopy ¶
func (in *CompressionSpec) DeepCopy() *CompressionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CompressionSpec.
func (*CompressionSpec) DeepCopyInto ¶
func (in *CompressionSpec) DeepCopyInto(out *CompressionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Condition ¶
type Condition struct { Type ConditionType `json:"type,omitempty"` Status v1.ConditionStatus `json:"status,omitempty"` Reason ConditionReason `json:"reason,omitempty"` Message string `json:"message,omitempty"` LastHeartbeatTime metav1.Time `json:"lastHeartbeatTime,omitempty"` LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` }
Condition represents a status condition on any Rook-Ceph Custom Resource.
func FindStatusCondition ¶
func FindStatusCondition(conditions []Condition, conditionType ConditionType) *Condition
FindStatusCondition finds the conditionType in conditions.
func (*Condition) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Condition.
func (*Condition) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConditionReason ¶
type ConditionReason string
ConditionReason is a reason for a condition
const ( // ClusterCreatedReason is cluster created reason ClusterCreatedReason ConditionReason = "ClusterCreated" // ClusterConnectedReason is cluster connected reason ClusterConnectedReason ConditionReason = "ClusterConnected" // ClusterProgressingReason is cluster progressing reason ClusterProgressingReason ConditionReason = "ClusterProgressing" // ClusterDeletingReason is cluster deleting reason ClusterDeletingReason ConditionReason = "ClusterDeleting" // ClusterConnectingReason is cluster connecting reason ClusterConnectingReason ConditionReason = "ClusterConnecting" // ReconcileSucceeded represents when a resource reconciliation was successful. ReconcileSucceeded ConditionReason = "ReconcileSucceeded" // ReconcileFailed represents when a resource reconciliation failed. ReconcileFailed ConditionReason = "ReconcileFailed" // ReconcileStarted represents when a resource reconciliation started. ReconcileStarted ConditionReason = "ReconcileStarted" // DeletingReason represents when Rook has detected a resource object should be deleted. DeletingReason ConditionReason = "Deleting" // ObjectHasDependentsReason represents when a resource object has dependents that are blocking // deletion. ObjectHasDependentsReason ConditionReason = "ObjectHasDependents" // ObjectHasNoDependentsReason represents when a resource object has no dependents that are // blocking deletion. ObjectHasNoDependentsReason ConditionReason = "ObjectHasNoDependents" )
type ConditionType ¶
type ConditionType string
ConditionType represent a resource's status
const ( // ConditionConnecting represents Connecting state of an object ConditionConnecting ConditionType = "Connecting" // ConditionConnected represents Connected state of an object ConditionConnected ConditionType = "Connected" // ConditionProgressing represents Progressing state of an object ConditionProgressing ConditionType = "Progressing" // ConditionReady represents Ready state of an object ConditionReady ConditionType = "Ready" // ConditionFailure represents Failure state of an object ConditionFailure ConditionType = "Failure" // ConditionDeleting represents Deleting state of an object ConditionDeleting ConditionType = "Deleting" // ConditionDeletionIsBlocked represents when deletion of the object is blocked. ConditionDeletionIsBlocked ConditionType = "DeletionIsBlocked" )
type ConfigFileVolumeSource ¶
type ConfigFileVolumeSource struct { // hostPath represents a pre-existing file or directory on the host // machine that is directly exposed to the container. This is generally // used for system agents or other privileged things that are allowed // to see the host machine. Most containers will NOT need this. // More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath // --- // +optional HostPath *v1.HostPathVolumeSource `json:"hostPath,omitempty" protobuf:"bytes,1,opt,name=hostPath"` // emptyDir represents a temporary directory that shares a pod's lifetime. // More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir // +optional EmptyDir *v1.EmptyDirVolumeSource `json:"emptyDir,omitempty" protobuf:"bytes,2,opt,name=emptyDir"` // secret represents a secret that should populate this volume. // More info: https://kubernetes.io/docs/concepts/storage/volumes#secret // +optional Secret *v1.SecretVolumeSource `json:"secret,omitempty" protobuf:"bytes,6,opt,name=secret"` // persistentVolumeClaimVolumeSource represents a reference to a // PersistentVolumeClaim in the same namespace. // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims // +optional PersistentVolumeClaim *v1.PersistentVolumeClaimVolumeSource `json:"persistentVolumeClaim,omitempty" protobuf:"bytes,10,opt,name=persistentVolumeClaim"` // configMap represents a configMap that should populate this volume // +optional ConfigMap *v1.ConfigMapVolumeSource `json:"configMap,omitempty" protobuf:"bytes,19,opt,name=configMap"` // projected items for all in one resources secrets, configmaps, and downward API Projected *v1.ProjectedVolumeSource `json:"projected,omitempty" protobuf:"bytes,26,opt,name=projected"` }
Represents the source of a volume to mount. Only one of its members may be specified. This is a subset of the full Kubernetes API's VolumeSource that is reduced to what is most likely to be useful for mounting config files/dirs into Rook pods.
func (*ConfigFileVolumeSource) DeepCopy ¶
func (in *ConfigFileVolumeSource) DeepCopy() *ConfigFileVolumeSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigFileVolumeSource.
func (*ConfigFileVolumeSource) DeepCopyInto ¶
func (in *ConfigFileVolumeSource) DeepCopyInto(out *ConfigFileVolumeSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConfigFileVolumeSource) ToKubernetesVolumeSource ¶
func (src *ConfigFileVolumeSource) ToKubernetesVolumeSource() *corev1.VolumeSource
type ConnectionsSpec ¶
type ConnectionsSpec struct { // Encryption settings for the network connections. // +nullable // +optional Encryption *EncryptionSpec `json:"encryption,omitempty"` // Compression settings for the network connections. // +nullable // +optional Compression *CompressionSpec `json:"compression,omitempty"` // Whether to require msgr2 (port 3300) even if compression or encryption are not enabled. // If true, the msgr1 port (6789) will be disabled. // Requires a kernel that supports msgr2 (kernel 5.11 or CentOS 8.4 or newer). // +optional RequireMsgr2 bool `json:"requireMsgr2,omitempty"` }
func (*ConnectionsSpec) DeepCopy ¶
func (in *ConnectionsSpec) DeepCopy() *ConnectionsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionsSpec.
func (*ConnectionsSpec) DeepCopyInto ¶
func (in *ConnectionsSpec) DeepCopyInto(out *ConnectionsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CrashCollectorSpec ¶
type CrashCollectorSpec struct { // Disable determines whether we should enable the crash collector // +optional Disable bool `json:"disable,omitempty"` // DaysToRetain represents the number of days to retain crash until they get pruned // +optional DaysToRetain uint `json:"daysToRetain,omitempty"` }
CrashCollectorSpec represents options to configure the crash controller
func (*CrashCollectorSpec) DeepCopy ¶
func (in *CrashCollectorSpec) DeepCopy() *CrashCollectorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CrashCollectorSpec.
func (*CrashCollectorSpec) DeepCopyInto ¶
func (in *CrashCollectorSpec) DeepCopyInto(out *CrashCollectorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DaemonHealthSpec ¶
type DaemonHealthSpec struct { // Status represents the health check settings for the Ceph health // +optional // +nullable Status HealthCheckSpec `json:"status,omitempty"` // Monitor represents the health check settings for the Ceph monitor // +optional // +nullable Monitor HealthCheckSpec `json:"mon,omitempty"` // ObjectStorageDaemon represents the health check settings for the Ceph OSDs // +optional // +nullable ObjectStorageDaemon HealthCheckSpec `json:"osd,omitempty"` }
DaemonHealthSpec is a daemon health check
func (*DaemonHealthSpec) DeepCopy ¶
func (in *DaemonHealthSpec) DeepCopy() *DaemonHealthSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DaemonHealthSpec.
func (*DaemonHealthSpec) DeepCopyInto ¶
func (in *DaemonHealthSpec) DeepCopyInto(out *DaemonHealthSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DashboardSpec ¶
type DashboardSpec struct { // Enabled determines whether to enable the dashboard // +optional Enabled bool `json:"enabled,omitempty"` // URLPrefix is a prefix for all URLs to use the dashboard with a reverse proxy // +optional URLPrefix string `json:"urlPrefix,omitempty"` // Port is the dashboard webserver port // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=65535 // +optional Port int `json:"port,omitempty"` // SSL determines whether SSL should be used // +optional SSL bool `json:"ssl,omitempty"` // Endpoint for the Prometheus host // +optional PrometheusEndpoint string `json:"prometheusEndpoint,omitempty"` // Whether to verify the ssl endpoint for prometheus. Set to false for a self-signed cert. // +optional PrometheusEndpointSSLVerify bool `json:"prometheusEndpointSSLVerify,omitempty"` }
DashboardSpec represents the settings for the Ceph dashboard
func (*DashboardSpec) DeepCopy ¶
func (in *DashboardSpec) DeepCopy() *DashboardSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DashboardSpec.
func (*DashboardSpec) DeepCopyInto ¶
func (in *DashboardSpec) DeepCopyInto(out *DashboardSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Device ¶
type Device struct { // +optional Name string `json:"name,omitempty"` // +optional FullPath string `json:"fullpath,omitempty"` // +kubebuilder:pruning:PreserveUnknownFields // +nullable // +optional Config map[string]string `json:"config,omitempty"` }
Device represents a disk to use in the cluster
func (*Device) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Device.
func (*Device) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeviceClasses ¶
type DeviceClasses struct {
Name string `json:"name,omitempty"`
}
DeviceClasses represents device classes of a Ceph Cluster
func (*DeviceClasses) DeepCopy ¶
func (in *DeviceClasses) DeepCopy() *DeviceClasses
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceClasses.
func (*DeviceClasses) DeepCopyInto ¶
func (in *DeviceClasses) DeepCopyInto(out *DeviceClasses)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DisruptionManagementSpec ¶
type DisruptionManagementSpec struct { // This enables management of poddisruptionbudgets // +optional ManagePodBudgets bool `json:"managePodBudgets,omitempty"` // OSDMaintenanceTimeout sets how many additional minutes the DOWN/OUT interval is for drained failure domains // it only works if managePodBudgets is true. // the default is 30 minutes // +optional OSDMaintenanceTimeout time.Duration `json:"osdMaintenanceTimeout,omitempty"` // PGHealthCheckTimeout is the time (in minutes) that the operator will wait for the placement groups to become // healthy (active+clean) after a drain was completed and OSDs came back up. Rook will continue with the next drain // if the timeout exceeds. It only works if managePodBudgets is true. // No values or 0 means that the operator will wait until the placement groups are healthy before unblocking the next drain. // +optional PGHealthCheckTimeout time.Duration `json:"pgHealthCheckTimeout,omitempty"` // PgHealthyRegex is the regular expression that is used to determine which PG states should be considered healthy. // The default is `^(active\+clean|active\+clean\+scrubbing|active\+clean\+scrubbing\+deep)$` // +optional PGHealthyRegex string `json:"pgHealthyRegex,omitempty"` // Deprecated. This enables management of machinedisruptionbudgets. // +optional ManageMachineDisruptionBudgets bool `json:"manageMachineDisruptionBudgets,omitempty"` // Deprecated. Namespace to look for MDBs by the machineDisruptionBudgetController // +optional MachineDisruptionBudgetNamespace string `json:"machineDisruptionBudgetNamespace,omitempty"` }
DisruptionManagementSpec configures management of daemon disruptions
func (*DisruptionManagementSpec) DeepCopy ¶
func (in *DisruptionManagementSpec) DeepCopy() *DisruptionManagementSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DisruptionManagementSpec.
func (*DisruptionManagementSpec) DeepCopyInto ¶
func (in *DisruptionManagementSpec) DeepCopyInto(out *DisruptionManagementSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EncryptionSpec ¶
type EncryptionSpec struct { // Whether to encrypt the data in transit across the wire to prevent eavesdropping // the data on the network. The default is not set. Even if encryption is not enabled, // clients still establish a strong initial authentication for the connection // and data integrity is still validated with a crc check. When encryption is enabled, // all communication between clients and Ceph daemons, or between Ceph daemons will // be encrypted. // +optional Enabled bool `json:"enabled,omitempty"` }
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 EndpointAddress ¶
type EndpointAddress struct { // The IP of this endpoint. As a legacy behavior, this supports being given a DNS-addressable hostname as well. // +optional IP string `json:"ip" protobuf:"bytes,1,opt,name=ip"` // The DNS-addressable Hostname of this endpoint. This field will be preferred over IP if both are given. // +optional Hostname string `json:"hostname,omitempty" protobuf:"bytes,3,opt,name=hostname"` }
EndpointAddress is a tuple that describes a single IP address or host name. This is a subset of Kubernetes's v1.EndpointAddress. +structType=atomic
func (*EndpointAddress) DeepCopy ¶
func (in *EndpointAddress) DeepCopy() *EndpointAddress
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointAddress.
func (*EndpointAddress) DeepCopyInto ¶
func (in *EndpointAddress) DeepCopyInto(out *EndpointAddress)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EndpointAddress) String ¶
func (e *EndpointAddress) String() string
String returns an addressable string representation of the EndpointAddress.
type ErasureCodedSpec ¶
type ErasureCodedSpec struct { // Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type). // This is the number of OSDs that can be lost simultaneously before data cannot be recovered. // +kubebuilder:validation:Minimum=0 CodingChunks uint `json:"codingChunks"` // Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type). // The number of chunks required to recover an object when any single OSD is lost is the same // as dataChunks so be aware that the larger the number of data chunks, the higher the cost of recovery. // +kubebuilder:validation:Minimum=0 DataChunks uint `json:"dataChunks"` // The algorithm for erasure coding // +optional Algorithm string `json:"algorithm,omitempty"` }
ErasureCodedSpec represents the spec for erasure code in a pool
func (*ErasureCodedSpec) DeepCopy ¶
func (in *ErasureCodedSpec) DeepCopy() *ErasureCodedSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ErasureCodedSpec.
func (*ErasureCodedSpec) DeepCopyInto ¶
func (in *ErasureCodedSpec) DeepCopyInto(out *ErasureCodedSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalSpec ¶
type ExternalSpec struct { // Enable determines whether external mode is enabled or not // +optional Enable bool `json:"enable,omitempty"` }
ExternalSpec represents the options supported by an external cluster +kubebuilder:pruning:PreserveUnknownFields +nullable
func (*ExternalSpec) DeepCopy ¶
func (in *ExternalSpec) DeepCopy() *ExternalSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalSpec.
func (*ExternalSpec) DeepCopyInto ¶
func (in *ExternalSpec) DeepCopyInto(out *ExternalSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FSMirroringSpec ¶
type FSMirroringSpec struct { // Enabled whether this filesystem is mirrored or not // +optional Enabled bool `json:"enabled,omitempty"` // Peers represents the peers spec // +nullable // +optional Peers *MirroringPeerSpec `json:"peers,omitempty"` // SnapshotSchedules is the scheduling of snapshot for mirrored filesystems // +optional SnapshotSchedules []SnapshotScheduleSpec `json:"snapshotSchedules,omitempty"` // Retention is the retention policy for a snapshot schedule // One path has exactly one retention policy. // A policy can however contain multiple count-time period pairs in order to specify complex retention policies // +optional SnapshotRetention []SnapshotScheduleRetentionSpec `json:"snapshotRetention,omitempty"` }
FSMirroringSpec represents the setting for a mirrored filesystem
func (*FSMirroringSpec) DeepCopy ¶
func (in *FSMirroringSpec) DeepCopy() *FSMirroringSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FSMirroringSpec.
func (*FSMirroringSpec) DeepCopyInto ¶
func (in *FSMirroringSpec) DeepCopyInto(out *FSMirroringSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FSMirroringSpec) SnapShotScheduleEnabled ¶
func (m *FSMirroringSpec) SnapShotScheduleEnabled() bool
type FilesystemMirrorInfoPeerSpec ¶
type FilesystemMirrorInfoPeerSpec struct { // UUID is the peer unique identifier // +optional UUID string `json:"uuid,omitempty"` // Remote are the remote cluster information // +optional Remote *PeerRemoteSpec `json:"remote,omitempty"` // Stats are the stat a peer mirror // +optional Stats *PeerStatSpec `json:"stats,omitempty"` }
FilesystemMirrorInfoPeerSpec is the specification of a filesystem peer mirror
func (*FilesystemMirrorInfoPeerSpec) DeepCopy ¶
func (in *FilesystemMirrorInfoPeerSpec) DeepCopy() *FilesystemMirrorInfoPeerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilesystemMirrorInfoPeerSpec.
func (*FilesystemMirrorInfoPeerSpec) DeepCopyInto ¶
func (in *FilesystemMirrorInfoPeerSpec) DeepCopyInto(out *FilesystemMirrorInfoPeerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FilesystemMirroringInfo ¶
type FilesystemMirroringInfo struct { // DaemonID is the cephfs-mirror name // +optional DaemonID int `json:"daemon_id,omitempty"` // Filesystems is the list of filesystems managed by a given cephfs-mirror daemon // +optional Filesystems []FilesystemsSpec `json:"filesystems,omitempty"` }
FilesystemMirrorInfoSpec is the filesystem mirror status of a given filesystem
func (*FilesystemMirroringInfo) DeepCopy ¶
func (in *FilesystemMirroringInfo) DeepCopy() *FilesystemMirroringInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilesystemMirroringInfo.
func (*FilesystemMirroringInfo) DeepCopyInto ¶
func (in *FilesystemMirroringInfo) DeepCopyInto(out *FilesystemMirroringInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FilesystemMirroringInfoSpec ¶
type FilesystemMirroringInfoSpec struct { // PoolMirroringStatus is the mirroring status of a filesystem // +nullable // +optional FilesystemMirroringAllInfo []FilesystemMirroringInfo `json:"daemonsStatus,omitempty"` // LastChecked is the last time time the status was checked // +optional LastChecked string `json:"lastChecked,omitempty"` // LastChanged is the last time time the status last changed // +optional LastChanged string `json:"lastChanged,omitempty"` // Details contains potential status errors // +optional Details string `json:"details,omitempty"` }
FilesystemMirroringInfo is the status of the pool mirroring
func (*FilesystemMirroringInfoSpec) DeepCopy ¶
func (in *FilesystemMirroringInfoSpec) DeepCopy() *FilesystemMirroringInfoSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilesystemMirroringInfoSpec.
func (*FilesystemMirroringInfoSpec) DeepCopyInto ¶
func (in *FilesystemMirroringInfoSpec) DeepCopyInto(out *FilesystemMirroringInfoSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FilesystemMirroringSpec ¶
type FilesystemMirroringSpec struct { // The affinity to place the rgw pods (default is to place on any available node) // +nullable // +optional Placement Placement `json:"placement,omitempty"` // The annotations-related configuration to add/set on each Pod related object. // +nullable // +optional Annotations Annotations `json:"annotations,omitempty"` // The labels-related configuration to add/set on each Pod related object. // +nullable // +optional Labels Labels `json:"labels,omitempty"` // The resource requirements for the cephfs-mirror pods // +nullable // +optional Resources v1.ResourceRequirements `json:"resources,omitempty"` // PriorityClassName sets priority class on the cephfs-mirror pods // +optional PriorityClassName string `json:"priorityClassName,omitempty"` }
FilesystemMirroringSpec is the filesystem mirroring specification
func (*FilesystemMirroringSpec) DeepCopy ¶
func (in *FilesystemMirroringSpec) DeepCopy() *FilesystemMirroringSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilesystemMirroringSpec.
func (*FilesystemMirroringSpec) DeepCopyInto ¶
func (in *FilesystemMirroringSpec) DeepCopyInto(out *FilesystemMirroringSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FilesystemSnapshotScheduleStatusRetention ¶
type FilesystemSnapshotScheduleStatusRetention struct { // Start is when the snapshot schedule starts // +optional Start string `json:"start,omitempty"` // Created is when the snapshot schedule was created // +optional Created string `json:"created,omitempty"` // First is when the first snapshot schedule was taken // +optional First string `json:"first,omitempty"` // Last is when the last snapshot schedule was taken // +optional Last string `json:"last,omitempty"` // LastPruned is when the last snapshot schedule was pruned // +optional LastPruned string `json:"last_pruned,omitempty"` // CreatedCount is total amount of snapshots // +optional CreatedCount int `json:"created_count,omitempty"` // PrunedCount is total amount of pruned snapshots // +optional PrunedCount int `json:"pruned_count,omitempty"` // Active is whether the scheduled is active or not // +optional Active bool `json:"active,omitempty"` }
FilesystemSnapshotScheduleStatusRetention is the retention specification for a filesystem snapshot schedule
func (*FilesystemSnapshotScheduleStatusRetention) DeepCopy ¶
func (in *FilesystemSnapshotScheduleStatusRetention) DeepCopy() *FilesystemSnapshotScheduleStatusRetention
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilesystemSnapshotScheduleStatusRetention.
func (*FilesystemSnapshotScheduleStatusRetention) DeepCopyInto ¶
func (in *FilesystemSnapshotScheduleStatusRetention) DeepCopyInto(out *FilesystemSnapshotScheduleStatusRetention)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FilesystemSnapshotScheduleStatusSpec ¶
type FilesystemSnapshotScheduleStatusSpec struct { // SnapshotSchedules is the list of snapshots scheduled // +nullable // +optional SnapshotSchedules []FilesystemSnapshotSchedulesSpec `json:"snapshotSchedules,omitempty"` // LastChecked is the last time time the status was checked // +optional LastChecked string `json:"lastChecked,omitempty"` // LastChanged is the last time time the status last changed // +optional LastChanged string `json:"lastChanged,omitempty"` // Details contains potential status errors // +optional Details string `json:"details,omitempty"` }
FilesystemSnapshotScheduleStatusSpec is the status of the snapshot schedule
func (*FilesystemSnapshotScheduleStatusSpec) DeepCopy ¶
func (in *FilesystemSnapshotScheduleStatusSpec) DeepCopy() *FilesystemSnapshotScheduleStatusSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilesystemSnapshotScheduleStatusSpec.
func (*FilesystemSnapshotScheduleStatusSpec) DeepCopyInto ¶
func (in *FilesystemSnapshotScheduleStatusSpec) DeepCopyInto(out *FilesystemSnapshotScheduleStatusSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FilesystemSnapshotSchedulesSpec ¶
type FilesystemSnapshotSchedulesSpec struct { // Fs is the name of the Ceph Filesystem // +optional Fs string `json:"fs,omitempty"` // Subvol is the name of the sub volume // +optional Subvol string `json:"subvol,omitempty"` // Path is the path on the filesystem // +optional Path string `json:"path,omitempty"` // +optional RelPath string `json:"rel_path,omitempty"` // +optional Schedule string `json:"schedule,omitempty"` // +optional Retention FilesystemSnapshotScheduleStatusRetention `json:"retention,omitempty"` }
FilesystemSnapshotSchedulesSpec is the list of snapshot scheduled for images in a pool
func (*FilesystemSnapshotSchedulesSpec) DeepCopy ¶
func (in *FilesystemSnapshotSchedulesSpec) DeepCopy() *FilesystemSnapshotSchedulesSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilesystemSnapshotSchedulesSpec.
func (*FilesystemSnapshotSchedulesSpec) DeepCopyInto ¶
func (in *FilesystemSnapshotSchedulesSpec) DeepCopyInto(out *FilesystemSnapshotSchedulesSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FilesystemSpec ¶
type FilesystemSpec struct { // The metadata pool settings // +nullable MetadataPool PoolSpec `json:"metadataPool"` // The data pool settings, with optional predefined pool name. // +nullable DataPools []NamedPoolSpec `json:"dataPools"` // Preserve pools on filesystem deletion // +optional PreservePoolsOnDelete bool `json:"preservePoolsOnDelete,omitempty"` // Preserve the fs in the cluster on CephFilesystem CR deletion. Setting this to true automatically implies PreservePoolsOnDelete is true. // +optional PreserveFilesystemOnDelete bool `json:"preserveFilesystemOnDelete,omitempty"` // The mds pod info MetadataServer MetadataServerSpec `json:"metadataServer"` // The mirroring settings // +nullable // +optional Mirroring *FSMirroringSpec `json:"mirroring,omitempty"` // The mirroring statusCheck // +kubebuilder:pruning:PreserveUnknownFields StatusCheck MirrorHealthCheckSpec `json:"statusCheck,omitempty"` }
FilesystemSpec represents the spec of a file system
func (*FilesystemSpec) DeepCopy ¶
func (in *FilesystemSpec) DeepCopy() *FilesystemSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilesystemSpec.
func (*FilesystemSpec) DeepCopyInto ¶
func (in *FilesystemSpec) DeepCopyInto(out *FilesystemSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FilesystemsSpec ¶
type FilesystemsSpec struct { // FilesystemID is the filesystem identifier // +optional FilesystemID int `json:"filesystem_id,omitempty"` // Name is name of the filesystem // +optional Name string `json:"name,omitempty"` // DirectoryCount is the number of directories in the filesystem // +optional DirectoryCount int `json:"directory_count,omitempty"` // Peers represents the mirroring peers // +optional Peers []FilesystemMirrorInfoPeerSpec `json:"peers,omitempty"` }
FilesystemsSpec is spec for the mirrored filesystem
func (*FilesystemsSpec) DeepCopy ¶
func (in *FilesystemsSpec) DeepCopy() *FilesystemsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilesystemsSpec.
func (*FilesystemsSpec) DeepCopyInto ¶
func (in *FilesystemsSpec) DeepCopyInto(out *FilesystemsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GaneshaRADOSSpec ¶
type GaneshaRADOSSpec struct { // The Ceph pool used store the shared configuration for NFS-Ganesha daemons. // This setting is deprecated, as it is internally required to be ".nfs". // +optional Pool string `json:"pool,omitempty"` // The namespace inside the Ceph pool (set by 'pool') where shared NFS-Ganesha config is stored. // This setting is deprecated as it is internally set to the name of the CephNFS. // +optional Namespace string `json:"namespace,omitempty"` }
GaneshaRADOSSpec represents the specification of a Ganesha RADOS object
func (*GaneshaRADOSSpec) DeepCopy ¶
func (in *GaneshaRADOSSpec) DeepCopy() *GaneshaRADOSSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GaneshaRADOSSpec.
func (*GaneshaRADOSSpec) DeepCopyInto ¶
func (in *GaneshaRADOSSpec) DeepCopyInto(out *GaneshaRADOSSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GaneshaServerSpec ¶
type GaneshaServerSpec struct { // The number of active Ganesha servers Active int `json:"active"` // The affinity to place the ganesha pods // +kubebuilder:pruning:PreserveUnknownFields // +nullable // +optional Placement Placement `json:"placement,omitempty"` // The annotations-related configuration to add/set on each Pod related object. // +kubebuilder:pruning:PreserveUnknownFields // +nullable // +optional Annotations Annotations `json:"annotations,omitempty"` // The labels-related configuration to add/set on each Pod related object. // +kubebuilder:pruning:PreserveUnknownFields // +nullable // +optional Labels Labels `json:"labels,omitempty"` // Resources set resource requests and limits // +kubebuilder:pruning:PreserveUnknownFields // +nullable // +optional Resources v1.ResourceRequirements `json:"resources,omitempty"` // PriorityClassName sets the priority class on the pods // +optional PriorityClassName string `json:"priorityClassName,omitempty"` // LogLevel set logging level // +optional LogLevel string `json:"logLevel,omitempty"` // Whether host networking is enabled for the Ganesha server. If not set, the network settings from the cluster CR will be applied. // +nullable // +optional HostNetwork *bool `json:"hostNetwork,omitempty"` // A liveness-probe to verify that Ganesha server has valid run-time state. // If LivenessProbe.Disabled is false and LivenessProbe.Probe is nil uses default probe. // +optional LivenessProbe *ProbeSpec `json:"livenessProbe,omitempty"` }
GaneshaServerSpec represents the specification of a Ganesha Server
func (*GaneshaServerSpec) DeepCopy ¶
func (in *GaneshaServerSpec) DeepCopy() *GaneshaServerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GaneshaServerSpec.
func (*GaneshaServerSpec) DeepCopyInto ¶
func (in *GaneshaServerSpec) DeepCopyInto(out *GaneshaServerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GatewaySpec ¶
type GatewaySpec struct { // The port the rgw service will be listening on (http) // +optional Port int32 `json:"port,omitempty"` // The port the rgw service will be listening on (https) // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=65535 // +nullable // +optional SecurePort int32 `json:"securePort,omitempty"` // The number of pods in the rgw replicaset. // +nullable // +optional Instances int32 `json:"instances,omitempty"` // The name of the secret that stores the ssl certificate for secure rgw connections // +nullable // +optional SSLCertificateRef string `json:"sslCertificateRef,omitempty"` // The name of the secret that stores custom ca-bundle with root and intermediate certificates. // +nullable // +optional CaBundleRef string `json:"caBundleRef,omitempty"` // The affinity to place the rgw pods (default is to place on any available node) // +kubebuilder:pruning:PreserveUnknownFields // +nullable // +optional Placement Placement `json:"placement,omitempty"` // DisableMultisiteSyncTraffic, when true, prevents this object store's gateways from // transmitting multisite replication data. Note that this value does not affect whether // gateways receive multisite replication traffic: see ObjectZone.spec.customEndpoints for that. // If false or unset, this object store's gateways will be able to transmit multisite // replication data. // +optional DisableMultisiteSyncTraffic bool `json:"disableMultisiteSyncTraffic,omitempty"` // The annotations-related configuration to add/set on each Pod related object. // +kubebuilder:pruning:PreserveUnknownFields // +nullable // +optional Annotations Annotations `json:"annotations,omitempty"` // The labels-related configuration to add/set on each Pod related object. // +kubebuilder:pruning:PreserveUnknownFields // +nullable // +optional Labels Labels `json:"labels,omitempty"` // The resource requirements for the rgw pods // +kubebuilder:pruning:PreserveUnknownFields // +nullable // +optional Resources v1.ResourceRequirements `json:"resources,omitempty"` // PriorityClassName sets priority classes on the rgw pods // +optional PriorityClassName string `json:"priorityClassName,omitempty"` // ExternalRgwEndpoints points to external RGW endpoint(s). Multiple endpoints can be given, but // for stability of ObjectBucketClaims, we highly recommend that users give only a single // external RGW endpoint that is a load balancer that sends requests to the multiple RGWs. // +nullable // +optional ExternalRgwEndpoints []EndpointAddress `json:"externalRgwEndpoints,omitempty"` // The configuration related to add/set on each rgw service. // +optional // +nullable Service *RGWServiceSpec `json:"service,omitempty"` // Whether host networking is enabled for the rgw daemon. If not set, the network settings from the cluster CR will be applied. // +kubebuilder:pruning:PreserveUnknownFields // +nullable // +optional HostNetwork *bool `json:"hostNetwork,omitempty"` // Whether rgw dashboard is enabled for the rgw daemon. If not set, the rgw dashboard will be enabled. // +kubebuilder:pruning:PreserveUnknownFields // +nullable // +optional DashboardEnabled *bool `json:"dashboardEnabled,omitempty"` // AdditionalVolumeMounts allows additional volumes to be mounted to the RGW pod. // The root directory for each additional volume mount is `/var/rgw`. // Example: for an additional mount at subPath `ldap`, mounted from a secret that has key // `bindpass.secret`, the file would reside at `/var/rgw/ldap/bindpass.secret`. AdditionalVolumeMounts AdditionalVolumeMounts `json:"additionalVolumeMounts,omitempty"` }
GatewaySpec represents the specification of Ceph Object Store Gateway
func (*GatewaySpec) DeepCopy ¶
func (in *GatewaySpec) DeepCopy() *GatewaySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewaySpec.
func (*GatewaySpec) DeepCopyInto ¶
func (in *GatewaySpec) DeepCopyInto(out *GatewaySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPEndpointSpec ¶
type HTTPEndpointSpec struct { // The URI of the HTTP endpoint to push notification to // +kubebuilder:validation:MinLength=1 URI string `json:"uri"` // Indicate whether the server certificate is validated by the client or not // +optional DisableVerifySSL bool `json:"disableVerifySSL,omitempty"` // Send the notifications with the CloudEvents header: https://github.com/cloudevents/spec/blob/main/cloudevents/adapters/aws-s3.md // +optional SendCloudEvents bool `json:"sendCloudEvents,omitempty"` }
HTTPEndpointSpec represent the spec of an HTTP endpoint of a Bucket Topic
func (*HTTPEndpointSpec) DeepCopy ¶
func (in *HTTPEndpointSpec) DeepCopy() *HTTPEndpointSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPEndpointSpec.
func (*HTTPEndpointSpec) DeepCopyInto ¶
func (in *HTTPEndpointSpec) DeepCopyInto(out *HTTPEndpointSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthCheckSpec ¶
type HealthCheckSpec struct { // +optional Disabled bool `json:"disabled,omitempty"` // Interval is the internal in second or minute for the health check to run like 60s for 60 seconds // +optional Interval *metav1.Duration `json:"interval,omitempty"` // +optional Timeout string `json:"timeout,omitempty"` }
HealthCheckSpec represents the health check of an object store bucket
func (*HealthCheckSpec) DeepCopy ¶
func (in *HealthCheckSpec) DeepCopy() *HealthCheckSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckSpec.
func (*HealthCheckSpec) DeepCopyInto ¶
func (in *HealthCheckSpec) DeepCopyInto(out *HealthCheckSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HybridStorageSpec ¶
type HybridStorageSpec struct { // PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:Required // +required PrimaryDeviceClass string `json:"primaryDeviceClass"` // SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:Required // +required SecondaryDeviceClass string `json:"secondaryDeviceClass"` }
HybridStorageSpec represents the settings for hybrid storage pool
func (*HybridStorageSpec) DeepCopy ¶
func (in *HybridStorageSpec) DeepCopy() *HybridStorageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HybridStorageSpec.
func (*HybridStorageSpec) DeepCopyInto ¶
func (in *HybridStorageSpec) DeepCopyInto(out *HybridStorageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPFamilyType ¶
type IPFamilyType string
IPFamilyType represents the single stack Ipv4 or Ipv6 protocol.
const ( // IPv6 internet protocol version IPv6 IPFamilyType = "IPv6" // IPv4 internet protocol version IPv4 IPFamilyType = "IPv4" )
type ImplicitTenantSetting ¶
type ImplicitTenantSetting string
const ( ImplicitTenantSwift ImplicitTenantSetting = "swift" ImplicitTenantS3 ImplicitTenantSetting = "s3" ImplicitTenantTrue ImplicitTenantSetting = "true" ImplicitTenantFalse ImplicitTenantSetting = "false" ImplicitTenantDefault ImplicitTenantSetting = "" )
type KafkaEndpointSpec ¶
type KafkaEndpointSpec struct { // The URI of the Kafka endpoint to push notification to // +kubebuilder:validation:MinLength=1 URI string `json:"uri"` // Indicate whether to use SSL when communicating with the broker // +optional UseSSL bool `json:"useSSL,omitempty"` // Indicate whether the server certificate is validated by the client or not // +optional DisableVerifySSL bool `json:"disableVerifySSL,omitempty"` // The ack level required for this topic (none/broker) // +kubebuilder:validation:Enum=none;broker // +kubebuilder:default=broker // +optional AckLevel string `json:"ackLevel,omitempty"` }
KafkaEndpointSpec represent the spec of a Kafka endpoint of a Bucket Topic
func (*KafkaEndpointSpec) DeepCopy ¶
func (in *KafkaEndpointSpec) DeepCopy() *KafkaEndpointSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KafkaEndpointSpec.
func (*KafkaEndpointSpec) DeepCopyInto ¶
func (in *KafkaEndpointSpec) DeepCopyInto(out *KafkaEndpointSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KerberosConfigFiles ¶
type KerberosConfigFiles struct { // VolumeSource accepts a pared down version of the standard Kubernetes VolumeSource for // Kerberos configuration files like what is normally used to configure Volumes for a Pod. For // example, a ConfigMap, Secret, or HostPath. The volume may contain multiple files, all of // which will be loaded. VolumeSource *ConfigFileVolumeSource `json:"volumeSource,omitempty"` }
KerberosConfigFiles represents the source(s) from which Kerberos configuration should come.
func (*KerberosConfigFiles) DeepCopy ¶
func (in *KerberosConfigFiles) DeepCopy() *KerberosConfigFiles
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KerberosConfigFiles.
func (*KerberosConfigFiles) DeepCopyInto ¶
func (in *KerberosConfigFiles) DeepCopyInto(out *KerberosConfigFiles)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KerberosKeytabFile ¶
type KerberosKeytabFile struct { // VolumeSource accepts a pared down version of the standard Kubernetes VolumeSource for the // Kerberos keytab file like what is normally used to configure Volumes for a Pod. For example, // a Secret or HostPath. // There are two requirements for the source's content: // 1. The config file must be mountable via `subPath: krb5.keytab`. For example, in a // Secret, the data item must be named `krb5.keytab`, or `items` must be defined to // select the key and give it path `krb5.keytab`. A HostPath directory must have the // `krb5.keytab` file. // 2. The volume or config file must have mode 0600. VolumeSource *ConfigFileVolumeSource `json:"volumeSource,omitempty"` }
KerberosKeytabFile represents the source(s) from which the Kerberos keytab file should come.
func (*KerberosKeytabFile) DeepCopy ¶
func (in *KerberosKeytabFile) DeepCopy() *KerberosKeytabFile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KerberosKeytabFile.
func (*KerberosKeytabFile) DeepCopyInto ¶
func (in *KerberosKeytabFile) DeepCopyInto(out *KerberosKeytabFile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KerberosSpec ¶
type KerberosSpec struct { // PrincipalName corresponds directly to NFS-Ganesha's NFS_KRB5:PrincipalName config. In // practice, this is the service prefix of the principal name. The default is "nfs". // This value is combined with (a) the namespace and name of the CephNFS (with a hyphen between) // and (b) the Realm configured in the user-provided krb5.conf to determine the full principal // name: <principalName>/<namespace>-<name>@<realm>. e.g., nfs/rook-ceph-my-nfs@example.net. // See https://github.com/nfs-ganesha/nfs-ganesha/wiki/RPCSEC_GSS for more detail. // +optional // +kubebuilder:default="nfs" PrincipalName string `json:"principalName"` // DomainName should be set to the Kerberos Realm. // +optional DomainName string `json:"domainName"` // ConfigFiles defines where the Kerberos configuration should be sourced from. Config files // will be placed into the `/etc/krb5.conf.rook/` directory. // // If this is left empty, Rook will not add any files. This allows you to manage the files // yourself however you wish. For example, you may build them into your custom Ceph container // image or use the Vault agent injector to securely add the files via annotations on the // CephNFS spec (passed to the NFS server pods). // // Rook configures Kerberos to log to stderr. We suggest removing logging sections from config // files to avoid consuming unnecessary disk space from logging to files. // +optional ConfigFiles KerberosConfigFiles `json:"configFiles"` // KeytabFile defines where the Kerberos keytab should be sourced from. The keytab file will be // placed into `/etc/krb5.keytab`. If this is left empty, Rook will not add the file. // This allows you to manage the `krb5.keytab` file yourself however you wish. For example, you // may build it into your custom Ceph container image or use the Vault agent injector to // securely add the file via annotations on the CephNFS spec (passed to the NFS server pods). // +optional KeytabFile KerberosKeytabFile `json:"keytabFile"` }
KerberosSpec represents configuration for Kerberos.
func (*KerberosSpec) DeepCopy ¶
func (in *KerberosSpec) DeepCopy() *KerberosSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KerberosSpec.
func (*KerberosSpec) DeepCopyInto ¶
func (in *KerberosSpec) DeepCopyInto(out *KerberosSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KerberosSpec) GetPrincipalName ¶
func (k *KerberosSpec) GetPrincipalName() string
GetPrincipalName gets the principal name for the Kerberos spec or the default value if it is unset.
type KeyManagementServiceSpec ¶
type KeyManagementServiceSpec struct { // ConnectionDetails contains the KMS connection details (address, port etc) // +optional // +nullable // +kubebuilder:pruning:PreserveUnknownFields ConnectionDetails map[string]string `json:"connectionDetails,omitempty"` // TokenSecretName is the kubernetes secret containing the KMS token // +optional TokenSecretName string `json:"tokenSecretName,omitempty"` }
KeyManagementServiceSpec represent various details of the KMS server
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.
func (*KeyManagementServiceSpec) IsAzureMS ¶
func (kms *KeyManagementServiceSpec) IsAzureMS() bool
func (*KeyManagementServiceSpec) IsEnabled ¶
func (kms *KeyManagementServiceSpec) IsEnabled() bool
IsEnabled return whether a KMS is configured
func (*KeyManagementServiceSpec) IsIBMKeyProtectKMS ¶
func (kms *KeyManagementServiceSpec) IsIBMKeyProtectKMS() bool
IsIBMKeyProtectKMS return whether IBM Key Protect KMS is configured
func (*KeyManagementServiceSpec) IsK8sAuthEnabled ¶
func (kms *KeyManagementServiceSpec) IsK8sAuthEnabled() bool
IsK8sAuthEnabled return whether KMS Kubernetes auth is enabled
func (*KeyManagementServiceSpec) IsKMIPKMS ¶
func (kms *KeyManagementServiceSpec) IsKMIPKMS() bool
IsKMIPKMS return whether KMIP KMS is configured
func (*KeyManagementServiceSpec) IsTLSEnabled ¶
func (kms *KeyManagementServiceSpec) IsTLSEnabled() bool
IsTLSEnabled return KMS TLS details are configured
func (*KeyManagementServiceSpec) IsTokenAuthEnabled ¶
func (kms *KeyManagementServiceSpec) IsTokenAuthEnabled() bool
IsTokenAuthEnabled return whether KMS token auth is enabled
func (*KeyManagementServiceSpec) IsVaultKMS ¶
func (kms *KeyManagementServiceSpec) IsVaultKMS() bool
IsVaultKMS return whether Vault KMS is configured
type KeyRotationSpec ¶
type KeyRotationSpec struct { // Enabled represents whether the key rotation is enabled. // +optional // +kubebuilder:default=false Enabled bool `json:"enabled,omitempty"` // Schedule represents the cron schedule for key rotation. // +optional Schedule string `json:"schedule,omitempty"` }
KeyRotationSpec represents the settings for Key Rotation.
func (*KeyRotationSpec) DeepCopy ¶
func (in *KeyRotationSpec) DeepCopy() *KeyRotationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyRotationSpec.
func (*KeyRotationSpec) DeepCopyInto ¶
func (in *KeyRotationSpec) DeepCopyInto(out *KeyRotationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeyType ¶
type KeyType string
KeyType type safety
const ( KeyAll = "all" KeyMds KeyType = "mds" KeyRgw KeyType = "rgw" KeyMon KeyType = "mon" KeyMonArbiter KeyType = "arbiter" KeyMgr KeyType = "mgr" KeyDashboard KeyType = "dashboard" KeyOSDPrepare KeyType = "prepareosd" KeyRotation KeyType = "keyrotation" KeyOSD KeyType = "osd" KeyCleanup KeyType = "cleanup" KeyMonitoring KeyType = "monitoring" KeyCrashCollector KeyType = "crashcollector" KeyClusterMetadata KeyType = "clusterMetadata" KeyCephExporter KeyType = "exporter" KeyCmdReporter KeyType = "cmdreporter" )
type KeystoneSpec ¶
type KeystoneSpec struct { // The URL for the Keystone server. Url string `json:"url"` // The name of the secret containing the credentials for the service user account used by RGW. It has to be in the same namespace as the object store resource. ServiceUserSecretName string `json:"serviceUserSecretName"` // The roles requires to serve requests. AcceptedRoles []string `json:"acceptedRoles"` // Create new users in their own tenants of the same name. Possible values are true, false, swift and s3. The latter have the effect of splitting the identity space such that only the indicated protocol will use implicit tenants. // +optional ImplicitTenants ImplicitTenantSetting `json:"implicitTenants,omitempty"` // The maximum number of entries in each Keystone token cache. // +optional // +nullable TokenCacheSize *int `json:"tokenCacheSize,omitempty"` // The number of seconds between token revocation checks. // +optional // +nullable RevocationInterval *int `json:"revocationInterval,omitempty"` }
KeystoneSpec represents the Keystone authentication configuration of a Ceph Object Store Gateway
func (*KeystoneSpec) DeepCopy ¶
func (in *KeystoneSpec) DeepCopy() *KeystoneSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeystoneSpec.
func (*KeystoneSpec) DeepCopyInto ¶
func (in *KeystoneSpec) DeepCopyInto(out *KeystoneSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Labels ¶
Labels are label for a given daemons
func GetCephExporterLabels ¶
func GetCephExporterLabels(a LabelsSpec) Labels
func GetCleanupLabels ¶
func GetCleanupLabels(a LabelsSpec) Labels
GetCleanupLabels returns the Labels for the cleanup job
func GetCmdReporterLabels ¶
func GetCmdReporterLabels(a LabelsSpec) Labels
func GetCrashCollectorLabels ¶
func GetCrashCollectorLabels(a LabelsSpec) Labels
GetCrashCollectorLabels returns the Labels for the crash collector resources
func GetDashboardLabels ¶
func GetDashboardLabels(a LabelsSpec) Labels
GetDashboardLabels returns the Labels for the Dashboard service
func GetKeyRotationLabels ¶
func GetKeyRotationLabels(a LabelsSpec) Labels
GetKeyRotationLabels returns labels for the key Rotation job
func GetMgrLabels ¶
func GetMgrLabels(a LabelsSpec) Labels
GetMgrLabels returns the Labels for the MGR service
func GetMonLabels ¶
func GetMonLabels(a LabelsSpec) Labels
GetMonLabels returns the Labels for the MON service
func GetMonitoringLabels ¶
func GetMonitoringLabels(a LabelsSpec) Labels
GetMonitoringLabels returns the Labels for monitoring resources
func GetOSDLabels ¶
func GetOSDLabels(a LabelsSpec) Labels
GetOSDLabels returns the Labels for the OSD service
func GetOSDPrepareLabels ¶
func GetOSDPrepareLabels(a LabelsSpec) Labels
GetOSDPrepareLabels returns the Labels for the OSD prepare job
func (Labels) ApplyToObjectMeta ¶
func (a Labels) ApplyToObjectMeta(t *metav1.ObjectMeta)
ApplyToObjectMeta adds labels to object meta unless the keys are already defined.
func (Labels) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Labels.
func (Labels) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Labels) Merge ¶
Merge returns a Labels which results from merging the attributes of the original Labels with the attributes of the supplied one. The supplied Labels attributes will override the original ones if defined.
func (Labels) OverwriteApplyToObjectMeta ¶
func (a Labels) OverwriteApplyToObjectMeta(t *metav1.ObjectMeta)
OverwriteApplyToObjectMeta adds labels to object meta, overwriting keys that are already defined.
type LabelsSpec ¶
LabelsSpec is the main spec label for all daemons
func (LabelsSpec) All ¶
func (a LabelsSpec) All() Labels
func (LabelsSpec) DeepCopy ¶
func (in LabelsSpec) DeepCopy() LabelsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LabelsSpec.
func (LabelsSpec) DeepCopyInto ¶
func (in LabelsSpec) DeepCopyInto(out *LabelsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LogCollectorSpec ¶
type LogCollectorSpec struct { // Enabled represents whether the log collector is enabled // +optional Enabled bool `json:"enabled,omitempty"` // Periodicity is the periodicity of the log rotation. // +kubebuilder:validation:Pattern=`^$|^(hourly|daily|weekly|monthly|1h|24h|1d)$` // +optional Periodicity string `json:"periodicity,omitempty"` // MaxLogSize is the maximum size of the log per ceph daemons. Must be at least 1M. // +optional MaxLogSize *resource.Quantity `json:"maxLogSize,omitempty"` }
LogCollectorSpec is the logging spec
func (*LogCollectorSpec) DeepCopy ¶
func (in *LogCollectorSpec) DeepCopy() *LogCollectorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogCollectorSpec.
func (*LogCollectorSpec) DeepCopyInto ¶
func (in *LogCollectorSpec) DeepCopyInto(out *LogCollectorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetadataServerSpec ¶
type MetadataServerSpec struct { // The number of metadata servers that are active. The remaining servers in the cluster will be in standby mode. // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=50 ActiveCount int32 `json:"activeCount"` // Whether each active MDS instance will have an active standby with a warm metadata cache for faster failover. // If false, standbys will still be available, but will not have a warm metadata cache. // +optional ActiveStandby bool `json:"activeStandby,omitempty"` // The affinity to place the mds pods (default is to place on all available node) with a daemonset // +kubebuilder:pruning:PreserveUnknownFields // +nullable // +optional Placement Placement `json:"placement,omitempty"` // The annotations-related configuration to add/set on each Pod related object. // +kubebuilder:pruning:PreserveUnknownFields // +nullable // +optional Annotations Annotations `json:"annotations,omitempty"` // The labels-related configuration to add/set on each Pod related object. // +kubebuilder:pruning:PreserveUnknownFields // +nullable // +optional Labels Labels `json:"labels,omitempty"` // The resource requirements for the mds pods // +kubebuilder:pruning:PreserveUnknownFields // +nullable // +optional Resources v1.ResourceRequirements `json:"resources,omitempty"` // PriorityClassName sets priority classes on components // +optional PriorityClassName string `json:"priorityClassName,omitempty"` // +optional LivenessProbe *ProbeSpec `json:"livenessProbe,omitempty"` // +optional StartupProbe *ProbeSpec `json:"startupProbe,omitempty"` }
MetadataServerSpec represents the specification of a Ceph Metadata Server
func (*MetadataServerSpec) DeepCopy ¶
func (in *MetadataServerSpec) DeepCopy() *MetadataServerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataServerSpec.
func (*MetadataServerSpec) DeepCopyInto ¶
func (in *MetadataServerSpec) DeepCopyInto(out *MetadataServerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MgrSpec ¶
type MgrSpec struct { // Count is the number of manager daemons to run // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=5 // +optional Count int `json:"count,omitempty"` // AllowMultiplePerNode allows to run multiple managers on the same node (not recommended) // +optional AllowMultiplePerNode bool `json:"allowMultiplePerNode,omitempty"` // Modules is the list of ceph manager modules to enable/disable // +optional // +nullable Modules []Module `json:"modules,omitempty"` }
MgrSpec represents options to configure a ceph mgr
func (*MgrSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MgrSpec.
func (*MgrSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MirrorHealthCheckSpec ¶
type MirrorHealthCheckSpec struct { // +optional // +nullable Mirror HealthCheckSpec `json:"mirror,omitempty"` }
MirrorHealthCheckSpec represents the health specification of a Ceph Storage Pool mirror
func (*MirrorHealthCheckSpec) DeepCopy ¶
func (in *MirrorHealthCheckSpec) DeepCopy() *MirrorHealthCheckSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MirrorHealthCheckSpec.
func (*MirrorHealthCheckSpec) DeepCopyInto ¶
func (in *MirrorHealthCheckSpec) DeepCopyInto(out *MirrorHealthCheckSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MirroringInfoSpec ¶
type MirroringInfoSpec struct { // +optional *PoolMirroringInfo `json:",inline"` // +optional LastChecked string `json:"lastChecked,omitempty"` // +optional LastChanged string `json:"lastChanged,omitempty"` // +optional Details string `json:"details,omitempty"` }
MirroringInfoSpec is the status of the pool mirroring
func (*MirroringInfoSpec) DeepCopy ¶
func (in *MirroringInfoSpec) DeepCopy() *MirroringInfoSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MirroringInfoSpec.
func (*MirroringInfoSpec) DeepCopyInto ¶
func (in *MirroringInfoSpec) DeepCopyInto(out *MirroringInfoSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MirroringPeerSpec ¶
type MirroringPeerSpec struct { // SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers // +optional SecretNames []string `json:"secretNames,omitempty"` }
MirroringPeerSpec represents the specification of a mirror peer
func (*MirroringPeerSpec) DeepCopy ¶
func (in *MirroringPeerSpec) DeepCopy() *MirroringPeerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MirroringPeerSpec.
func (*MirroringPeerSpec) DeepCopyInto ¶
func (in *MirroringPeerSpec) DeepCopyInto(out *MirroringPeerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MirroringPeerSpec) HasPeers ¶
func (m *MirroringPeerSpec) HasPeers() bool
HasPeers returns whether the RBD mirror daemon has peer and should connect to it
type MirroringSpec ¶
type MirroringSpec struct { // Enabled whether this pool is mirrored or not // +optional Enabled bool `json:"enabled,omitempty"` // Mode is the mirroring mode: either pool or image // +optional Mode string `json:"mode,omitempty"` // SnapshotSchedules is the scheduling of snapshot for mirrored images/pools // +optional SnapshotSchedules []SnapshotScheduleSpec `json:"snapshotSchedules,omitempty"` // Peers represents the peers spec // +nullable // +optional Peers *MirroringPeerSpec `json:"peers,omitempty"` }
MirroringSpec represents the setting for a mirrored pool
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.
func (*MirroringSpec) SnapshotSchedulesEnabled ¶
func (p *MirroringSpec) SnapshotSchedulesEnabled() bool
SnapshotSchedulesEnabled returns whether snapshot schedules are desired
type MirroringStatusSpec ¶
type MirroringStatusSpec struct { // PoolMirroringStatus is the mirroring status of a pool // +optional PoolMirroringStatus `json:",inline"` // LastChecked is the last time time the status was checked // +optional LastChecked string `json:"lastChecked,omitempty"` // LastChanged is the last time time the status last changed // +optional LastChanged string `json:"lastChanged,omitempty"` // Details contains potential status errors // +optional Details string `json:"details,omitempty"` }
MirroringStatusSpec is the status of the pool mirroring
func (*MirroringStatusSpec) DeepCopy ¶
func (in *MirroringStatusSpec) DeepCopy() *MirroringStatusSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MirroringStatusSpec.
func (*MirroringStatusSpec) DeepCopyInto ¶
func (in *MirroringStatusSpec) DeepCopyInto(out *MirroringStatusSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Module ¶
type Module struct { // Name is the name of the ceph manager module // +optional Name string `json:"name,omitempty"` // Enabled determines whether a module should be enabled or not // +optional Enabled bool `json:"enabled,omitempty"` // Settings to further configure the module Settings ModuleSettings `json:"settings,omitempty"` }
Module represents mgr modules that the user wants to enable or disable
func (*Module) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Module.
func (*Module) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ModuleSettings ¶
type ModuleSettings struct { // BalancerMode sets the `balancer` module with different modes like `upmap`, `crush-compact` etc // +kubebuilder:validation:Enum="";crush-compat;upmap;read;upmap-read BalancerMode string `json:"balancerMode,omitempty"` }
func (*ModuleSettings) DeepCopy ¶
func (in *ModuleSettings) DeepCopy() *ModuleSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModuleSettings.
func (*ModuleSettings) DeepCopyInto ¶
func (in *ModuleSettings) DeepCopyInto(out *ModuleSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonSpec ¶
type MonSpec struct { // Count is the number of Ceph monitors // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=9 // +optional Count int `json:"count,omitempty"` // AllowMultiplePerNode determines if we can run multiple monitors on the same node (not recommended) // +optional AllowMultiplePerNode bool `json:"allowMultiplePerNode,omitempty"` // +optional FailureDomainLabel string `json:"failureDomainLabel,omitempty"` // Zones are specified when we want to provide zonal awareness to mons // +optional Zones []MonZoneSpec `json:"zones,omitempty"` // StretchCluster is the stretch cluster specification // +optional StretchCluster *StretchClusterSpec `json:"stretchCluster,omitempty"` // VolumeClaimTemplate is the PVC definition // +kubebuilder:pruning:PreserveUnknownFields // +optional VolumeClaimTemplate *VolumeClaimTemplate `json:"volumeClaimTemplate,omitempty"` }
MonSpec represents the specification of the monitor +kubebuilder:validation:XValidation:message="zones must be less than or equal to count",rule="!has(self.zones) || (has(self.zones) && (size(self.zones) <= self.count))" +kubebuilder:validation:XValidation:message="stretchCluster zones must be equal to 3",rule="!has(self.stretchCluster) || (has(self.stretchCluster) && (size(self.stretchCluster.zones) > 0) && (size(self.stretchCluster.zones) == 3))"
func (*MonSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonSpec.
func (*MonSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonZoneSpec ¶
type MonZoneSpec struct { // Name is the name of the zone // +optional Name string `json:"name,omitempty"` // Arbiter determines if the zone contains the arbiter used for stretch cluster mode // +optional Arbiter bool `json:"arbiter,omitempty"` // VolumeClaimTemplate is the PVC template // +kubebuilder:pruning:PreserveUnknownFields // +optional VolumeClaimTemplate *VolumeClaimTemplate `json:"volumeClaimTemplate,omitempty"` }
MonZoneSpec represents the specification of a zone in a Ceph Cluster
func (*MonZoneSpec) DeepCopy ¶
func (in *MonZoneSpec) DeepCopy() *MonZoneSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonZoneSpec.
func (*MonZoneSpec) DeepCopyInto ¶
func (in *MonZoneSpec) DeepCopyInto(out *MonZoneSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonitoringSpec ¶
type MonitoringSpec struct { // Enabled determines whether to create the prometheus rules for the ceph cluster. If true, the prometheus // types must exist or the creation will fail. Default is false. // +optional Enabled bool `json:"enabled,omitempty"` // Whether to disable the metrics reported by Ceph. If false, the prometheus mgr module and Ceph exporter are enabled. // If true, the prometheus mgr module and Ceph exporter are both disabled. Default is false. // +optional MetricsDisabled bool `json:"metricsDisabled,omitempty"` // ExternalMgrEndpoints points to an existing Ceph prometheus exporter endpoint // +optional // +nullable ExternalMgrEndpoints []v1.EndpointAddress `json:"externalMgrEndpoints,omitempty"` // ExternalMgrPrometheusPort Prometheus exporter port // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=65535 // +optional ExternalMgrPrometheusPort uint16 `json:"externalMgrPrometheusPort,omitempty"` // Port is the prometheus server port // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=65535 // +optional Port int `json:"port,omitempty"` // Interval determines prometheus scrape interval // +optional Interval *metav1.Duration `json:"interval,omitempty"` }
MonitoringSpec represents the settings for Prometheus based Ceph monitoring
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 MultiClusterServiceSpec ¶
type MultiClusterServiceSpec struct { // Enable multiClusterService to export the mon and OSD services to peer cluster. // Ensure that peer clusters are connected using an MCS API compatible application, // like Globalnet Submariner. // +optional Enabled bool `json:"enabled,omitempty"` // ClusterID uniquely identifies a cluster. It is used as a prefix to nslookup exported // services. For example: <clusterid>.<svc>.<ns>.svc.clusterset.local ClusterID string `json:"clusterID,omitempty"` }
func (*MultiClusterServiceSpec) DeepCopy ¶
func (in *MultiClusterServiceSpec) DeepCopy() *MultiClusterServiceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MultiClusterServiceSpec.
func (*MultiClusterServiceSpec) DeepCopyInto ¶
func (in *MultiClusterServiceSpec) DeepCopyInto(out *MultiClusterServiceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NFSGaneshaSpec ¶
type NFSGaneshaSpec struct { // RADOS is the Ganesha RADOS specification // +nullable // +optional RADOS GaneshaRADOSSpec `json:"rados,omitempty"` // Server is the Ganesha Server specification Server GaneshaServerSpec `json:"server"` // Security allows specifying security configurations for the NFS cluster // +nullable // +optional Security *NFSSecuritySpec `json:"security"` }
NFSGaneshaSpec represents the spec of an nfs ganesha server
func (*NFSGaneshaSpec) DeepCopy ¶
func (in *NFSGaneshaSpec) DeepCopy() *NFSGaneshaSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NFSGaneshaSpec.
func (*NFSGaneshaSpec) DeepCopyInto ¶
func (in *NFSGaneshaSpec) DeepCopyInto(out *NFSGaneshaSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NFSSecuritySpec ¶
type NFSSecuritySpec struct { // SSSD enables integration with System Security Services Daemon (SSSD). SSSD can be used to // provide user ID mapping from a number of sources. See https://sssd.io for more information // about the SSSD project. // +optional // +nullable SSSD *SSSDSpec `json:"sssd,omitempty"` // Kerberos configures NFS-Ganesha to secure NFS client connections with Kerberos. // +optional // +nullable Kerberos *KerberosSpec `json:"kerberos,omitempty"` }
NFSSecuritySpec represents security configurations for an NFS server pod
func (*NFSSecuritySpec) DeepCopy ¶
func (in *NFSSecuritySpec) DeepCopy() *NFSSecuritySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NFSSecuritySpec.
func (*NFSSecuritySpec) DeepCopyInto ¶
func (in *NFSSecuritySpec) DeepCopyInto(out *NFSSecuritySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NFSSecuritySpec) KerberosEnabled ¶
func (n *NFSSecuritySpec) KerberosEnabled() bool
KerberosEnabled returns true if Kerberos is enabled from the spec.
func (*NFSSecuritySpec) Validate ¶
func (sec *NFSSecuritySpec) Validate() error
type NamedBlockPoolSpec ¶
type NamedBlockPoolSpec struct { // The desired name of the pool if different from the CephBlockPool CR name. // +kubebuilder:validation:Enum=.rgw.root;.nfs;.mgr // +optional Name string `json:"name,omitempty"` // The core pool configuration PoolSpec `json:",inline"` }
NamedBlockPoolSpec allows a block pool to be created with a non-default name. This is more specific than the NamedPoolSpec so we get schema validation on the allowed pool names that can be specified.
func (*NamedBlockPoolSpec) DeepCopy ¶
func (in *NamedBlockPoolSpec) DeepCopy() *NamedBlockPoolSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamedBlockPoolSpec.
func (*NamedBlockPoolSpec) DeepCopyInto ¶
func (in *NamedBlockPoolSpec) DeepCopyInto(out *NamedBlockPoolSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NamedPoolSpec ¶
type NamedPoolSpec struct { // Name of the pool Name string `json:"name,omitempty"` // PoolSpec represents the spec of ceph pool PoolSpec `json:",inline"` }
NamedPoolSpec represents the named ceph pool spec
func (*NamedPoolSpec) DeepCopy ¶
func (in *NamedPoolSpec) DeepCopy() *NamedPoolSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamedPoolSpec.
func (*NamedPoolSpec) DeepCopyInto ¶
func (in *NamedPoolSpec) DeepCopyInto(out *NamedPoolSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkProviderType ¶
type NetworkProviderType string
NetworkProviderType defines valid network providers for Rook. +kubebuilder:validation:Enum="";host;multus
type NetworkSpec ¶
type NetworkSpec struct { // Provider is what provides network connectivity to the cluster e.g. "host" or "multus". // If the Provider is updated from being empty to "host" on a running cluster, then the operator will automatically fail over all the mons to apply the "host" network settings. // +kubebuilder:validation:XValidation:message="network provider must be disabled (reverted to empty string) before a new provider is enabled",rule="self == ” || self == oldSelf" // +nullable // +optional Provider NetworkProviderType `json:"provider,omitempty"` // Selectors define NetworkAttachmentDefinitions to be used for Ceph public and/or cluster // networks when the "multus" network provider is used. This config section is not used for // other network providers. // // Valid keys are "public" and "cluster". Refer to Ceph networking documentation for more: // https://docs.ceph.com/en/reef/rados/configuration/network-config-ref/ // // Refer to Multus network annotation documentation for help selecting values: // https://github.com/k8snetworkplumbingwg/multus-cni/blob/master/docs/how-to-use.md#run-pod-with-network-annotation // // Rook will make a best-effort attempt to automatically detect CIDR address ranges for given // network attachment definitions. Rook's methods are robust but may be imprecise for // sufficiently complicated networks. Rook's auto-detection process obtains a new IP address // lease for each CephCluster reconcile. If Rook fails to detect, incorrectly detects, only // partially detects, or if underlying networks do not support reusing old IP addresses, it is // best to use the 'addressRanges' config section to specify CIDR ranges for the Ceph cluster. // // As a contrived example, one can use a theoretical Kubernetes-wide network for Ceph client // traffic and a theoretical Rook-only network for Ceph replication traffic as shown: // selectors: // public: "default/cluster-fast-net" // cluster: "rook-ceph/ceph-backend-net" // // +nullable // +optional Selectors map[CephNetworkType]string `json:"selectors,omitempty"` // AddressRanges specify a list of CIDRs that Rook will apply to Ceph's 'public_network' and/or // 'cluster_network' configurations. This config section may be used for the "host" or "multus" // network providers. // +nullable // +optional AddressRanges *AddressRangesSpec `json:"addressRanges,omitempty"` // Settings for network connections such as compression and encryption across the // wire. // +nullable // +optional Connections *ConnectionsSpec `json:"connections,omitempty"` // HostNetwork to enable host network. // If host networking is enabled or disabled on a running cluster, then the operator will automatically fail over all the mons to // apply the new network settings. // +optional HostNetwork bool `json:"hostNetwork,omitempty"` // IPFamily is the single stack IPv6 or IPv4 protocol // +kubebuilder:validation:Enum=IPv4;IPv6 // +nullable // +optional IPFamily IPFamilyType `json:"ipFamily,omitempty"` // DualStack determines whether Ceph daemons should listen on both IPv4 and IPv6 // +optional DualStack bool `json:"dualStack,omitempty"` // Enable multiClusterService to export the Services between peer clusters // +optional MultiClusterService MultiClusterServiceSpec `json:"multiClusterService,omitempty"` }
NetworkSpec for Ceph includes backward compatibility code +kubebuilder:validation:XValidation:message="at least one network selector must be specified when using multus",rule="!has(self.provider) || (self.provider != 'multus' || (self.provider == 'multus' && size(self.selectors) > 0))" +kubebuilder:validation:XValidation:message=`the legacy hostNetwork setting can only be set if the network.provider is set to the empty string`,rule=`!has(self.hostNetwork) || self.hostNetwork == false || !has(self.provider) || self.provider == ""`
func (*NetworkSpec) DeepCopy ¶
func (in *NetworkSpec) DeepCopy() *NetworkSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkSpec.
func (*NetworkSpec) DeepCopyInto ¶
func (in *NetworkSpec) DeepCopyInto(out *NetworkSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NetworkSpec) GetNetworkSelection ¶
func (n *NetworkSpec) GetNetworkSelection(clusterNamespace string, network CephNetworkType) (*nadv1.NetworkSelectionElement, error)
GetNetworkSelection gets the network selection for a given Ceph network, or nil if the network doesn't have a selection.
func (*NetworkSpec) IsHost ¶
func (n *NetworkSpec) IsHost() bool
IsHost is intended to be used to determine if the rook operator should configure managed pods to use host networking. This behavior is enabled by configuring the cephCluster with the "host" network provider. This method also maintains compatibility with the old HostNetwork setting which is incompatible with other network providers: HostNetwork set to true together with an empty or unset network provider has the same effect as network.Provider set to "host"
func (*NetworkSpec) IsMultus ¶
func (n *NetworkSpec) IsMultus() bool
IsMultus get whether to use multus network provider
func (*NetworkSpec) NetworkHasSelection ¶
func (n *NetworkSpec) NetworkHasSelection(network CephNetworkType) bool
NetworkHasSelection returns true if the given Ceph network has a selection.
type Node ¶
type Node struct { // +optional Name string `json:"name,omitempty"` // +kubebuilder:pruning:PreserveUnknownFields // +nullable // +optional Resources v1.ResourceRequirements `json:"resources,omitempty"` // +kubebuilder:pruning:PreserveUnknownFields // +nullable // +optional Config map[string]string `json:"config,omitempty"` Selection `json:",inline"` }
Node is a storage nodes +nullable
func (*Node) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Node.
func (*Node) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodesByName ¶
type NodesByName []Node
NodesByName implements an interface to sort nodes by name
func (NodesByName) DeepCopy ¶
func (in NodesByName) DeepCopy() NodesByName
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodesByName.
func (NodesByName) DeepCopyInto ¶
func (in NodesByName) DeepCopyInto(out *NodesByName)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (NodesByName) Len ¶
func (s NodesByName) Len() int
func (NodesByName) Less ¶
func (s NodesByName) Less(i, j int) bool
func (NodesByName) Swap ¶
func (s NodesByName) Swap(i, j int)
type NotificationFilterRule ¶
type NotificationFilterRule struct { // Name of the metadata or tag // +kubebuilder:validation:MinLength=1 Name string `json:"name"` // Value to filter on Value string `json:"value"` }
NotificationFilterRule represent a single rule in the Notification Filter spec
func (*NotificationFilterRule) DeepCopy ¶
func (in *NotificationFilterRule) DeepCopy() *NotificationFilterRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationFilterRule.
func (*NotificationFilterRule) DeepCopyInto ¶
func (in *NotificationFilterRule) DeepCopyInto(out *NotificationFilterRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NotificationFilterSpec ¶
type NotificationFilterSpec struct { // Filters based on the object's key // +optional KeyFilters []NotificationKeyFilterRule `json:"keyFilters,omitempty"` // Filters based on the object's metadata // +optional MetadataFilters []NotificationFilterRule `json:"metadataFilters,omitempty"` // Filters based on the object's tags // +optional TagFilters []NotificationFilterRule `json:"tagFilters,omitempty"` }
NotificationFilterSpec represent the spec of a Bucket Notification filter
func (*NotificationFilterSpec) DeepCopy ¶
func (in *NotificationFilterSpec) DeepCopy() *NotificationFilterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationFilterSpec.
func (*NotificationFilterSpec) DeepCopyInto ¶
func (in *NotificationFilterSpec) DeepCopyInto(out *NotificationFilterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NotificationKeyFilterRule ¶
type NotificationKeyFilterRule struct { // Name of the filter - prefix/suffix/regex // +kubebuilder:validation:Enum=prefix;suffix;regex Name string `json:"name"` // Value to filter on Value string `json:"value"` }
NotificationKeyFilterRule represent a single key rule in the Notification Filter spec
func (*NotificationKeyFilterRule) DeepCopy ¶
func (in *NotificationKeyFilterRule) DeepCopy() *NotificationKeyFilterRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationKeyFilterRule.
func (*NotificationKeyFilterRule) DeepCopyInto ¶
func (in *NotificationKeyFilterRule) DeepCopyInto(out *NotificationKeyFilterRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OSDStatus ¶
type OSDStatus struct { // StoreType is a mapping between the OSD backend stores and number of OSDs using these stores StoreType map[string]int `json:"storeType,omitempty"` }
OSDStatus represents OSD status of the ceph Cluster
func (*OSDStatus) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OSDStatus.
func (*OSDStatus) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OSDStore ¶
type OSDStore struct { // Type of backend storage to be used while creating OSDs. If empty, then bluestore will be used // +optional // +kubebuilder:validation:Enum=bluestore;bluestore-rdr; Type string `json:"type,omitempty"` // UpdateStore updates the backend store for existing OSDs. It destroys each OSD one at a time, cleans up the backing disk // and prepares same OSD on that disk // +optional // +kubebuilder:validation:Pattern=`^$|^yes-really-update-store$` UpdateStore string `json:"updateStore,omitempty"` }
OSDStore is the backend storage type used for creating the OSDs
func (*OSDStore) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OSDStore.
func (*OSDStore) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectEndpointSpec ¶
type ObjectEndpointSpec struct { // DnsName is the DNS name (in RFC-1123 format) of the endpoint. // If the DNS name corresponds to an endpoint with DNS wildcard support, do not include the // wildcard itself in the list of hostnames. // E.g., use "mystore.example.com" instead of "*.mystore.example.com". // +kubebuilder:validation:MinLength=1 // +required DnsName string `json:"dnsName"` // Port is the port on which S3 connections can be made for this endpoint. // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 // +required Port int32 `json:"port"` // UseTls defines whether the endpoint uses TLS (HTTPS) or not (HTTP). // +required UseTls bool `json:"useTls"` }
ObjectEndpointSpec represents an object store endpoint
func (*ObjectEndpointSpec) DeepCopy ¶
func (in *ObjectEndpointSpec) DeepCopy() *ObjectEndpointSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectEndpointSpec.
func (*ObjectEndpointSpec) DeepCopyInto ¶
func (in *ObjectEndpointSpec) DeepCopyInto(out *ObjectEndpointSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectEndpoints ¶
type ObjectEndpoints struct { // +optional // +nullable Insecure []string `json:"insecure"` // +optional // +nullable Secure []string `json:"secure"` }
func (*ObjectEndpoints) DeepCopy ¶
func (in *ObjectEndpoints) DeepCopy() *ObjectEndpoints
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectEndpoints.
func (*ObjectEndpoints) DeepCopyInto ¶
func (in *ObjectEndpoints) DeepCopyInto(out *ObjectEndpoints)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectHealthCheckSpec ¶
type ObjectHealthCheckSpec struct { // +optional ReadinessProbe *ProbeSpec `json:"readinessProbe,omitempty"` // +optional StartupProbe *ProbeSpec `json:"startupProbe,omitempty"` }
ObjectHealthCheckSpec represents the health check of an object store
func (*ObjectHealthCheckSpec) DeepCopy ¶
func (in *ObjectHealthCheckSpec) DeepCopy() *ObjectHealthCheckSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectHealthCheckSpec.
func (*ObjectHealthCheckSpec) DeepCopyInto ¶
func (in *ObjectHealthCheckSpec) DeepCopyInto(out *ObjectHealthCheckSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectRealmSpec ¶
type ObjectRealmSpec struct {
Pull PullSpec `json:"pull,omitempty"`
}
ObjectRealmSpec represent the spec of an ObjectRealm
func (*ObjectRealmSpec) DeepCopy ¶
func (in *ObjectRealmSpec) DeepCopy() *ObjectRealmSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectRealmSpec.
func (*ObjectRealmSpec) DeepCopyInto ¶
func (in *ObjectRealmSpec) DeepCopyInto(out *ObjectRealmSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ObjectRealmSpec) IsPullRealm ¶
func (s *ObjectRealmSpec) IsPullRealm() bool
type ObjectSharedPoolsSpec ¶
type ObjectSharedPoolsSpec struct { // +kubebuilder:validation:XValidation:message="object store shared metadata pool is immutable",rule="self == oldSelf" MetadataPoolName string `json:"metadataPoolName"` // +kubebuilder:validation:XValidation:message="object store shared data pool is immutable",rule="self == oldSelf" DataPoolName string `json:"dataPoolName"` // +optional PreserveRadosNamespaceDataOnDelete bool `json:"preserveRadosNamespaceDataOnDelete"` }
ObjectSharedPoolsSpec represents object store pool info when configuring RADOS namespaces in existing pools.
func (*ObjectSharedPoolsSpec) DeepCopy ¶
func (in *ObjectSharedPoolsSpec) DeepCopy() *ObjectSharedPoolsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectSharedPoolsSpec.
func (*ObjectSharedPoolsSpec) DeepCopyInto ¶
func (in *ObjectSharedPoolsSpec) DeepCopyInto(out *ObjectSharedPoolsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectStoreHostingSpec ¶
type ObjectStoreHostingSpec struct { // AdvertiseEndpoint is the default endpoint Rook will return for resources dependent on this // object store. This endpoint will be returned to CephObjectStoreUsers, Object Bucket Claims, // and COSI Buckets/Accesses. // By default, Rook returns the endpoint for the object store's Kubernetes service using HTTPS // with `gateway.securePort` if it is defined (otherwise, HTTP with `gateway.port`). // +nullable // +optional AdvertiseEndpoint *ObjectEndpointSpec `json:"advertiseEndpoint,omitempty"` // A list of DNS host names on which object store gateways will accept client S3 connections. // When specified, object store gateways will reject client S3 connections to hostnames that are // not present in this list, so include all endpoints. // The object store's advertiseEndpoint and Kubernetes service endpoint, plus CephObjectZone // `customEndpoints` are automatically added to the list but may be set here again if desired. // Each DNS name must be valid according RFC-1123. // If the DNS name corresponds to an endpoint with DNS wildcard support, do not include the // wildcard itself in the list of hostnames. // E.g., use "mystore.example.com" instead of "*.mystore.example.com". // The feature is supported only for Ceph v18 and later versions. // +optional DNSNames []string `json:"dnsNames,omitempty"` }
ObjectStoreHostingSpec represents the hosting settings for the object store
func (*ObjectStoreHostingSpec) DeepCopy ¶
func (in *ObjectStoreHostingSpec) DeepCopy() *ObjectStoreHostingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectStoreHostingSpec.
func (*ObjectStoreHostingSpec) DeepCopyInto ¶
func (in *ObjectStoreHostingSpec) DeepCopyInto(out *ObjectStoreHostingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectStoreSecuritySpec ¶
type ObjectStoreSecuritySpec struct { // +optional // +nullable SecuritySpec `json:""` // The settings for supporting AWS-SSE:S3 with RGW // +optional // +nullable ServerSideEncryptionS3 KeyManagementServiceSpec `json:"s3,omitempty"` }
ObjectStoreSecuritySpec is spec to define security features like encryption
func (*ObjectStoreSecuritySpec) DeepCopy ¶
func (in *ObjectStoreSecuritySpec) DeepCopy() *ObjectStoreSecuritySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectStoreSecuritySpec.
func (*ObjectStoreSecuritySpec) DeepCopyInto ¶
func (in *ObjectStoreSecuritySpec) DeepCopyInto(out *ObjectStoreSecuritySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectStoreSpec ¶
type ObjectStoreSpec struct { // The metadata pool settings // +optional // +nullable MetadataPool PoolSpec `json:"metadataPool,omitempty"` // The data pool settings // +optional // +nullable DataPool PoolSpec `json:"dataPool,omitempty"` // +optional // +nullable SharedPools ObjectSharedPoolsSpec `json:"sharedPools"` // Preserve pools on object store deletion // +optional PreservePoolsOnDelete bool `json:"preservePoolsOnDelete,omitempty"` // The rgw pod info // +optional // +nullable Gateway GatewaySpec `json:"gateway"` // The protocol specification // +optional Protocols ProtocolSpec `json:"protocols,omitempty"` // The authentication configuration // +optional Auth AuthSpec `json:"auth,omitempty"` // The multisite info // +optional // +nullable Zone ZoneSpec `json:"zone,omitempty"` // The RGW health probes // +optional // +nullable HealthCheck ObjectHealthCheckSpec `json:"healthCheck,omitempty"` // Security represents security settings // +optional // +nullable Security *ObjectStoreSecuritySpec `json:"security,omitempty"` // The list of allowed namespaces in addition to the object store namespace // where ceph object store users may be created. Specify "*" to allow all // namespaces, otherwise list individual namespaces that are to be allowed. // This is useful for applications that need object store credentials // to be created in their own namespace, where neither OBCs nor COSI // is being used to create buckets. The default is empty. // +optional AllowUsersInNamespaces []string `json:"allowUsersInNamespaces,omitempty"` // Hosting settings for the object store. // A common use case for hosting configuration is to inform Rook of endpoints that support DNS // wildcards, which in turn allows virtual host-style bucket addressing. // +nullable // +optional Hosting *ObjectStoreHostingSpec `json:"hosting,omitempty"` }
ObjectStoreSpec represent the spec of a pool
func (*ObjectStoreSpec) DeepCopy ¶
func (in *ObjectStoreSpec) DeepCopy() *ObjectStoreSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectStoreSpec.
func (*ObjectStoreSpec) DeepCopyInto ¶
func (in *ObjectStoreSpec) DeepCopyInto(out *ObjectStoreSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ObjectStoreSpec) GetPort ¶
func (s *ObjectStoreSpec) GetPort() (int32, error)
func (*ObjectStoreSpec) GetServiceServingCert ¶
func (s *ObjectStoreSpec) GetServiceServingCert() string
func (*ObjectStoreSpec) IsExternal ¶
func (s *ObjectStoreSpec) IsExternal() bool
func (*ObjectStoreSpec) IsHostNetwork ¶
func (s *ObjectStoreSpec) IsHostNetwork(c *ClusterSpec) bool
func (*ObjectStoreSpec) IsMultisite ¶
func (s *ObjectStoreSpec) IsMultisite() bool
func (*ObjectStoreSpec) IsRGWDashboardEnabled ¶
func (s *ObjectStoreSpec) IsRGWDashboardEnabled() bool
func (*ObjectStoreSpec) IsTLSEnabled ¶
func (s *ObjectStoreSpec) IsTLSEnabled() bool
type ObjectStoreStatus ¶
type ObjectStoreStatus struct { // +optional Phase ConditionType `json:"phase,omitempty"` // +optional Message string `json:"message,omitempty"` // +optional Endpoints ObjectEndpoints `json:"endpoints"` // +optional // +nullable Info map[string]string `json:"info,omitempty"` Conditions []Condition `json:"conditions,omitempty"` // ObservedGeneration is the latest generation observed by the controller. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` }
ObjectStoreStatus represents the status of a Ceph Object Store resource
func (*ObjectStoreStatus) DeepCopy ¶
func (in *ObjectStoreStatus) DeepCopy() *ObjectStoreStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectStoreStatus.
func (*ObjectStoreStatus) DeepCopyInto ¶
func (in *ObjectStoreStatus) DeepCopyInto(out *ObjectStoreStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectStoreUserSpec ¶
type ObjectStoreUserSpec struct { // The store the user will be created in // +optional Store string `json:"store,omitempty"` // The display name for the ceph users // +optional DisplayName string `json:"displayName,omitempty"` // +optional // +nullable Capabilities *ObjectUserCapSpec `json:"capabilities,omitempty"` // +optional // +nullable Quotas *ObjectUserQuotaSpec `json:"quotas,omitempty"` // The namespace where the parent CephCluster and CephObjectStore are found // +optional ClusterNamespace string `json:"clusterNamespace,omitempty"` }
ObjectStoreUserSpec represent the spec of an Objectstoreuser
func (*ObjectStoreUserSpec) DeepCopy ¶
func (in *ObjectStoreUserSpec) DeepCopy() *ObjectStoreUserSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectStoreUserSpec.
func (*ObjectStoreUserSpec) DeepCopyInto ¶
func (in *ObjectStoreUserSpec) DeepCopyInto(out *ObjectStoreUserSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectStoreUserStatus ¶
type ObjectStoreUserStatus struct { // +optional Phase string `json:"phase,omitempty"` // +optional // +nullable Info map[string]string `json:"info,omitempty"` // ObservedGeneration is the latest generation observed by the controller. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` }
ObjectStoreUserStatus represents the status Ceph Object Store Gateway User
func (*ObjectStoreUserStatus) DeepCopy ¶
func (in *ObjectStoreUserStatus) DeepCopy() *ObjectStoreUserStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectStoreUserStatus.
func (*ObjectStoreUserStatus) DeepCopyInto ¶
func (in *ObjectStoreUserStatus) DeepCopyInto(out *ObjectStoreUserStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectUserCapSpec ¶
type ObjectUserCapSpec struct { // +optional // +kubebuilder:validation:Enum={"*","read","write","read, write"} // Admin capabilities to read/write Ceph object store users. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities User string `json:"user,omitempty"` // +optional // +kubebuilder:validation:Enum={"*","read","write","read, write"} // Admin capabilities to read/write Ceph object store users. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities Users string `json:"users,omitempty"` // +optional // +kubebuilder:validation:Enum={"*","read","write","read, write"} // Admin capabilities to read/write Ceph object store buckets. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities Bucket string `json:"bucket,omitempty"` // +optional // +kubebuilder:validation:Enum={"*","read","write","read, write"} // Admin capabilities to read/write Ceph object store buckets. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities Buckets string `json:"buckets,omitempty"` // +optional // +kubebuilder:validation:Enum={"*","read","write","read, write"} // Admin capabilities to read/write Ceph object store metadata. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities MetaData string `json:"metadata,omitempty"` // +optional // +kubebuilder:validation:Enum={"*","read","write","read, write"} // Admin capabilities to read/write Ceph object store usage. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities Usage string `json:"usage,omitempty"` // +optional // +kubebuilder:validation:Enum={"*","read","write","read, write"} // Admin capabilities to read/write Ceph object store zones. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities Zone string `json:"zone,omitempty"` // +optional // +kubebuilder:validation:Enum={"*","read","write","read, write"} // Admin capabilities to read/write roles for user. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities Roles string `json:"roles,omitempty"` // +optional // +kubebuilder:validation:Enum={"*","read","write","read, write"} // Admin capabilities to read/write information about the user. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities Info string `json:"info,omitempty"` // +optional // +kubebuilder:validation:Enum={"*","read","write","read, write"} // Add capabilities for user to send request to RGW Cache API header. Documented in https://docs.ceph.com/en/quincy/radosgw/rgw-cache/#cache-api AMZCache string `json:"amz-cache,omitempty"` // +optional // +kubebuilder:validation:Enum={"*","read","write","read, write"} // Add capabilities for user to change bucket index logging. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities BiLog string `json:"bilog,omitempty"` // +optional // +kubebuilder:validation:Enum={"*","read","write","read, write"} // Add capabilities for user to change metadata logging. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities MdLog string `json:"mdlog,omitempty"` // +optional // +kubebuilder:validation:Enum={"*","read","write","read, write"} // Add capabilities for user to change data logging. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities DataLog string `json:"datalog,omitempty"` // +optional // +kubebuilder:validation:Enum={"*","read","write","read, write"} // Add capabilities for user to change user policies. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities UserPolicy string `json:"user-policy,omitempty"` // +optional // +kubebuilder:validation:Enum={"*","read","write","read, write"} // Add capabilities for user to change oidc provider. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities OidcProvider string `json:"oidc-provider,omitempty"` // +optional // +kubebuilder:validation:Enum={"*","read","write","read, write"} // Add capabilities for user to set rate limiter for user and bucket. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities RateLimit string `json:"ratelimit,omitempty"` }
Additional admin-level capabilities for the Ceph object store user
func (*ObjectUserCapSpec) DeepCopy ¶
func (in *ObjectUserCapSpec) DeepCopy() *ObjectUserCapSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectUserCapSpec.
func (*ObjectUserCapSpec) DeepCopyInto ¶
func (in *ObjectUserCapSpec) DeepCopyInto(out *ObjectUserCapSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectUserQuotaSpec ¶
type ObjectUserQuotaSpec struct { // Maximum bucket limit for the ceph user // +optional // +nullable MaxBuckets *int `json:"maxBuckets,omitempty"` // Maximum size limit of all objects across all the user's buckets // See https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Quantity for more info. // +optional // +nullable MaxSize *resource.Quantity `json:"maxSize,omitempty"` // Maximum number of objects across all the user's buckets // +optional // +nullable MaxObjects *int64 `json:"maxObjects,omitempty"` }
ObjectUserQuotaSpec can be used to set quotas for the object store user to limit their usage. See the [Ceph docs](https://docs.ceph.com/en/latest/radosgw/admin/?#quota-management) for more
func (*ObjectUserQuotaSpec) DeepCopy ¶
func (in *ObjectUserQuotaSpec) DeepCopy() *ObjectUserQuotaSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectUserQuotaSpec.
func (*ObjectUserQuotaSpec) DeepCopyInto ¶
func (in *ObjectUserQuotaSpec) DeepCopyInto(out *ObjectUserQuotaSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectZoneGroupSpec ¶
type ObjectZoneGroupSpec struct { //The display name for the ceph users Realm string `json:"realm"` }
ObjectZoneGroupSpec represent the spec of an ObjectZoneGroup
func (*ObjectZoneGroupSpec) DeepCopy ¶
func (in *ObjectZoneGroupSpec) DeepCopy() *ObjectZoneGroupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectZoneGroupSpec.
func (*ObjectZoneGroupSpec) DeepCopyInto ¶
func (in *ObjectZoneGroupSpec) DeepCopyInto(out *ObjectZoneGroupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectZoneSpec ¶
type ObjectZoneSpec struct { //The display name for the ceph users ZoneGroup string `json:"zoneGroup"` // The metadata pool settings // +nullable MetadataPool PoolSpec `json:"metadataPool"` // The data pool settings // +nullable DataPool PoolSpec `json:"dataPool"` // +optional // +nullable SharedPools ObjectSharedPoolsSpec `json:"sharedPools"` // If this zone cannot be accessed from other peer Ceph clusters via the ClusterIP Service // endpoint created by Rook, you must set this to the externally reachable endpoint(s). You may // include the port in the definition. For example: "https://my-object-store.my-domain.net:443". // In many cases, you should set this to the endpoint of the ingress resource that makes the // CephObjectStore associated with this CephObjectStoreZone reachable to peer clusters. // The list can have one or more endpoints pointing to different RGW servers in the zone. // // If a CephObjectStore endpoint is omitted from this list, that object store's gateways will // not receive multisite replication data // (see CephObjectStore.spec.gateway.disableMultisiteSyncTraffic). // +nullable // +optional CustomEndpoints []string `json:"customEndpoints,omitempty"` // Preserve pools on object zone deletion // +optional // +kubebuilder:default=true PreservePoolsOnDelete bool `json:"preservePoolsOnDelete"` }
ObjectZoneSpec represent the spec of an ObjectZone
func (*ObjectZoneSpec) DeepCopy ¶
func (in *ObjectZoneSpec) DeepCopy() *ObjectZoneSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectZoneSpec.
func (*ObjectZoneSpec) DeepCopyInto ¶
func (in *ObjectZoneSpec) DeepCopyInto(out *ObjectZoneSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PeerRemoteSpec ¶
type PeerRemoteSpec struct { // ClientName is cephx name // +optional ClientName string `json:"client_name,omitempty"` // ClusterName is the name of the cluster // +optional ClusterName string `json:"cluster_name,omitempty"` // FsName is the filesystem name // +optional FsName string `json:"fs_name,omitempty"` }
func (*PeerRemoteSpec) DeepCopy ¶
func (in *PeerRemoteSpec) DeepCopy() *PeerRemoteSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeerRemoteSpec.
func (*PeerRemoteSpec) DeepCopyInto ¶
func (in *PeerRemoteSpec) DeepCopyInto(out *PeerRemoteSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PeerStatSpec ¶
type PeerStatSpec struct { // FailureCount is the number of mirroring failure // +optional FailureCount int `json:"failure_count,omitempty"` // RecoveryCount is the number of recovery attempted after failures // +optional RecoveryCount int `json:"recovery_count,omitempty"` }
PeerStatSpec are the mirror stat with a given peer
func (*PeerStatSpec) DeepCopy ¶
func (in *PeerStatSpec) DeepCopy() *PeerStatSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeerStatSpec.
func (*PeerStatSpec) DeepCopyInto ¶
func (in *PeerStatSpec) DeepCopyInto(out *PeerStatSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PeersSpec ¶
type PeersSpec struct { // UUID is the peer UUID // +optional UUID string `json:"uuid,omitempty"` // Direction is the peer mirroring direction // +optional Direction string `json:"direction,omitempty"` // SiteName is the current site name // +optional SiteName string `json:"site_name,omitempty"` // MirrorUUID is the mirror UUID // +optional MirrorUUID string `json:"mirror_uuid,omitempty"` // ClientName is the CephX user used to connect to the peer // +optional ClientName string `json:"client_name,omitempty"` }
PeersSpec contains peer details
func (*PeersSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeersSpec.
func (*PeersSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Placement ¶
type Placement struct { // NodeAffinity is a group of node affinity scheduling rules // +optional NodeAffinity *v1.NodeAffinity `json:"nodeAffinity,omitempty"` // PodAffinity is a group of inter pod affinity scheduling rules // +optional PodAffinity *v1.PodAffinity `json:"podAffinity,omitempty"` // PodAntiAffinity is a group of inter pod anti affinity scheduling rules // +optional PodAntiAffinity *v1.PodAntiAffinity `json:"podAntiAffinity,omitempty"` // The pod this Toleration is attached to tolerates any taint that matches // the triple <key,value,effect> using the matching operator <operator> // +optional Tolerations []v1.Toleration `json:"tolerations,omitempty"` // TopologySpreadConstraints specifies how to spread matching pods among the given topology // +optional TopologySpreadConstraints []v1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"` }
Placement is the placement for an object
func GetArbiterPlacement ¶
func GetArbiterPlacement(p PlacementSpec) Placement
GetArbiterPlacement returns the placement for the arbiter MON service
func GetMgrPlacement ¶
func GetMgrPlacement(p PlacementSpec) Placement
GetMgrPlacement returns the placement for the MGR service
func GetMonPlacement ¶
func GetMonPlacement(p PlacementSpec) Placement
GetMonPlacement returns the placement for the MON service
func GetOSDPlacement ¶
func GetOSDPlacement(p PlacementSpec) Placement
GetOSDPlacement returns the placement for the OSD service
func (Placement) ApplyToPodSpec ¶
ApplyToPodSpec adds placement to a pod spec
func (*Placement) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Placement.
func (*Placement) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PlacementSpec ¶
PlacementSpec is the placement for core ceph daemons part of the CephCluster CRD
func (PlacementSpec) All ¶
func (p PlacementSpec) All() Placement
func (PlacementSpec) DeepCopy ¶
func (in PlacementSpec) DeepCopy() PlacementSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlacementSpec.
func (PlacementSpec) DeepCopyInto ¶
func (in PlacementSpec) DeepCopyInto(out *PlacementSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PoolMirroringInfo ¶
type PoolMirroringInfo struct { // Mode is the mirroring mode // +optional Mode string `json:"mode,omitempty"` // SiteName is the current site name // +optional SiteName string `json:"site_name,omitempty"` // Peers are the list of peer sites connected to that cluster // +optional Peers []PeersSpec `json:"peers,omitempty"` }
PoolMirroringInfo is the mirroring info of a given pool
func (*PoolMirroringInfo) DeepCopy ¶
func (in *PoolMirroringInfo) DeepCopy() *PoolMirroringInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PoolMirroringInfo.
func (*PoolMirroringInfo) DeepCopyInto ¶
func (in *PoolMirroringInfo) DeepCopyInto(out *PoolMirroringInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PoolMirroringStatus ¶
type PoolMirroringStatus struct { // Summary is the mirroring status summary // +optional Summary *PoolMirroringStatusSummarySpec `json:"summary,omitempty"` }
PoolMirroringStatus is the pool mirror status
func (*PoolMirroringStatus) DeepCopy ¶
func (in *PoolMirroringStatus) DeepCopy() *PoolMirroringStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PoolMirroringStatus.
func (*PoolMirroringStatus) DeepCopyInto ¶
func (in *PoolMirroringStatus) DeepCopyInto(out *PoolMirroringStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PoolMirroringStatusSummarySpec ¶
type PoolMirroringStatusSummarySpec struct { // Health is the mirroring health // +optional Health string `json:"health,omitempty"` // DaemonHealth is the health of the mirroring daemon // +optional DaemonHealth string `json:"daemon_health,omitempty"` // ImageHealth is the health of the mirrored image // +optional ImageHealth string `json:"image_health,omitempty"` // States is the various state for all mirrored images // +optional // +nullable States StatesSpec `json:"states,omitempty"` }
PoolMirroringStatusSummarySpec is the summary output of the command
func (*PoolMirroringStatusSummarySpec) DeepCopy ¶
func (in *PoolMirroringStatusSummarySpec) DeepCopy() *PoolMirroringStatusSummarySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PoolMirroringStatusSummarySpec.
func (*PoolMirroringStatusSummarySpec) DeepCopyInto ¶
func (in *PoolMirroringStatusSummarySpec) DeepCopyInto(out *PoolMirroringStatusSummarySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PoolSpec ¶
type PoolSpec struct { // The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map // +optional FailureDomain string `json:"failureDomain,omitempty"` // The root of the crush hierarchy utilized by the pool // +optional // +nullable CrushRoot string `json:"crushRoot,omitempty"` // The device class the OSD should set to for use in the pool // +optional // +nullable DeviceClass string `json:"deviceClass,omitempty"` // Allow rook operator to change the pool CRUSH tunables once the pool is created // +optional EnableCrushUpdates bool `json:"enableCrushUpdates,omitempty"` // DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force" // The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force) // +kubebuilder:validation:Enum=none;passive;aggressive;force;"" // Do NOT set a default value for kubebuilder as this will override the Parameters // +optional // +nullable CompressionMode string `json:"compressionMode,omitempty"` // The replication settings // +optional Replicated ReplicatedSpec `json:"replicated,omitempty"` // The erasure code settings // +optional ErasureCoded ErasureCodedSpec `json:"erasureCoded,omitempty"` // Parameters is a list of properties to enable on a given pool // +kubebuilder:pruning:PreserveUnknownFields // +optional // +nullable Parameters map[string]string `json:"parameters,omitempty"` // EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool EnableRBDStats bool `json:"enableRBDStats,omitempty"` // The mirroring settings Mirroring MirroringSpec `json:"mirroring,omitempty"` // The mirroring statusCheck // +kubebuilder:pruning:PreserveUnknownFields StatusCheck MirrorHealthCheckSpec `json:"statusCheck,omitempty"` // The quota settings // +optional // +nullable Quotas QuotaSpec `json:"quotas,omitempty"` // The application name to set on the pool. Only expected to be set for rgw pools. // +optional Application string `json:"application"` }
PoolSpec represents the spec of ceph pool
func (*PoolSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PoolSpec.
func (*PoolSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PoolSpec) IsCompressionEnabled ¶
func (*PoolSpec) IsErasureCoded ¶
func (*PoolSpec) IsHybridStoragePool ¶
func (*PoolSpec) IsReplicated ¶
type PriorityClassNamesSpec ¶
PriorityClassNamesSpec is a map of priority class names to be assigned to components
func (PriorityClassNamesSpec) All ¶
func (p PriorityClassNamesSpec) All() string
All returns the priority class name defined for 'all' daemons in the Ceph cluster CRD.
func (PriorityClassNamesSpec) DeepCopy ¶
func (in PriorityClassNamesSpec) DeepCopy() PriorityClassNamesSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PriorityClassNamesSpec.
func (PriorityClassNamesSpec) DeepCopyInto ¶
func (in PriorityClassNamesSpec) DeepCopyInto(out *PriorityClassNamesSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProbeSpec ¶
type ProbeSpec struct { // Disabled determines whether probe is disable or not // +optional Disabled bool `json:"disabled,omitempty"` // Probe describes a health check to be performed against a container to determine whether it is // alive or ready to receive traffic. // +optional Probe *v1.Probe `json:"probe,omitempty"` }
ProbeSpec is a wrapper around Probe so it can be enabled or disabled for a Ceph daemon
func (*ProbeSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProbeSpec.
func (*ProbeSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProtocolSpec ¶
type ProtocolSpec struct { // The spec for S3 // +optional // +nullable S3 *S3Spec `json:"s3,omitempty"` // The spec for Swift // +optional // +nullable Swift *SwiftSpec `json:"swift"` }
ProtocolSpec represents a Ceph Object Store protocol specification
func (*ProtocolSpec) DeepCopy ¶
func (in *ProtocolSpec) DeepCopy() *ProtocolSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProtocolSpec.
func (*ProtocolSpec) DeepCopyInto ¶
func (in *ProtocolSpec) DeepCopyInto(out *ProtocolSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PullSpec ¶
type PullSpec struct { // +kubebuilder:validation:Pattern=`^https*://` Endpoint string `json:"endpoint,omitempty"` }
PullSpec represents the pulling specification of a Ceph Object Storage Gateway Realm
func (*PullSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PullSpec.
func (*PullSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type QuotaSpec ¶
type QuotaSpec struct { // MaxBytes represents the quota in bytes // Deprecated in favor of MaxSize // +optional MaxBytes *uint64 `json:"maxBytes,omitempty"` // MaxSize represents the quota in bytes as a string // +kubebuilder:validation:Pattern=`^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$` // +optional MaxSize *string `json:"maxSize,omitempty"` // MaxObjects represents the quota in objects // +optional MaxObjects *uint64 `json:"maxObjects,omitempty"` }
QuotaSpec represents the spec for quotas in a pool
func (*QuotaSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QuotaSpec.
func (*QuotaSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RBDMirroringSpec ¶
type RBDMirroringSpec struct { // Count represents the number of rbd mirror instance to run // +kubebuilder:validation:Minimum=1 Count int `json:"count"` // Peers represents the peers spec // +nullable // +optional Peers MirroringPeerSpec `json:"peers,omitempty"` // The affinity to place the rgw pods (default is to place on any available node) // +kubebuilder:pruning:PreserveUnknownFields // +nullable // +optional Placement Placement `json:"placement,omitempty"` // The annotations-related configuration to add/set on each Pod related object. // +kubebuilder:pruning:PreserveUnknownFields // +nullable // +optional Annotations Annotations `json:"annotations,omitempty"` // The labels-related configuration to add/set on each Pod related object. // +kubebuilder:pruning:PreserveUnknownFields // +nullable // +optional Labels Labels `json:"labels,omitempty"` // The resource requirements for the rbd mirror pods // +kubebuilder:pruning:PreserveUnknownFields // +nullable // +optional Resources v1.ResourceRequirements `json:"resources,omitempty"` // PriorityClassName sets priority class on the rbd mirror pods // +optional PriorityClassName string `json:"priorityClassName,omitempty"` }
RBDMirroringSpec represents the specification of an RBD mirror daemon
func (*RBDMirroringSpec) DeepCopy ¶
func (in *RBDMirroringSpec) DeepCopy() *RBDMirroringSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RBDMirroringSpec.
func (*RBDMirroringSpec) DeepCopyInto ¶
func (in *RBDMirroringSpec) DeepCopyInto(out *RBDMirroringSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RGWServiceSpec ¶
type RGWServiceSpec struct { // The annotations-related configuration to add/set on each rgw service. // nullable // optional Annotations Annotations `json:"annotations,omitempty"` }
RGWServiceSpec represent the spec for RGW service
func (*RGWServiceSpec) DeepCopy ¶
func (in *RGWServiceSpec) DeepCopy() *RGWServiceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RGWServiceSpec.
func (*RGWServiceSpec) DeepCopyInto ¶
func (in *RGWServiceSpec) DeepCopyInto(out *RGWServiceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReadAffinitySpec ¶
type ReadAffinitySpec struct { // Enables read affinity for CSI driver. // +optional Enabled bool `json:"enabled"` // CrushLocationLabels defines which node labels to use // as CRUSH location. This should correspond to the values set in // the CRUSH map. // +optional CrushLocationLabels []string `json:"crushLocationLabels,omitempty"` }
ReadAffinitySpec defines the read affinity settings for CSI driver.
func (*ReadAffinitySpec) DeepCopy ¶
func (in *ReadAffinitySpec) DeepCopy() *ReadAffinitySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReadAffinitySpec.
func (*ReadAffinitySpec) DeepCopyInto ¶
func (in *ReadAffinitySpec) DeepCopyInto(out *ReadAffinitySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReplicatedSpec ¶
type ReplicatedSpec struct { // Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type) // +kubebuilder:validation:Minimum=0 Size uint `json:"size"` // TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity // +optional TargetSizeRatio float64 `json:"targetSizeRatio,omitempty"` // RequireSafeReplicaSize if false allows you to set replica 1 // +optional RequireSafeReplicaSize bool `json:"requireSafeReplicaSize,omitempty"` // ReplicasPerFailureDomain the number of replica in the specified failure domain // +kubebuilder:validation:Minimum=1 // +optional ReplicasPerFailureDomain uint `json:"replicasPerFailureDomain,omitempty"` // SubFailureDomain the name of the sub-failure domain // +optional SubFailureDomain string `json:"subFailureDomain,omitempty"` // HybridStorage represents hybrid storage tier settings // +optional // +nullable HybridStorage *HybridStorageSpec `json:"hybridStorage,omitempty"` }
ReplicatedSpec represents the spec for replication in a pool
func (*ReplicatedSpec) DeepCopy ¶
func (in *ReplicatedSpec) DeepCopy() *ReplicatedSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicatedSpec.
func (*ReplicatedSpec) DeepCopyInto ¶
func (in *ReplicatedSpec) DeepCopyInto(out *ReplicatedSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ReplicatedSpec) IsTargetRatioEnabled ¶
func (p *ReplicatedSpec) IsTargetRatioEnabled() bool
type ResourceSpec ¶
type ResourceSpec map[string]v1.ResourceRequirements
ResourceSpec is a collection of ResourceRequirements that describes the compute resource requirements
func (ResourceSpec) DeepCopy ¶
func (in ResourceSpec) DeepCopy() ResourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceSpec.
func (ResourceSpec) DeepCopyInto ¶
func (in ResourceSpec) DeepCopyInto(out *ResourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type S3Spec ¶
type S3Spec struct { // Whether to enable S3. This defaults to true (even if protocols.s3 is not present in the CRD). This maintains backwards compatibility – by default S3 is enabled. // +nullable // +optional Enabled *bool `json:"enabled,omitempty"` // Whether to use Keystone for authentication. This option maps directly to the rgw_s3_auth_use_keystone option. Enabling it allows generating S3 credentials via an OpenStack API call, see the docs. If not given, the defaults of the corresponding RGW option apply. // +nullable // +optional AuthUseKeystone *bool `json:"authUseKeystone,omitempty"` }
S3Spec represents Ceph Object Store specification for the S3 API
func (*S3Spec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3Spec.
func (*S3Spec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SSSDSidecar ¶
type SSSDSidecar struct { // Image defines the container image that should be used for the SSSD sidecar. // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 Image string `json:"image"` // SSSDConfigFile defines where the SSSD configuration should be sourced from. The config file // will be placed into `/etc/sssd/sssd.conf`. If this is left empty, Rook will not add the file. // This allows you to manage the `sssd.conf` file yourself however you wish. For example, you // may build it into your custom Ceph container image or use the Vault agent injector to // securely add the file via annotations on the CephNFS spec (passed to the NFS server pods). // +optional SSSDConfigFile SSSDSidecarConfigFile `json:"sssdConfigFile"` // AdditionalFiles defines any number of additional files that should be mounted into the SSSD // sidecar with a directory root of `/etc/sssd/rook-additional/`. // These files may be referenced by the sssd.conf config file. // +optional AdditionalFiles AdditionalVolumeMounts `json:"additionalFiles,omitempty"` // Resources allow specifying resource requests/limits on the SSSD sidecar container. // +optional Resources v1.ResourceRequirements `json:"resources,omitempty"` // DebugLevel sets the debug level for SSSD. If unset or set to 0, Rook does nothing. Otherwise, // this may be a value between 1 and 10. See SSSD docs for more info: // https://sssd.io/troubleshooting/basics.html#sssd-debug-logs // +optional // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=10 DebugLevel int `json:"debugLevel,omitempty"` }
SSSDSidecar represents configuration when SSSD is run in a sidecar.
func (*SSSDSidecar) DeepCopy ¶
func (in *SSSDSidecar) DeepCopy() *SSSDSidecar
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSSDSidecar.
func (*SSSDSidecar) DeepCopyInto ¶
func (in *SSSDSidecar) DeepCopyInto(out *SSSDSidecar)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SSSDSidecarConfigFile ¶
type SSSDSidecarConfigFile struct { // VolumeSource accepts a pared down version of the standard Kubernetes VolumeSource for the // SSSD configuration file like what is normally used to configure Volumes for a Pod. For // example, a ConfigMap, Secret, or HostPath. There are two requirements for the source's // content: // 1. The config file must be mountable via `subPath: sssd.conf`. For example, in a ConfigMap, // the data item must be named `sssd.conf`, or `items` must be defined to select the key // and give it path `sssd.conf`. A HostPath directory must have the `sssd.conf` file. // 2. The volume or config file must have mode 0600. VolumeSource *ConfigFileVolumeSource `json:"volumeSource,omitempty"` }
SSSDSidecarConfigFile represents the source(s) from which the SSSD configuration should come.
func (*SSSDSidecarConfigFile) DeepCopy ¶
func (in *SSSDSidecarConfigFile) DeepCopy() *SSSDSidecarConfigFile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSSDSidecarConfigFile.
func (*SSSDSidecarConfigFile) DeepCopyInto ¶
func (in *SSSDSidecarConfigFile) DeepCopyInto(out *SSSDSidecarConfigFile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SSSDSpec ¶
type SSSDSpec struct { // Sidecar tells Rook to run SSSD in a sidecar alongside the NFS-Ganesha server in each NFS pod. // +optional Sidecar *SSSDSidecar `json:"sidecar,omitempty"` }
SSSDSpec represents configuration for System Security Services Daemon (SSSD).
func (*SSSDSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSSDSpec.
func (*SSSDSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SanitizeDataSourceProperty ¶
type SanitizeDataSourceProperty string
SanitizeDataSourceProperty represents a sanitizing data source
func (*SanitizeDataSourceProperty) String ¶
func (c *SanitizeDataSourceProperty) String() string
type SanitizeDisksSpec ¶
type SanitizeDisksSpec struct { // Method is the method we use to sanitize disks // +optional // +kubebuilder:validation:Enum=complete;quick Method SanitizeMethodProperty `json:"method,omitempty"` // DataSource is the data source to use to sanitize the disk with // +optional // +kubebuilder:validation:Enum=zero;random DataSource SanitizeDataSourceProperty `json:"dataSource,omitempty"` // Iteration is the number of pass to apply the sanitizing // +optional Iteration int32 `json:"iteration,omitempty"` }
SanitizeDisksSpec represents a disk sanitizing specification
func (*SanitizeDisksSpec) DeepCopy ¶
func (in *SanitizeDisksSpec) DeepCopy() *SanitizeDisksSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SanitizeDisksSpec.
func (*SanitizeDisksSpec) DeepCopyInto ¶
func (in *SanitizeDisksSpec) DeepCopyInto(out *SanitizeDisksSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SanitizeMethodProperty ¶
type SanitizeMethodProperty string
SanitizeMethodProperty represents a disk sanitizing method
func (*SanitizeMethodProperty) String ¶
func (c *SanitizeMethodProperty) String() string
type SecuritySpec ¶
type SecuritySpec struct { // KeyManagementService is the main Key Management option // +optional // +nullable KeyManagementService KeyManagementServiceSpec `json:"kms,omitempty"` // KeyRotation defines options for Key Rotation. // +optional // +nullable KeyRotation KeyRotationSpec `json:"keyRotation,omitempty"` }
SecuritySpec is security spec to include various security items such as kms
func (*SecuritySpec) DeepCopy ¶
func (in *SecuritySpec) DeepCopy() *SecuritySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecuritySpec.
func (*SecuritySpec) DeepCopyInto ¶
func (in *SecuritySpec) DeepCopyInto(out *SecuritySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Selection ¶
type Selection struct { // Whether to consume all the storage devices found on a machine // +optional UseAllDevices *bool `json:"useAllDevices,omitempty"` // A regular expression to allow more fine-grained selection of devices on nodes across the cluster // +optional DeviceFilter string `json:"deviceFilter,omitempty"` // A regular expression to allow more fine-grained selection of devices with path names // +optional DevicePathFilter string `json:"devicePathFilter,omitempty"` // List of devices to use as storage devices // +kubebuilder:pruning:PreserveUnknownFields // +nullable // +optional Devices []Device `json:"devices,omitempty"` // PersistentVolumeClaims to use as storage // +optional VolumeClaimTemplates []VolumeClaimTemplate `json:"volumeClaimTemplates,omitempty"` }
func (*Selection) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Selection.
func (*Selection) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Selection) GetUseAllDevices ¶
GetUseAllDevices return if all devices should be used.
type SnapshotSchedule ¶
type SnapshotSchedule struct { // Interval is the interval in which snapshots will be taken // +optional Interval string `json:"interval,omitempty"` // StartTime is the snapshot starting time // +optional StartTime string `json:"start_time,omitempty"` }
SnapshotSchedule is a schedule
func (*SnapshotSchedule) DeepCopy ¶
func (in *SnapshotSchedule) DeepCopy() *SnapshotSchedule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotSchedule.
func (*SnapshotSchedule) DeepCopyInto ¶
func (in *SnapshotSchedule) DeepCopyInto(out *SnapshotSchedule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SnapshotScheduleRetentionSpec ¶
type SnapshotScheduleRetentionSpec struct { // Path is the path to snapshot // +optional Path string `json:"path,omitempty"` // Duration represents the retention duration for a snapshot // +optional Duration string `json:"duration,omitempty"` }
SnapshotScheduleRetentionSpec is a retention policy
func (*SnapshotScheduleRetentionSpec) DeepCopy ¶
func (in *SnapshotScheduleRetentionSpec) DeepCopy() *SnapshotScheduleRetentionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotScheduleRetentionSpec.
func (*SnapshotScheduleRetentionSpec) DeepCopyInto ¶
func (in *SnapshotScheduleRetentionSpec) DeepCopyInto(out *SnapshotScheduleRetentionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SnapshotScheduleSpec ¶
type SnapshotScheduleSpec struct { // Path is the path to snapshot, only valid for CephFS // +optional Path string `json:"path,omitempty"` // Interval represent the periodicity of the snapshot. // +optional Interval string `json:"interval,omitempty"` // StartTime indicates when to start the snapshot // +optional StartTime string `json:"startTime,omitempty"` }
SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
func (*SnapshotScheduleSpec) DeepCopy ¶
func (in *SnapshotScheduleSpec) DeepCopy() *SnapshotScheduleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotScheduleSpec.
func (*SnapshotScheduleSpec) DeepCopyInto ¶
func (in *SnapshotScheduleSpec) DeepCopyInto(out *SnapshotScheduleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SnapshotScheduleStatusSpec ¶
type SnapshotScheduleStatusSpec struct { // SnapshotSchedules is the list of snapshots scheduled // +nullable // +optional SnapshotSchedules []SnapshotSchedulesSpec `json:"snapshotSchedules,omitempty"` // LastChecked is the last time time the status was checked // +optional LastChecked string `json:"lastChecked,omitempty"` // LastChanged is the last time time the status last changed // +optional LastChanged string `json:"lastChanged,omitempty"` // Details contains potential status errors // +optional Details string `json:"details,omitempty"` }
SnapshotScheduleStatusSpec is the status of the snapshot schedule
func (*SnapshotScheduleStatusSpec) DeepCopy ¶
func (in *SnapshotScheduleStatusSpec) DeepCopy() *SnapshotScheduleStatusSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotScheduleStatusSpec.
func (*SnapshotScheduleStatusSpec) DeepCopyInto ¶
func (in *SnapshotScheduleStatusSpec) DeepCopyInto(out *SnapshotScheduleStatusSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SnapshotSchedulesSpec ¶
type SnapshotSchedulesSpec struct { // Pool is the pool name // +optional Pool string `json:"pool,omitempty"` // Namespace is the RADOS namespace the image is part of // +optional Namespace string `json:"namespace,omitempty"` // Image is the mirrored image // +optional Image string `json:"image,omitempty"` // Items is the list schedules times for a given snapshot // +optional Items []SnapshotSchedule `json:"items,omitempty"` }
SnapshotSchedulesSpec is the list of snapshot scheduled for images in a pool
func (*SnapshotSchedulesSpec) DeepCopy ¶
func (in *SnapshotSchedulesSpec) DeepCopy() *SnapshotSchedulesSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotSchedulesSpec.
func (*SnapshotSchedulesSpec) DeepCopyInto ¶
func (in *SnapshotSchedulesSpec) DeepCopyInto(out *SnapshotSchedulesSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StatesSpec ¶
type StatesSpec struct { // StartingReplay is when the replay of the mirroring journal starts // +optional StartingReplay int `json:"starting_replay,omitempty"` // Replaying is when the replay of the mirroring journal is on-going // +optional Replaying int `json:"replaying,omitempty"` // Syncing is when the image is syncing // +optional Syncing int `json:"syncing,omitempty"` // StopReplaying is when the replay of the mirroring journal stops // +optional StopReplaying int `json:"stopping_replay,omitempty"` // Stopped is when the mirroring state is stopped // +optional Stopped int `json:"stopped,omitempty"` // Unknown is when the mirroring state is unknown // +optional Unknown int `json:"unknown,omitempty"` // Error is when the mirroring state is errored // +optional Error int `json:"error,omitempty"` }
StatesSpec are rbd images mirroring state
func (*StatesSpec) DeepCopy ¶
func (in *StatesSpec) DeepCopy() *StatesSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatesSpec.
func (*StatesSpec) DeepCopyInto ¶
func (in *StatesSpec) DeepCopyInto(out *StatesSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Status ¶
type Status struct { // +optional Phase string `json:"phase,omitempty"` // ObservedGeneration is the latest generation observed by the controller. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` Conditions []Condition `json:"conditions,omitempty"` }
Status represents the status of an object
func (*Status) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Status.
func (*Status) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageClassDeviceSet ¶
type StorageClassDeviceSet struct { // Name is a unique identifier for the set Name string `json:"name"` // Count is the number of devices in this set // +kubebuilder:validation:Minimum=1 Count int `json:"count"` // +kubebuilder:pruning:PreserveUnknownFields // +nullable // +optional Resources v1.ResourceRequirements `json:"resources,omitempty"` // Requests/limits for the devices // +kubebuilder:pruning:PreserveUnknownFields // +nullable // +optional Placement Placement `json:"placement,omitempty"` // Placement constraints for the device daemons // +kubebuilder:pruning:PreserveUnknownFields // +nullable // +optional PreparePlacement *Placement `json:"preparePlacement,omitempty"` // Placement constraints for the device preparation // Provider-specific device configuration // +kubebuilder:pruning:PreserveUnknownFields // +nullable // +optional Config map[string]string `json:"config,omitempty"` // VolumeClaimTemplates is a list of PVC templates for the underlying storage devices VolumeClaimTemplates []VolumeClaimTemplate `json:"volumeClaimTemplates"` // Portable represents OSD portability across the hosts // +optional Portable bool `json:"portable,omitempty"` // TuneSlowDeviceClass Tune the OSD when running on a slow Device Class // +optional TuneSlowDeviceClass bool `json:"tuneDeviceClass,omitempty"` // TuneFastDeviceClass Tune the OSD when running on a fast Device Class // +optional TuneFastDeviceClass bool `json:"tuneFastDeviceClass,omitempty"` // Scheduler name for OSD pod placement // +optional SchedulerName string `json:"schedulerName,omitempty"` // Whether to encrypt the deviceSet // +optional Encrypted bool `json:"encrypted,omitempty"` }
StorageClassDeviceSet is a storage class device set +nullable
func (*StorageClassDeviceSet) DeepCopy ¶
func (in *StorageClassDeviceSet) DeepCopy() *StorageClassDeviceSet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageClassDeviceSet.
func (*StorageClassDeviceSet) DeepCopyInto ¶
func (in *StorageClassDeviceSet) DeepCopyInto(out *StorageClassDeviceSet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageScopeSpec ¶
type StorageScopeSpec struct { // +nullable // +optional Nodes []Node `json:"nodes,omitempty"` // +optional UseAllNodes bool `json:"useAllNodes,omitempty"` // +optional OnlyApplyOSDPlacement bool `json:"onlyApplyOSDPlacement,omitempty"` // +kubebuilder:pruning:PreserveUnknownFields // +nullable // +optional Config map[string]string `json:"config,omitempty"` Selection `json:",inline"` // +nullable // +optional StorageClassDeviceSets []StorageClassDeviceSet `json:"storageClassDeviceSets,omitempty"` // +optional Store OSDStore `json:"store,omitempty"` // +optional // FlappingRestartIntervalHours defines the time for which the OSD pods, that failed with zero exit code, will sleep before restarting. // This is needed for OSD flapping where OSD daemons are marked down more than 5 times in 600 seconds by Ceph. // Preventing the OSD pods to restart immediately in such scenarios will prevent Rook from marking OSD as `up` and thus // peering of the PGs mapped to the OSD. // User needs to manually restart the OSD pod if they manage to fix the underlying OSD flapping issue before the restart interval. // The sleep will be disabled if this interval is set to 0. FlappingRestartIntervalHours int `json:"flappingRestartIntervalHours"` // FullRatio is the ratio at which the cluster is considered full and ceph will stop accepting writes. Default is 0.95. // +kubebuilder:validation:Minimum=0.0 // +kubebuilder:validation:Maximum=1.0 // +optional // +nullable FullRatio *float64 `json:"fullRatio,omitempty"` // NearFullRatio is the ratio at which the cluster is considered nearly full and will raise a ceph health warning. Default is 0.85. // +kubebuilder:validation:Minimum=0.0 // +kubebuilder:validation:Maximum=1.0 // +optional // +nullable NearFullRatio *float64 `json:"nearFullRatio,omitempty"` // BackfillFullRatio is the ratio at which the cluster is too full for backfill. Backfill will be disabled if above this threshold. Default is 0.90. // +kubebuilder:validation:Minimum=0.0 // +kubebuilder:validation:Maximum=1.0 // +optional // +nullable BackfillFullRatio *float64 `json:"backfillFullRatio,omitempty"` // Whether to allow updating the device class after the OSD is initially provisioned // +optional AllowDeviceClassUpdate bool `json:"allowDeviceClassUpdate,omitempty"` // Whether Rook will resize the OSD CRUSH weight when the OSD PVC size is increased. // This allows cluster data to be rebalanced to make most effective use of new OSD space. // The default is false since data rebalancing can cause temporary cluster slowdown. // +optional AllowOsdCrushWeightUpdate bool `json:"allowOsdCrushWeightUpdate,omitempty"` }
func (*StorageScopeSpec) AnyUseAllDevices ¶
func (s *StorageScopeSpec) AnyUseAllDevices() bool
AnyUseAllDevices gets whether to use all devices
func (*StorageScopeSpec) ClearUseAllDevices ¶
func (s *StorageScopeSpec) ClearUseAllDevices()
ClearUseAllDevices clears all devices
func (*StorageScopeSpec) DeepCopy ¶
func (in *StorageScopeSpec) DeepCopy() *StorageScopeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageScopeSpec.
func (*StorageScopeSpec) DeepCopyInto ¶
func (in *StorageScopeSpec) DeepCopyInto(out *StorageScopeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StorageScopeSpec) GetOSDStore ¶
func (s *StorageScopeSpec) GetOSDStore() string
GetOSDStore returns osd backend store type provided in the cluster spec
func (*StorageScopeSpec) GetOSDStoreFlag ¶
func (s *StorageScopeSpec) GetOSDStoreFlag() string
GetOSDStoreFlag returns osd backend store type prefixed with "--"
func (*StorageScopeSpec) IsOnPVCEncrypted ¶
func (s *StorageScopeSpec) IsOnPVCEncrypted() bool
IsOnPVCEncrypted returns whether a Ceph Cluster on PVC will be encrypted
func (*StorageScopeSpec) NodeExists ¶
func (s *StorageScopeSpec) NodeExists(nodeName string) bool
NodeExists returns true if the node exists in the storage spec. False otherwise.
func (*StorageScopeSpec) NodeWithNameExists ¶
func (s *StorageScopeSpec) NodeWithNameExists(name string) bool
NodeWithNameExists returns true if the storage spec defines a node with the given name.
func (*StorageScopeSpec) ResolveNode ¶
func (s *StorageScopeSpec) ResolveNode(nodeName string) *Node
Fully resolves the config of the given node name, taking into account cluster level and node level specified config. In general, the more fine grained the configuration is specified, the more precedence it takes. Fully resolved configuration for the node has the following order of precedence. 1) Node (config defined on the node itself) 2) Cluster (config defined on the cluster) 3) Default values (if no config exists for the node or cluster)
type StretchClusterSpec ¶
type StretchClusterSpec struct { // FailureDomainLabel the failure domain name (e,g: zone) // +optional FailureDomainLabel string `json:"failureDomainLabel,omitempty"` // SubFailureDomain is the failure domain within a zone // +optional SubFailureDomain string `json:"subFailureDomain,omitempty"` // Zones is the list of zones // +optional // +nullable Zones []MonZoneSpec `json:"zones,omitempty"` }
StretchClusterSpec represents the specification of a stretched Ceph Cluster
func (*StretchClusterSpec) DeepCopy ¶
func (in *StretchClusterSpec) DeepCopy() *StretchClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StretchClusterSpec.
func (*StretchClusterSpec) DeepCopyInto ¶
func (in *StretchClusterSpec) DeepCopyInto(out *StretchClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SwiftSpec ¶
type SwiftSpec struct { // Whether or not the Swift account name should be included in the Swift API URL. If set to false (the default), then the Swift API will listen on a URL formed like http://host:port/<rgw_swift_url_prefix>/v1. If set to true, the Swift API URL will be http://host:port/<rgw_swift_url_prefix>/v1/AUTH_<account_name>. You must set this option to true (and update the Keystone service catalog) if you want radosgw to support publicly-readable containers and temporary URLs. // +nullable // +optional AccountInUrl *bool `json:"accountInUrl,omitempty"` // The URL prefix for the Swift API, to distinguish it from the S3 API endpoint. The default is swift, which makes the Swift API available at the URL http://host:port/swift/v1 (or http://host:port/swift/v1/AUTH_%(tenant_id)s if rgw swift account in url is enabled). // +nullable // +optional UrlPrefix *string `json:"urlPrefix,omitempty"` // Enables the Object Versioning of OpenStack Object Storage API. This allows clients to put the X-Versions-Location attribute on containers that should be versioned. // +nullable // +optional VersioningEnabled *bool `json:"versioningEnabled,omitempty"` }
SwiftSpec represents Ceph Object Store specification for the Swift API
func (*SwiftSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwiftSpec.
func (*SwiftSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TopicEndpointSpec ¶
type TopicEndpointSpec struct { // Spec of HTTP endpoint // +optional HTTP *HTTPEndpointSpec `json:"http,omitempty"` // Spec of AMQP endpoint // +optional AMQP *AMQPEndpointSpec `json:"amqp,omitempty"` // Spec of Kafka endpoint // +optional Kafka *KafkaEndpointSpec `json:"kafka,omitempty"` }
TopicEndpointSpec contains exactly one of the endpoint specs of a Bucket Topic
func (*TopicEndpointSpec) DeepCopy ¶
func (in *TopicEndpointSpec) DeepCopy() *TopicEndpointSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopicEndpointSpec.
func (*TopicEndpointSpec) DeepCopyInto ¶
func (in *TopicEndpointSpec) DeepCopyInto(out *TopicEndpointSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeClaimTemplate ¶
type VolumeClaimTemplate struct { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // spec defines the desired characteristics of a volume requested by a pod author. // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims // +optional Spec v1.PersistentVolumeClaimSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"` }
VolumeClaimTemplate is a simplified version of K8s corev1's PVC. It has no type meta or status.
func (*VolumeClaimTemplate) DeepCopy ¶
func (in *VolumeClaimTemplate) DeepCopy() *VolumeClaimTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeClaimTemplate.
func (*VolumeClaimTemplate) DeepCopyInto ¶
func (in *VolumeClaimTemplate) DeepCopyInto(out *VolumeClaimTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VolumeClaimTemplate) ToPVC ¶
func (t *VolumeClaimTemplate) ToPVC() *corev1.PersistentVolumeClaim
type ZoneSpec ¶
type ZoneSpec struct { // RGW Zone the Object Store is in Name string `json:"name"` }
ZoneSpec represents a Ceph Object Store Gateway Zone specification
func (*ZoneSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZoneSpec.
func (*ZoneSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.