diff --git a/.github/workflows/docs-check.yml b/.github/workflows/docs-check.yml index 946efc0e1..1019058c3 100644 --- a/.github/workflows/docs-check.yml +++ b/.github/workflows/docs-check.yml @@ -45,5 +45,15 @@ jobs: - name: Install mkdocs and dependencies run: cd build/release/ && make deps.docs + - name: Check documentation for CRDs + run: | + make validate-and-gen-docs-crds + DIFF_ON_DOCS=$(git diff --ignore-matching-lines='on git commit') + if [ ! -z "$DIFF_ON_DOCS" ]; then + echo "Please run 'make generate-docs-crds' locally, commit the updated crds docs, and push the change" + fi + git diff --ignore-matching-lines='on git commit' --exit-code + - name: Build documentation using mkdocs run: make docs-build + diff --git a/Documentation/CRDs/.pages b/Documentation/CRDs/.pages index 62eefeb8e..e0b3db420 100644 --- a/Documentation/CRDs/.pages +++ b/Documentation/CRDs/.pages @@ -5,4 +5,6 @@ nav: - Shared-Filesystem - Object-Storage - ceph-client-crd.md + - ceph-nfs-crd.md + - specification.md - ... diff --git a/Documentation/CRDs/specification.md b/Documentation/CRDs/specification.md new file mode 100644 index 000000000..30b5575d8 --- /dev/null +++ b/Documentation/CRDs/specification.md @@ -0,0 +1,10809 @@ +
Packages:
+Package v1 is the v1 version of the API.
+CephBlockPool represents a Ceph Storage Pool
+| Field | +Description | +||||
|---|---|---|---|---|---|
+apiVersion+string |
+
+
+ceph.rook.io/v1
+
+ |
+||||
+kind+string + |
+CephBlockPool |
+||||
+metadata+ + +Kubernetes meta/v1.ObjectMeta + + + |
+
+Refer to the Kubernetes API documentation for the fields of the
+metadata field.
+ |
+||||
+spec+ + +NamedBlockPoolSpec + + + |
+
+ + +
|
+||||
+status+ + +CephBlockPoolStatus + + + |
++ | +
CephBlockPoolRadosNamespace represents a Ceph BlockPool Rados Namespace
+| Field | +Description | +||
|---|---|---|---|
+apiVersion+string |
+
+
+ceph.rook.io/v1
+
+ |
+||
+kind+string + |
+CephBlockPoolRadosNamespace |
+||
+metadata+ + +Kubernetes meta/v1.ObjectMeta + + + |
+
+Refer to the Kubernetes API documentation for the fields of the
+metadata field.
+ |
+||
+spec+ + +CephBlockPoolRadosNamespaceSpec + + + |
+
+ Spec represents the specification of a Ceph BlockPool Rados Namespace ++ +
|
+||
+status+ + +CephBlockPoolRadosNamespaceStatus + + + |
+
+(Optional)
+ Status represents the status of a CephBlockPool Rados Namespace + |
+
CephBucketNotification represents a Bucket Notifications
+| Field | +Description | +||||||
|---|---|---|---|---|---|---|---|
+apiVersion+string |
+
+
+ceph.rook.io/v1
+
+ |
+||||||
+kind+string + |
+CephBucketNotification |
+||||||
+metadata+ + +Kubernetes meta/v1.ObjectMeta + + + |
+
+Refer to the Kubernetes API documentation for the fields of the
+metadata field.
+ |
+||||||
+spec+ + +BucketNotificationSpec + + + |
+
+ + +
|
+||||||
+status+ + +Status + + + |
++(Optional) + | +
CephBucketTopic represents a Ceph Object Topic for Bucket Notifications
+| Field | +Description | +||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
+apiVersion+string |
+
+
+ceph.rook.io/v1
+
+ |
+||||||||||
+kind+string + |
+CephBucketTopic |
+||||||||||
+metadata+ + +Kubernetes meta/v1.ObjectMeta + + + |
+
+Refer to the Kubernetes API documentation for the fields of the
+metadata field.
+ |
+||||||||||
+spec+ + +BucketTopicSpec + + + |
+
+ + +
|
+||||||||||
+status+ + +BucketTopicStatus + + + |
++(Optional) + | +
CephClient represents a Ceph Client
+| Field | +Description | +||||
|---|---|---|---|---|---|
+apiVersion+string |
+
+
+ceph.rook.io/v1
+
+ |
+||||
+kind+string + |
+CephClient |
+||||
+metadata+ + +Kubernetes meta/v1.ObjectMeta + + + |
+
+Refer to the Kubernetes API documentation for the fields of the
+metadata field.
+ |
+||||
+spec+ + +ClientSpec + + + |
+
+ Spec represents the specification of a Ceph Client ++ +
|
+||||
+status+ + +CephClientStatus + + + |
+
+(Optional)
+ Status represents the status of a Ceph Client + |
+
CephCluster is a Ceph storage cluster
+| Field | +Description | +||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
+apiVersion+string |
+
+
+ceph.rook.io/v1
+
+ |
+||||||||||||||||||||||||||||||||||||||||||||||||
+kind+string + |
+CephCluster |
+||||||||||||||||||||||||||||||||||||||||||||||||
+metadata+ + +Kubernetes meta/v1.ObjectMeta + + + |
+
+Refer to the Kubernetes API documentation for the fields of the
+metadata field.
+ |
+||||||||||||||||||||||||||||||||||||||||||||||||
+spec+ + +ClusterSpec + + + |
+
+ + +
|
+||||||||||||||||||||||||||||||||||||||||||||||||
+status+ + +ClusterStatus + + + |
++(Optional) + | +
CephFilesystem represents a Ceph Filesystem
+| Field | +Description | +||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
+apiVersion+string |
+
+
+ceph.rook.io/v1
+
+ |
+||||||||||||||
+kind+string + |
+CephFilesystem |
+||||||||||||||
+metadata+ + +Kubernetes meta/v1.ObjectMeta + + + |
+
+Refer to the Kubernetes API documentation for the fields of the
+metadata field.
+ |
+||||||||||||||
+spec+ + +FilesystemSpec + + + |
+
+ + +
|
+||||||||||||||
+status+ + +CephFilesystemStatus + + + |
++ | +
CephFilesystemMirror is the Ceph Filesystem Mirror object definition
+| Field | +Description | +||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
+apiVersion+string |
+
+
+ceph.rook.io/v1
+
+ |
+||||||||||
+kind+string + |
+CephFilesystemMirror |
+||||||||||
+metadata+ + +Kubernetes meta/v1.ObjectMeta + + + |
+
+Refer to the Kubernetes API documentation for the fields of the
+metadata field.
+ |
+||||||||||
+spec+ + +FilesystemMirroringSpec + + + |
+
+ + +
|
+||||||||||
+status+ + +Status + + + |
++(Optional) + | +
CephFilesystemSubVolumeGroup represents a Ceph Filesystem SubVolumeGroup
+| Field | +Description | +||
|---|---|---|---|
+apiVersion+string |
+
+
+ceph.rook.io/v1
+
+ |
+||
+kind+string + |
+CephFilesystemSubVolumeGroup |
+||
+metadata+ + +Kubernetes meta/v1.ObjectMeta + + + |
+
+Refer to the Kubernetes API documentation for the fields of the
+metadata field.
+ |
+||
+spec+ + +CephFilesystemSubVolumeGroupSpec + + + |
+
+ Spec represents the specification of a Ceph Filesystem SubVolumeGroup ++ +
|
+||
+status+ + +CephFilesystemSubVolumeGroupStatus + + + |
+
+(Optional)
+ Status represents the status of a CephFilesystem SubvolumeGroup + |
+
CephNFS represents a Ceph NFS
+| Field | +Description | +||||||
|---|---|---|---|---|---|---|---|
+apiVersion+string |
+
+
+ceph.rook.io/v1
+
+ |
+||||||
+kind+string + |
+CephNFS |
+||||||
+metadata+ + +Kubernetes meta/v1.ObjectMeta + + + |
+
+Refer to the Kubernetes API documentation for the fields of the
+metadata field.
+ |
+||||||
+spec+ + +NFSGaneshaSpec + + + |
+
+ + +
|
+||||||
+status+ + +Status + + + |
++(Optional) + | +
CephObjectRealm represents a Ceph Object Store Gateway Realm
+| Field | +Description | +||
|---|---|---|---|
+apiVersion+string |
+
+
+ceph.rook.io/v1
+
+ |
+||
+kind+string + |
+CephObjectRealm |
+||
+metadata+ + +Kubernetes meta/v1.ObjectMeta + + + |
+
+Refer to the Kubernetes API documentation for the fields of the
+metadata field.
+ |
+||
+spec+ + +ObjectRealmSpec + + + |
+
+(Optional)
+ + +
|
+||
+status+ + +Status + + + |
++(Optional) + | +
CephObjectStore represents a Ceph Object Store Gateway
+| Field | +Description | +||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
+apiVersion+string |
+
+
+ceph.rook.io/v1
+
+ |
+||||||||||||||
+kind+string + |
+CephObjectStore |
+||||||||||||||
+metadata+ + +Kubernetes meta/v1.ObjectMeta + + + |
+
+Refer to the Kubernetes API documentation for the fields of the
+metadata field.
+ |
+||||||||||||||
+spec+ + +ObjectStoreSpec + + + |
+
+ + +
|
+||||||||||||||
+status+ + +ObjectStoreStatus + + + |
++ | +
CephObjectStoreUser represents a Ceph Object Store Gateway User
+| Field | +Description | +||||||||
|---|---|---|---|---|---|---|---|---|---|
+apiVersion+string |
+
+
+ceph.rook.io/v1
+
+ |
+||||||||
+kind+string + |
+CephObjectStoreUser |
+||||||||
+metadata+ + +Kubernetes meta/v1.ObjectMeta + + + |
+
+Refer to the Kubernetes API documentation for the fields of the
+metadata field.
+ |
+||||||||
+spec+ + +ObjectStoreUserSpec + + + |
+
+ + +
|
+||||||||
+status+ + +ObjectStoreUserStatus + + + |
++(Optional) + | +
CephObjectZone represents a Ceph Object Store Gateway Zone
+| Field | +Description | +||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
+apiVersion+string |
+
+
+ceph.rook.io/v1
+
+ |
+||||||||||
+kind+string + |
+CephObjectZone |
+||||||||||
+metadata+ + +Kubernetes meta/v1.ObjectMeta + + + |
+
+Refer to the Kubernetes API documentation for the fields of the
+metadata field.
+ |
+||||||||||
+spec+ + +ObjectZoneSpec + + + |
+
+ + +
|
+||||||||||
+status+ + +Status + + + |
++(Optional) + | +
CephObjectZoneGroup represents a Ceph Object Store Gateway Zone Group
+| Field | +Description | +||
|---|---|---|---|
+apiVersion+string |
+
+
+ceph.rook.io/v1
+
+ |
+||
+kind+string + |
+CephObjectZoneGroup |
+||
+metadata+ + +Kubernetes meta/v1.ObjectMeta + + + |
+
+Refer to the Kubernetes API documentation for the fields of the
+metadata field.
+ |
+||
+spec+ + +ObjectZoneGroupSpec + + + |
+
+ + +
|
+||
+status+ + +Status + + + |
++(Optional) + | +
CephRBDMirror represents a Ceph RBD Mirror
+| Field | +Description | +||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
+apiVersion+string |
+
+
+ceph.rook.io/v1
+
+ |
+||||||||||||||
+kind+string + |
+CephRBDMirror |
+||||||||||||||
+metadata+ + +Kubernetes meta/v1.ObjectMeta + + + |
+
+Refer to the Kubernetes API documentation for the fields of the
+metadata field.
+ |
+||||||||||||||
+spec+ + +RBDMirroringSpec + + + |
+
+ + +
|
+||||||||||||||
+status+ + +Status + + + |
++(Optional) + | +
+(Appears on:TopicEndpointSpec) +
+AMQPEndpointSpec represent the spec of an AMQP endpoint of a Bucket Topic
+| Field | +Description | +
|---|---|
+uri+ +string + + |
+
+ The URI of the AMQP endpoint to push notification to + |
+
+exchange+ +string + + |
+
+ Name of the exchange that is used to route messages based on topics + |
+
+disableVerifySSL+ +bool + + |
+
+(Optional)
+ Indicate whether the server certificate is validated by the client or not + |
+
+ackLevel+ +string + + |
+
+(Optional)
+ The ack level required for this topic (none/broker/routeable) + |
+
map[string]string alias)+(Appears on:FilesystemMirroringSpec, GaneshaServerSpec, GatewaySpec, MetadataServerSpec, RBDMirroringSpec, RGWServiceSpec) +
+Annotations are annotations
+map[github.com/rook/rook/pkg/apis/ceph.rook.io/v1.KeyType]github.com/rook/rook/pkg/apis/ceph.rook.io/v1.Annotations alias)+(Appears on:ClusterSpec) +
+AnnotationsSpec is the main spec annotation for all daemons
+string alias)+(Appears on:BucketNotificationSpec) +
+BucketNotificationSpec represent the event type of the bucket notification
++(Appears on:CephBucketNotification) +
+BucketNotificationSpec represent the spec of a Bucket Notification
+| Field | +Description | +
|---|---|
+topic+ +string + + |
+
+ The name of the topic associated with this notification + |
+
+events+ + +[]BucketNotificationEvent + + + |
+
+(Optional)
+ List of events that should trigger the notification + |
+
+filter+ + +NotificationFilterSpec + + + |
+
+(Optional)
+ Spec of notification filter + |
+
+(Appears on:CephBucketTopic) +
+BucketTopicSpec represent the spec of a Bucket Topic
+| Field | +Description | +
|---|---|
+objectStoreName+ +string + + |
+
+ The name of the object store on which to define the topic + |
+
+objectStoreNamespace+ +string + + |
+
+ The namespace of the object store on which to define the topic + |
+
+opaqueData+ +string + + |
+
+(Optional)
+ Data which is sent in each event + |
+
+persistent+ +bool + + |
+
+(Optional)
+ Indication whether notifications to this endpoint are persistent or not + |
+
+endpoint+ + +TopicEndpointSpec + + + |
+
+ Contains the endpoint spec of the topic + |
+
+(Appears on:CephBucketTopic) +
+BucketTopicStatus represents the Status of a CephBucketTopic
+| Field | +Description | +
|---|---|
+phase+ +string + + |
++(Optional) + | +
+ARN+ +string + + |
+
+(Optional)
+ The ARN of the topic generated by the RGW + |
+
+observedGeneration+ +int64 + + |
+
+(Optional)
+ ObservedGeneration is the latest generation observed by the controller. + |
+
+(Appears on:CephStatus) +
+Capacity is the capacity information of a Ceph Cluster
+| Field | +Description | +
|---|---|
+bytesTotal+ +uint64 + + |
++ | +
+bytesUsed+ +uint64 + + |
++ | +
+bytesAvailable+ +uint64 + + |
++ | +
+lastUpdated+ +string + + |
++ | +
+(Appears on:CephBlockPoolRadosNamespace) +
+CephBlockPoolRadosNamespaceSpec represents the specification of a CephBlockPool Rados Namespace
+| Field | +Description | +
|---|---|
+blockPoolName+ +string + + |
+
+ BlockPoolName is the name of Ceph BlockPool. Typically it’s the name of +the CephBlockPool CR. + |
+
+(Appears on:CephBlockPoolRadosNamespace) +
+CephBlockPoolRadosNamespaceStatus represents the Status of Ceph BlockPool +Rados Namespace
+| Field | +Description | +
|---|---|
+phase+ + +ConditionType + + + |
++(Optional) + | +
+info+ +map[string]string + + |
++(Optional) + | +
+(Appears on:CephBlockPool) +
+CephBlockPoolStatus represents the mirroring status of Ceph Storage Pool
+| Field | +Description | +
|---|---|
+phase+ + +ConditionType + + + |
++(Optional) + | +
+mirroringStatus+ + +MirroringStatusSpec + + + |
++(Optional) + | +
+mirroringInfo+ + +MirroringInfoSpec + + + |
++(Optional) + | +
+snapshotScheduleStatus+ + +SnapshotScheduleStatusSpec + + + |
++(Optional) + | +
+info+ +map[string]string + + |
++(Optional) + | +
+observedGeneration+ +int64 + + |
+
+(Optional)
+ ObservedGeneration is the latest generation observed by the controller. + |
+
+conditions+ + +[]Condition + + + |
++ | +
+(Appears on:CephClient) +
+CephClientStatus represents the Status of Ceph Client
+| Field | +Description | +
|---|---|
+phase+ + +ConditionType + + + |
++(Optional) + | +
+info+ +map[string]string + + |
++(Optional) + | +
+observedGeneration+ +int64 + + |
+
+(Optional)
+ ObservedGeneration is the latest generation observed by the controller. + |
+
+(Appears on:ClusterSpec) +
+CephClusterHealthCheckSpec represent the healthcheck for Ceph daemons
+| Field | +Description | +
|---|---|
+daemonHealth+ + +DaemonHealthSpec + + + |
+
+(Optional)
+ DaemonHealth is the health check for a given daemon + |
+
+livenessProbe+ + +map[github.com/rook/rook/pkg/apis/ceph.rook.io/v1.KeyType]*github.com/rook/rook/pkg/apis/ceph.rook.io/v1.ProbeSpec + + + |
+
+(Optional)
+ LivenessProbe allows changing the livenessProbe configuration for a given daemon + |
+
+startupProbe+ + +map[github.com/rook/rook/pkg/apis/ceph.rook.io/v1.KeyType]*github.com/rook/rook/pkg/apis/ceph.rook.io/v1.ProbeSpec + + + |
+
+(Optional)
+ StartupProbe allows changing the startupProbe configuration for a given daemon + |
+
+(Appears on:CephStatus) +
+CephDaemonsVersions show the current ceph version for different ceph daemons
+| Field | +Description | +
|---|---|
+mon+ +map[string]int + + |
+
+(Optional)
+ Mon shows Mon Ceph version + |
+
+mgr+ +map[string]int + + |
+
+(Optional)
+ Mgr shows Mgr Ceph version + |
+
+osd+ +map[string]int + + |
+
+(Optional)
+ Osd shows Osd Ceph version + |
+
+rgw+ +map[string]int + + |
+
+(Optional)
+ Rgw shows Rgw Ceph version + |
+
+mds+ +map[string]int + + |
+
+(Optional)
+ Mds shows Mds Ceph version + |
+
+rbd-mirror+ +map[string]int + + |
+
+(Optional)
+ RbdMirror shows RbdMirror Ceph version + |
+
+cephfs-mirror+ +map[string]int + + |
+
+(Optional)
+ CephFSMirror shows CephFSMirror Ceph version + |
+
+overall+ +map[string]int + + |
+
+(Optional)
+ Overall shows overall Ceph version + |
+
+(Appears on:CephFilesystem) +
+CephFilesystemStatus represents the status of a Ceph Filesystem
+| Field | +Description | +
|---|---|
+phase+ + +ConditionType + + + |
++(Optional) + | +
+snapshotScheduleStatus+ + +FilesystemSnapshotScheduleStatusSpec + + + |
++(Optional) + | +
+info+ +map[string]string + + |
+
+(Optional)
+ Use only info and put mirroringStatus in it? + |
+
+mirroringStatus+ + +FilesystemMirroringInfoSpec + + + |
+
+(Optional)
+ MirroringStatus is the filesystem mirroring status + |
+
+conditions+ + +[]Condition + + + |
++ | +
+observedGeneration+ +int64 + + |
+
+(Optional)
+ ObservedGeneration is the latest generation observed by the controller. + |
+
+(Appears on:CephFilesystemSubVolumeGroup) +
+CephFilesystemSubVolumeGroupSpec represents the specification of a Ceph Filesystem SubVolumeGroup
+| Field | +Description | +
|---|---|
+filesystemName+ +string + + |
+
+ 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 |
+
+(Appears on:CephFilesystemSubVolumeGroup) +
+CephFilesystemSubVolumeGroupStatus represents the Status of Ceph Filesystem SubVolumeGroup
+| Field | +Description | +
|---|---|
+phase+ + +ConditionType + + + |
++(Optional) + | +
+info+ +map[string]string + + |
++(Optional) + | +
+observedGeneration+ +int64 + + |
+
+(Optional)
+ ObservedGeneration is the latest generation observed by the controller. + |
+
+(Appears on:CephStatus) +
+CephHealthMessage represents the health message of a Ceph Cluster
+| Field | +Description | +
|---|---|
+severity+ +string + + |
++ | +
+message+ +string + + |
++ | +
+(Appears on:ClusterStatus) +
+CephStatus is the details health of a Ceph Cluster
+| Field | +Description | +
|---|---|
+health+ +string + + |
++ | +
+details+ + +map[string]github.com/rook/rook/pkg/apis/ceph.rook.io/v1.CephHealthMessage + + + |
++ | +
+lastChecked+ +string + + |
++ | +
+lastChanged+ +string + + |
++ | +
+previousHealth+ +string + + |
++ | +
+capacity+ + +Capacity + + + |
++ | +
+versions+ + +CephDaemonsVersions + + + |
++(Optional) + | +
+fsid+ +string + + |
++ | +
+(Appears on:ClusterStatus) +
+CephStorage represents flavors of Ceph Cluster Storage
+| Field | +Description | +
|---|---|
+deviceClasses+ + +[]DeviceClasses + + + |
++ | +
+(Appears on:ClusterSpec) +
+CephVersionSpec represents the settings for the Ceph version that Rook is orchestrating.
+| Field | +Description | +
|---|---|
+image+ +string + + |
+
+(Optional)
+ Image is the container image used to launch the ceph daemons, such as quay.io/ceph/ceph: |
+
+allowUnsupported+ +bool + + |
+
+(Optional)
+ Whether to allow unsupported versions (do not set to true in production) + |
+
+imagePullPolicy+ + +Kubernetes core/v1.PullPolicy + + + |
+
+(Optional)
+ ImagePullPolicy describes a policy for if/when to pull a container image +One of Always, Never, IfNotPresent. + |
+
string alias)+(Appears on:CleanupPolicySpec) +
+CleanupConfirmationProperty represents the cleanup confirmation
+| Value | +Description | +
|---|---|
"yes-really-destroy-data" |
+DeleteDataDirOnHostsConfirmation represents the validation to destroy dataDirHostPath + |
+
+(Appears on:ClusterSpec) +
+CleanupPolicySpec represents a Ceph Cluster cleanup policy
+| Field | +Description | +
|---|---|
+confirmation+ + +CleanupConfirmationProperty + + + |
+
+(Optional)
+ Confirmation represents the cleanup confirmation + |
+
+sanitizeDisks+ + +SanitizeDisksSpec + + + |
+
+(Optional)
+ SanitizeDisks represents way we sanitize disks + |
+
+allowUninstallWithVolumes+ +bool + + |
+
+(Optional)
+ AllowUninstallWithVolumes defines whether we can proceed with the uninstall if they are RBD images still present + |
+
+(Appears on:CephClient) +
+ClientSpec represents the specification of a Ceph Client
+| Field | +Description | +
|---|---|
+name+ +string + + |
++(Optional) + | +
+caps+ +map[string]string + + |
++ | +
+(Appears on:CephCluster) +
+ClusterSpec represents the specification of Ceph Cluster
+| Field | +Description | +
|---|---|
+cephVersion+ + +CephVersionSpec + + + |
+
+(Optional)
+ The version information that instructs Rook to orchestrate a particular version of Ceph. + |
+
+storage+ + +StorageScopeSpec + + + |
+
+(Optional)
+ A spec for available storage in the cluster and how it should be used + |
+
+annotations+ + +AnnotationsSpec + + + |
+
+(Optional)
+ The annotations-related configuration to add/set on each Pod related object. + |
+
+labels+ + +LabelsSpec + + + |
+
+(Optional)
+ The labels-related configuration to add/set on each Pod related object. + |
+
+placement+ + +PlacementSpec + + + |
+
+(Optional)
+ The placement-related configuration to pass to kubernetes (affinity, node selector, tolerations). + |
+
+network+ + +NetworkSpec + + + |
+
+(Optional)
+ Network related configuration + |
+
+resources+ + +ResourceSpec + + + |
+
+(Optional)
+ Resources set resource requests and limits + |
+
+priorityClassNames+ + +PriorityClassNamesSpec + + + |
+
+(Optional)
+ PriorityClassNames sets priority classes on components + |
+
+dataDirHostPath+ +string + + |
+
+(Optional)
+ The path on the host where config and data can be persisted + |
+
+skipUpgradeChecks+ +bool + + |
+
+(Optional)
+ SkipUpgradeChecks defines if an upgrade should be forced even if one of the check fails + |
+
+continueUpgradeAfterChecksEvenIfNotHealthy+ +bool + + |
+
+(Optional)
+ ContinueUpgradeAfterChecksEvenIfNotHealthy defines if an upgrade should continue even if PGs are not clean + |
+
+waitTimeoutForHealthyOSDInMinutes+ +time.Duration + + |
+
+(Optional)
+ 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 |
+
+disruptionManagement+ + +DisruptionManagementSpec + + + |
+
+(Optional)
+ A spec for configuring disruption management. + |
+
+mon+ + +MonSpec + + + |
+
+(Optional)
+ A spec for mon related options + |
+
+crashCollector+ + +CrashCollectorSpec + + + |
+
+(Optional)
+ A spec for the crash controller + |
+
+dashboard+ + +DashboardSpec + + + |
+
+(Optional)
+ Dashboard settings + |
+
+monitoring+ + +MonitoringSpec + + + |
+
+(Optional)
+ Prometheus based Monitoring settings + |
+
+external+ + +ExternalSpec + + + |
+
+(Optional)
+ 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. + |
+
+mgr+ + +MgrSpec + + + |
+
+(Optional)
+ A spec for mgr related options + |
+
+removeOSDsIfOutAndSafeToRemove+ +bool + + |
+
+(Optional)
+ Remove the OSD that is out and safe to remove only if this option is true + |
+
+cleanupPolicy+ + +CleanupPolicySpec + + + |
+
+(Optional)
+ Indicates user intent when deleting a cluster; blocks orchestration and should not be set if cluster +deletion is not imminent. + |
+
+healthCheck+ + +CephClusterHealthCheckSpec + + + |
+
+(Optional)
+ Internal daemon healthchecks and liveness probe + |
+
+security+ + +SecuritySpec + + + |
+
+(Optional)
+ Security represents security settings + |
+
+logCollector+ + +LogCollectorSpec + + + |
+
+(Optional)
+ Logging represents loggings settings + |
+
string alias)+(Appears on:ClusterStatus) +
+ClusterState represents the state of a Ceph Cluster
+| Value | +Description | +
|---|---|
"Connected" |
+ClusterStateConnected represents the Connected state of a Ceph Cluster + |
+
"Connecting" |
+ClusterStateConnecting represents the Connecting state of a Ceph Cluster + |
+
"Created" |
+ClusterStateCreated represents the Created state of a Ceph Cluster + |
+
"Creating" |
+ClusterStateCreating represents the Creating state of a Ceph Cluster + |
+
"Error" |
+ClusterStateError represents the Error state of a Ceph Cluster + |
+
"Updating" |
+ClusterStateUpdating represents the Updating state of a Ceph Cluster + |
+
+(Appears on:CephCluster) +
+ClusterStatus represents the status of a Ceph cluster
+| Field | +Description | +
|---|---|
+state+ + +ClusterState + + + |
++ | +
+phase+ + +ConditionType + + + |
++ | +
+message+ +string + + |
++ | +
+conditions+ + +[]Condition + + + |
++ | +
+ceph+ + +CephStatus + + + |
++ | +
+storage+ + +CephStorage + + + |
++ | +
+version+ + +ClusterVersion + + + |
++ | +
+observedGeneration+ +int64 + + |
+
+(Optional)
+ ObservedGeneration is the latest generation observed by the controller. + |
+
+(Appears on:ClusterStatus) +
+ClusterVersion represents the version of a Ceph Cluster
+| Field | +Description | +
|---|---|
+image+ +string + + |
++ | +
+version+ +string + + |
++ | +
+(Appears on:ConnectionsSpec) +
+| Field | +Description | +
|---|---|
+enabled+ +bool + + |
+
+(Optional)
+ Whether to compress the data in transit across the wire. +The default is not set. Requires Ceph Quincy (v17) or newer. + |
+
+(Appears on:CephBlockPoolStatus, CephFilesystemStatus, ClusterStatus, ObjectStoreStatus, Status) +
+Condition represents a status condition on any Rook-Ceph Custom Resource.
+| Field | +Description | +
|---|---|
+type+ + +ConditionType + + + |
++ | +
+status+ + +Kubernetes core/v1.ConditionStatus + + + |
++ | +
+reason+ + +ConditionReason + + + |
++ | +
+message+ +string + + |
++ | +
+lastHeartbeatTime+ + +Kubernetes meta/v1.Time + + + |
++ | +
+lastTransitionTime+ + +Kubernetes meta/v1.Time + + + |
++ | +
string alias)+(Appears on:Condition) +
+ConditionReason is a reason for a condition
+| Value | +Description | +
|---|---|
"ClusterConnected" |
+ClusterConnectedReason is cluster connected reason + |
+
"ClusterConnecting" |
+ClusterConnectingReason is cluster connecting reason + |
+
"ClusterCreated" |
+ClusterCreatedReason is cluster created reason + |
+
"ClusterDeleting" |
+ClusterDeletingReason is cluster deleting reason + |
+
"ClusterProgressing" |
+ClusterProgressingReason is cluster progressing reason + |
+
"Deleting" |
+DeletingReason represents when Rook has detected a resource object should be deleted. + |
+
"ObjectHasDependents" |
+ObjectHasDependentsReason represents when a resource object has dependents that are blocking +deletion. + |
+
"ObjectHasNoDependents" |
+ObjectHasNoDependentsReason represents when a resource object has no dependents that are +blocking deletion. + |
+
"ReconcileFailed" |
+ReconcileFailed represents when a resource reconciliation failed. + |
+
"ReconcileStarted" |
+ReconcileStarted represents when a resource reconciliation started. + |
+
"ReconcileSucceeded" |
+ReconcileSucceeded represents when a resource reconciliation was successful. + |
+
string alias)+(Appears on:CephBlockPoolRadosNamespaceStatus, CephBlockPoolStatus, CephClientStatus, CephFilesystemStatus, CephFilesystemSubVolumeGroupStatus, ClusterStatus, Condition, ObjectStoreStatus) +
+ConditionType represent a resource’s status
+| Value | +Description | +
|---|---|
"Connected" |
+ConditionConnected represents Connected state of an object + |
+
"Connecting" |
+ConditionConnecting represents Connecting state of an object + |
+
"Deleting" |
+ConditionDeleting represents Deleting state of an object + |
+
"DeletionIsBlocked" |
+ConditionDeletionIsBlocked represents when deletion of the object is blocked. + |
+
"Failure" |
+ConditionFailure represents Failure state of an object + |
+
"Progressing" |
+ConditionProgressing represents Progressing state of an object + |
+
"Ready" |
+ConditionReady represents Ready state of an object + |
+
+(Appears on:NetworkSpec) +
+| Field | +Description | +
|---|---|
+encryption+ + +EncryptionSpec + + + |
+
+(Optional)
+ Encryption settings for the network connections. + |
+
+compression+ + +CompressionSpec + + + |
+
+(Optional)
+ Compression settings for the network connections. + |
+
+requireMsgr2+ +bool + + |
+
+(Optional)
+ 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). + |
+
+(Appears on:ClusterSpec) +
+CrashCollectorSpec represents options to configure the crash controller
+| Field | +Description | +
|---|---|
+disable+ +bool + + |
+
+(Optional)
+ Disable determines whether we should enable the crash collector + |
+
+daysToRetain+ +uint + + |
+
+(Optional)
+ DaysToRetain represents the number of days to retain crash until they get pruned + |
+
+(Appears on:CephClusterHealthCheckSpec) +
+DaemonHealthSpec is a daemon health check
+| Field | +Description | +
|---|---|
+status+ + +HealthCheckSpec + + + |
+
+(Optional)
+ Status represents the health check settings for the Ceph health + |
+
+mon+ + +HealthCheckSpec + + + |
+
+(Optional)
+ Monitor represents the health check settings for the Ceph monitor + |
+
+osd+ + +HealthCheckSpec + + + |
+
+(Optional)
+ ObjectStorageDaemon represents the health check settings for the Ceph OSDs + |
+
+(Appears on:ClusterSpec) +
+DashboardSpec represents the settings for the Ceph dashboard
+| Field | +Description | +
|---|---|
+enabled+ +bool + + |
+
+(Optional)
+ Enabled determines whether to enable the dashboard + |
+
+urlPrefix+ +string + + |
+
+(Optional)
+ URLPrefix is a prefix for all URLs to use the dashboard with a reverse proxy + |
+
+port+ +int + + |
+
+(Optional)
+ Port is the dashboard webserver port + |
+
+ssl+ +bool + + |
+
+(Optional)
+ SSL determines whether SSL should be used + |
+
+(Appears on:Selection) +
+Device represents a disk to use in the cluster
+| Field | +Description | +
|---|---|
+name+ +string + + |
++(Optional) + | +
+fullpath+ +string + + |
++(Optional) + | +
+config+ +map[string]string + + |
++(Optional) + | +
+(Appears on:CephStorage) +
+DeviceClasses represents device classes of a Ceph Cluster
+| Field | +Description | +
|---|---|
+name+ +string + + |
++ | +
+(Appears on:ClusterSpec) +
+DisruptionManagementSpec configures management of daemon disruptions
+| Field | +Description | +
|---|---|
+managePodBudgets+ +bool + + |
+
+(Optional)
+ This enables management of poddisruptionbudgets + |
+
+osdMaintenanceTimeout+ +time.Duration + + |
+
+(Optional)
+ 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 + |
+
+pgHealthCheckTimeout+ +time.Duration + + |
+
+(Optional)
+ 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. + |
+
+manageMachineDisruptionBudgets+ +bool + + |
+
+(Optional)
+ Deprecated. This enables management of machinedisruptionbudgets. + |
+
+machineDisruptionBudgetNamespace+ +string + + |
+
+(Optional)
+ Deprecated. Namespace to look for MDBs by the machineDisruptionBudgetController + |
+
+(Appears on:ConnectionsSpec) +
+| Field | +Description | +
|---|---|
+enabled+ +bool + + |
+
+(Optional)
+ 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. + |
+
+(Appears on:GatewaySpec) +
+EndpointAddress is a tuple that describes a single IP address or host name. This is a subset of +Kubernetes’s v1.EndpointAddress.
+| Field | +Description | +
|---|---|
+ip+ +string + + |
+
+(Optional)
+ The IP of this endpoint. + |
+
+hostname+ +string + + |
+
+(Optional)
+ The Hostname of this endpoint + |
+
+(Appears on:PoolSpec) +
+ErasureCodedSpec represents the spec for erasure code in a pool
+| Field | +Description | +
|---|---|
+codingChunks+ +uint + + |
+
+ 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. + |
+
+dataChunks+ +uint + + |
+
+ 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. + |
+
+algorithm+ +string + + |
+
+(Optional)
+ The algorithm for erasure coding + |
+
+(Appears on:ClusterSpec) +
+ExternalSpec represents the options supported by an external cluster
+| Field | +Description | +
|---|---|
+enable+ +bool + + |
+
+(Optional)
+ Enable determines whether external mode is enabled or not + |
+
+(Appears on:FilesystemSpec) +
+FSMirroringSpec represents the setting for a mirrored filesystem
+| Field | +Description | +
|---|---|
+enabled+ +bool + + |
+
+(Optional)
+ Enabled whether this filesystem is mirrored or not + |
+
+peers+ + +MirroringPeerSpec + + + |
+
+(Optional)
+ Peers represents the peers spec + |
+
+snapshotSchedules+ + +[]SnapshotScheduleSpec + + + |
+
+(Optional)
+ SnapshotSchedules is the scheduling of snapshot for mirrored filesystems + |
+
+snapshotRetention+ + +[]SnapshotScheduleRetentionSpec + + + |
+
+(Optional)
+ 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 + |
+
+(Appears on:FilesystemsSpec) +
+FilesystemMirrorInfoPeerSpec is the specification of a filesystem peer mirror
+| Field | +Description | +
|---|---|
+uuid+ +string + + |
+
+(Optional)
+ UUID is the peer unique identifier + |
+
+remote+ + +PeerRemoteSpec + + + |
+
+(Optional)
+ Remote are the remote cluster information + |
+
+stats+ + +PeerStatSpec + + + |
+
+(Optional)
+ Stats are the stat a peer mirror + |
+
+(Appears on:FilesystemMirroringInfoSpec) +
+FilesystemMirrorInfoSpec is the filesystem mirror status of a given filesystem
+| Field | +Description | +
|---|---|
+daemon_id+ +int + + |
+
+(Optional)
+ DaemonID is the cephfs-mirror name + |
+
+filesystems+ + +[]FilesystemsSpec + + + |
+
+(Optional)
+ Filesystems is the list of filesystems managed by a given cephfs-mirror daemon + |
+
+(Appears on:CephFilesystemStatus) +
+FilesystemMirroringInfo is the status of the pool mirroring
+| Field | +Description | +
|---|---|
+daemonsStatus+ + +[]FilesystemMirroringInfo + + + |
+
+(Optional)
+ PoolMirroringStatus is the mirroring status of a filesystem + |
+
+lastChecked+ +string + + |
+
+(Optional)
+ LastChecked is the last time time the status was checked + |
+
+lastChanged+ +string + + |
+
+(Optional)
+ LastChanged is the last time time the status last changed + |
+
+details+ +string + + |
+
+(Optional)
+ Details contains potential status errors + |
+
+(Appears on:CephFilesystemMirror) +
+FilesystemMirroringSpec is the filesystem mirroring specification
+| Field | +Description | +
|---|---|
+placement+ + +Placement + + + |
+
+(Optional)
+ The affinity to place the rgw pods (default is to place on any available node) + |
+
+annotations+ + +Annotations + + + |
+
+(Optional)
+ The annotations-related configuration to add/set on each Pod related object. + |
+
+labels+ + +Labels + + + |
+
+(Optional)
+ The labels-related configuration to add/set on each Pod related object. + |
+
+resources+ + +Kubernetes core/v1.ResourceRequirements + + + |
+
+(Optional)
+ The resource requirements for the cephfs-mirror pods + |
+
+priorityClassName+ +string + + |
+
+(Optional)
+ PriorityClassName sets priority class on the cephfs-mirror pods + |
+
+(Appears on:FilesystemSnapshotSchedulesSpec) +
+FilesystemSnapshotScheduleStatusRetention is the retention specification for a filesystem snapshot schedule
+| Field | +Description | +
|---|---|
+start+ +string + + |
+
+(Optional)
+ Start is when the snapshot schedule starts + |
+
+created+ +string + + |
+
+(Optional)
+ Created is when the snapshot schedule was created + |
+
+first+ +string + + |
+
+(Optional)
+ First is when the first snapshot schedule was taken + |
+
+last+ +string + + |
+
+(Optional)
+ Last is when the last snapshot schedule was taken + |
+
+last_pruned+ +string + + |
+
+(Optional)
+ LastPruned is when the last snapshot schedule was pruned + |
+
+created_count+ +int + + |
+
+(Optional)
+ CreatedCount is total amount of snapshots + |
+
+pruned_count+ +int + + |
+
+(Optional)
+ PrunedCount is total amount of pruned snapshots + |
+
+active+ +bool + + |
+
+(Optional)
+ Active is whether the scheduled is active or not + |
+
+(Appears on:CephFilesystemStatus) +
+FilesystemSnapshotScheduleStatusSpec is the status of the snapshot schedule
+| Field | +Description | +
|---|---|
+snapshotSchedules+ + +[]FilesystemSnapshotSchedulesSpec + + + |
+
+(Optional)
+ SnapshotSchedules is the list of snapshots scheduled + |
+
+lastChecked+ +string + + |
+
+(Optional)
+ LastChecked is the last time time the status was checked + |
+
+lastChanged+ +string + + |
+
+(Optional)
+ LastChanged is the last time time the status last changed + |
+
+details+ +string + + |
+
+(Optional)
+ Details contains potential status errors + |
+
+(Appears on:FilesystemSnapshotScheduleStatusSpec) +
+FilesystemSnapshotSchedulesSpec is the list of snapshot scheduled for images in a pool
+| Field | +Description | +
|---|---|
+fs+ +string + + |
+
+(Optional)
+ Fs is the name of the Ceph Filesystem + |
+
+subvol+ +string + + |
+
+(Optional)
+ Subvol is the name of the sub volume + |
+
+path+ +string + + |
+
+(Optional)
+ Path is the path on the filesystem + |
+
+rel_path+ +string + + |
++(Optional) + | +
+schedule+ +string + + |
++(Optional) + | +
+retention+ + +FilesystemSnapshotScheduleStatusRetention + + + |
++(Optional) + | +
+(Appears on:CephFilesystem) +
+FilesystemSpec represents the spec of a file system
+| Field | +Description | +
|---|---|
+metadataPool+ + +PoolSpec + + + |
+
+ The metadata pool settings + |
+
+dataPools+ + +[]NamedPoolSpec + + + |
+
+ The data pool settings, with optional predefined pool name. + |
+
+preservePoolsOnDelete+ +bool + + |
+
+(Optional)
+ Preserve pools on filesystem deletion + |
+
+preserveFilesystemOnDelete+ +bool + + |
+
+(Optional)
+ Preserve the fs in the cluster on CephFilesystem CR deletion. Setting this to true automatically implies PreservePoolsOnDelete is true. + |
+
+metadataServer+ + +MetadataServerSpec + + + |
+
+ The mds pod info + |
+
+mirroring+ + +FSMirroringSpec + + + |
+
+(Optional)
+ The mirroring settings + |
+
+statusCheck+ + +MirrorHealthCheckSpec + + + |
+
+ The mirroring statusCheck + |
+
+(Appears on:FilesystemMirroringInfo) +
+FilesystemsSpec is spec for the mirrored filesystem
+| Field | +Description | +
|---|---|
+filesystem_id+ +int + + |
+
+(Optional)
+ FilesystemID is the filesystem identifier + |
+
+name+ +string + + |
+
+(Optional)
+ Name is name of the filesystem + |
+
+directory_count+ +int + + |
+
+(Optional)
+ DirectoryCount is the number of directories in the filesystem + |
+
+peers+ + +[]FilesystemMirrorInfoPeerSpec + + + |
+
+(Optional)
+ Peers represents the mirroring peers + |
+
+(Appears on:NFSGaneshaSpec) +
+GaneshaRADOSSpec represents the specification of a Ganesha RADOS object
+| Field | +Description | +
|---|---|
+pool+ +string + + |
+
+(Optional)
+ The Ceph pool used store the shared configuration for NFS-Ganesha daemons. +This setting is required for Ceph v15 and ignored for Ceph v16. +As of Ceph Pacific 16.2.7+, this is internally hardcoded to “.nfs”. + |
+
+namespace+ +string + + |
+
+(Optional)
+ The namespace inside the Ceph pool (set by ‘pool’) where shared NFS-Ganesha config is stored. +This setting is required for Ceph v15 and ignored for Ceph v16. +As of Ceph Pacific v16+, this is internally set to the name of the CephNFS. + |
+
+(Appears on:NFSGaneshaSpec) +
+GaneshaServerSpec represents the specification of a Ganesha Server
+| Field | +Description | +
|---|---|
+active+ +int + + |
+
+ The number of active Ganesha servers + |
+
+placement+ + +Placement + + + |
+
+(Optional)
+ The affinity to place the ganesha pods + |
+
+annotations+ + +Annotations + + + |
+
+(Optional)
+ The annotations-related configuration to add/set on each Pod related object. + |
+
+labels+ + +Labels + + + |
+
+(Optional)
+ The labels-related configuration to add/set on each Pod related object. + |
+
+resources+ + +Kubernetes core/v1.ResourceRequirements + + + |
+
+(Optional)
+ Resources set resource requests and limits + |
+
+priorityClassName+ +string + + |
+
+(Optional)
+ PriorityClassName sets the priority class on the pods + |
+
+logLevel+ +string + + |
+
+(Optional)
+ LogLevel set logging level + |
+
+hostNetwork+ +bool + + |
+
+(Optional)
+ Whether host networking is enabled for the Ganesha server. If not set, the network settings from the cluster CR will be applied. + |
+
+(Appears on:ObjectStoreSpec) +
+GatewaySpec represents the specification of Ceph Object Store Gateway
+| Field | +Description | +
|---|---|
+port+ +int32 + + |
+
+(Optional)
+ The port the rgw service will be listening on (http) + |
+
+securePort+ +int32 + + |
+
+(Optional)
+ The port the rgw service will be listening on (https) + |
+
+instances+ +int32 + + |
+
+(Optional)
+ The number of pods in the rgw replicaset. + |
+
+sslCertificateRef+ +string + + |
+
+(Optional)
+ The name of the secret that stores the ssl certificate for secure rgw connections + |
+
+caBundleRef+ +string + + |
+
+(Optional)
+ The name of the secret that stores custom ca-bundle with root and intermediate certificates. + |
+
+placement+ + +Placement + + + |
+
+(Optional)
+ The affinity to place the rgw pods (default is to place on any available node) + |
+
+annotations+ + +Annotations + + + |
+
+(Optional)
+ The annotations-related configuration to add/set on each Pod related object. + |
+
+labels+ + +Labels + + + |
+
+(Optional)
+ The labels-related configuration to add/set on each Pod related object. + |
+
+resources+ + +Kubernetes core/v1.ResourceRequirements + + + |
+
+(Optional)
+ The resource requirements for the rgw pods + |
+
+priorityClassName+ +string + + |
+
+(Optional)
+ PriorityClassName sets priority classes on the rgw pods + |
+
+externalRgwEndpoints+ + +[]EndpointAddress + + + |
+
+(Optional)
+ 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. + |
+
+service+ + +RGWServiceSpec + + + |
+
+(Optional)
+ The configuration related to add/set on each rgw service. + |
+
+hostNetwork+ +bool + + |
+
+(Optional)
+ Whether host networking is enabled for the rgw daemon. If not set, the network settings from the cluster CR will be applied. + |
+
+dashboardEnabled+ +bool + + |
+
+(Optional)
+ Whether rgw dashboard is enabled for the rgw daemon. If not set, the rgw dashboard will be enabled. + |
+
+(Appears on:TopicEndpointSpec) +
+HTTPEndpointSpec represent the spec of an HTTP endpoint of a Bucket Topic
+| Field | +Description | +
|---|---|
+uri+ +string + + |
+
+ The URI of the HTTP endpoint to push notification to + |
+
+disableVerifySSL+ +bool + + |
+
+(Optional)
+ Indicate whether the server certificate is validated by the client or not + |
+
+sendCloudEvents+ +bool + + |
+
+(Optional)
+ Send the notifications with the CloudEvents header: https://github.com/cloudevents/spec/blob/main/cloudevents/adapters/aws-s3.md +Supported for Ceph Quincy (v17) or newer. + |
+
+(Appears on:DaemonHealthSpec, MirrorHealthCheckSpec) +
+HealthCheckSpec represents the health check of an object store bucket
+| Field | +Description | +
|---|---|
+disabled+ +bool + + |
++(Optional) + | +
+interval+ + +Kubernetes meta/v1.Duration + + + |
+
+(Optional)
+ Interval is the internal in second or minute for the health check to run like 60s for 60 seconds + |
+
+timeout+ +string + + |
++(Optional) + | +
+(Appears on:ReplicatedSpec) +
+HybridStorageSpec represents the settings for hybrid storage pool
+| Field | +Description | +
|---|---|
+primaryDeviceClass+ +string + + |
+
+ PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD + |
+
+secondaryDeviceClass+ +string + + |
+
+ SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs + |
+
string alias)+(Appears on:NetworkSpec) +
+IPFamilyType represents the single stack Ipv4 or Ipv6 protocol.
+| Value | +Description | +
|---|---|
"IPv4" |
+IPv4 internet protocol version + |
+
"IPv6" |
+IPv6 internet protocol version + |
+
+(Appears on:TopicEndpointSpec) +
+KafkaEndpointSpec represent the spec of a Kafka endpoint of a Bucket Topic
+| Field | +Description | +
|---|---|
+uri+ +string + + |
+
+ The URI of the Kafka endpoint to push notification to + |
+
+useSSL+ +bool + + |
+
+(Optional)
+ Indicate whether to use SSL when communicating with the broker + |
+
+disableVerifySSL+ +bool + + |
+
+(Optional)
+ Indicate whether the server certificate is validated by the client or not + |
+
+ackLevel+ +string + + |
+
+(Optional)
+ The ack level required for this topic (none/broker) + |
+
+(Appears on:KerberosSpec) +
+KerberosConfigFiles represents the source(s) from which Kerberos configuration should come.
+| Field | +Description | +
|---|---|
+volumeSource+ + +Kubernetes core/v1.VolumeSource + + + |
+
+ VolumeSource accepts a 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. + |
+
+(Appears on:KerberosSpec) +
+KerberosKeytabFile represents the source(s) from which the Kerberos keytab file should come.
+| Field | +Description | +
|---|---|
+volumeSource+ + +Kubernetes core/v1.VolumeSource + + + |
+
+ VolumeSource accepts a 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 |
+
+(Appears on:NFSSecuritySpec) +
+KerberosSpec represents configuration for Kerberos.
+| Field | +Description | +
|---|---|
+principalName+ +string + + |
+
+(Optional)
+ 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: |
+
+configFiles+ + +KerberosConfigFiles + + + |
+
+(Optional)
+ ConfigFiles defines where the Kerberos configuration should be sourced from. Config files
+will be placed into the 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. + |
+
+keytabFile+ + +KerberosKeytabFile + + + |
+
+(Optional)
+ KeytabFile defines where the Kerberos keytab should be sourced from. The keytab file will be
+placed into |
+
+(Appears on:ObjectStoreSecuritySpec, SecuritySpec) +
+KeyManagementServiceSpec represent various details of the KMS server
+| Field | +Description | +
|---|---|
+connectionDetails+ +map[string]string + + |
+
+(Optional)
+ ConnectionDetails contains the KMS connection details (address, port etc) + |
+
+tokenSecretName+ +string + + |
+
+(Optional)
+ TokenSecretName is the kubernetes secret containing the KMS token + |
+
+(Appears on:SecuritySpec) +
+KeyRotationSpec represents the settings for Key Rotation.
+| Field | +Description | +
|---|---|
+enabled+ +bool + + |
+
+(Optional)
+ Enabled represents whether the key rotation is enabled. + |
+
+schedule+ +string + + |
+
+(Optional)
+ Schedule represents the cron schedule for key rotation. + |
+
string alias)KeyType type safety
+| Value | +Description | +
|---|---|
"exporter" |
++ |
"cleanup" |
++ |
"clusterMetadata" |
++ |
"crashcollector" |
++ |
"mds" |
++ |
"mgr" |
++ |
"mon" |
++ |
"arbiter" |
++ |
"monitoring" |
++ |
"osd" |
++ |
"prepareosd" |
++ |
"rgw" |
++ |
"keyrotation" |
++ |
map[string]string alias)+(Appears on:FilesystemMirroringSpec, GaneshaServerSpec, GatewaySpec, MetadataServerSpec, RBDMirroringSpec) +
+Labels are label for a given daemons
+map[github.com/rook/rook/pkg/apis/ceph.rook.io/v1.KeyType]github.com/rook/rook/pkg/apis/ceph.rook.io/v1.Labels alias)+(Appears on:ClusterSpec) +
+LabelsSpec is the main spec label for all daemons
++(Appears on:ClusterSpec) +
+LogCollectorSpec is the logging spec
+| Field | +Description | +
|---|---|
+enabled+ +bool + + |
+
+(Optional)
+ Enabled represents whether the log collector is enabled + |
+
+periodicity+ +string + + |
+
+(Optional)
+ Periodicity is the periodicity of the log rotation. + |
+
+maxLogSize+ +k8s.io/apimachinery/pkg/api/resource.Quantity + + |
+
+(Optional)
+ MaxLogSize is the maximum size of the log per ceph daemons. Must be at least 1M. + |
+
+(Appears on:FilesystemSpec) +
+MetadataServerSpec represents the specification of a Ceph Metadata Server
+| Field | +Description | +
|---|---|
+activeCount+ +int32 + + |
+
+ The number of metadata servers that are active. The remaining servers in the cluster will be in standby mode. + |
+
+activeStandby+ +bool + + |
+
+(Optional)
+ 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. + |
+
+placement+ + +Placement + + + |
+
+(Optional)
+ The affinity to place the mds pods (default is to place on all available node) with a daemonset + |
+
+annotations+ + +Annotations + + + |
+
+(Optional)
+ The annotations-related configuration to add/set on each Pod related object. + |
+
+labels+ + +Labels + + + |
+
+(Optional)
+ The labels-related configuration to add/set on each Pod related object. + |
+
+resources+ + +Kubernetes core/v1.ResourceRequirements + + + |
+
+(Optional)
+ The resource requirements for the rgw pods + |
+
+priorityClassName+ +string + + |
+
+(Optional)
+ PriorityClassName sets priority classes on components + |
+
+livenessProbe+ + +ProbeSpec + + + |
++(Optional) + | +
+startupProbe+ + +ProbeSpec + + + |
++(Optional) + | +
+(Appears on:ClusterSpec) +
+MgrSpec represents options to configure a ceph mgr
+| Field | +Description | +
|---|---|
+count+ +int + + |
+
+(Optional)
+ Count is the number of manager to run + |
+
+allowMultiplePerNode+ +bool + + |
+
+(Optional)
+ AllowMultiplePerNode allows to run multiple managers on the same node (not recommended) + |
+
+modules+ + +[]Module + + + |
+
+(Optional)
+ Modules is the list of ceph manager modules to enable/disable + |
+
+(Appears on:FilesystemSpec, PoolSpec) +
+MirrorHealthCheckSpec represents the health specification of a Ceph Storage Pool mirror
+| Field | +Description | +
|---|---|
+mirror+ + +HealthCheckSpec + + + |
++(Optional) + | +
+(Appears on:CephBlockPoolStatus) +
+MirroringInfoSpec is the status of the pool mirroring
+| Field | +Description | +
|---|---|
+PoolMirroringInfo+ + +PoolMirroringInfo + + + |
+
+
+(Members of |
+
+lastChecked+ +string + + |
++(Optional) + | +
+lastChanged+ +string + + |
++(Optional) + | +
+details+ +string + + |
++(Optional) + | +
+(Appears on:FSMirroringSpec, MirroringSpec, RBDMirroringSpec) +
+MirroringPeerSpec represents the specification of a mirror peer
+| Field | +Description | +
|---|---|
+secretNames+ +[]string + + |
+
+(Optional)
+ SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers + |
+
+(Appears on:PoolSpec) +
+MirroringSpec represents the setting for a mirrored pool
+| Field | +Description | +
|---|---|
+enabled+ +bool + + |
+
+(Optional)
+ Enabled whether this pool is mirrored or not + |
+
+mode+ +string + + |
+
+(Optional)
+ Mode is the mirroring mode: either pool or image + |
+
+snapshotSchedules+ + +[]SnapshotScheduleSpec + + + |
+
+(Optional)
+ SnapshotSchedules is the scheduling of snapshot for mirrored images/pools + |
+
+peers+ + +MirroringPeerSpec + + + |
+
+(Optional)
+ Peers represents the peers spec + |
+
+(Appears on:CephBlockPoolStatus) +
+MirroringStatusSpec is the status of the pool mirroring
+| Field | +Description | +
|---|---|
+PoolMirroringStatus+ + +PoolMirroringStatus + + + |
+
+
+(Members of PoolMirroringStatus is the mirroring status of a pool + |
+
+lastChecked+ +string + + |
+
+(Optional)
+ LastChecked is the last time time the status was checked + |
+
+lastChanged+ +string + + |
+
+(Optional)
+ LastChanged is the last time time the status last changed + |
+
+details+ +string + + |
+
+(Optional)
+ Details contains potential status errors + |
+
+(Appears on:MgrSpec) +
+Module represents mgr modules that the user wants to enable or disable
+| Field | +Description | +
|---|---|
+name+ +string + + |
+
+(Optional)
+ Name is the name of the ceph manager module + |
+
+enabled+ +bool + + |
+
+(Optional)
+ Enabled determines whether a module should be enabled or not + |
+
+(Appears on:ClusterSpec) +
+MonSpec represents the specification of the monitor
+| Field | +Description | +
|---|---|
+count+ +int + + |
+
+(Optional)
+ Count is the number of Ceph monitors + |
+
+allowMultiplePerNode+ +bool + + |
+
+(Optional)
+ AllowMultiplePerNode determines if we can run multiple monitors on the same node (not recommended) + |
+
+stretchCluster+ + +StretchClusterSpec + + + |
+
+(Optional)
+ StretchCluster is the stretch cluster specification + |
+
+volumeClaimTemplate+ + +Kubernetes core/v1.PersistentVolumeClaim + + + |
+
+(Optional)
+ VolumeClaimTemplate is the PVC definition + |
+
+(Appears on:ClusterSpec) +
+MonitoringSpec represents the settings for Prometheus based Ceph monitoring
+| Field | +Description | +
|---|---|
+enabled+ +bool + + |
+
+(Optional)
+ Enabled determines whether to create the prometheus rules for the ceph cluster. If true, the prometheus +types must exist or the creation will fail. + |
+
+externalMgrEndpoints+ + +[]Kubernetes core/v1.EndpointAddress + + + |
+
+(Optional)
+ ExternalMgrEndpoints points to an existing Ceph prometheus exporter endpoint + |
+
+externalMgrPrometheusPort+ +uint16 + + |
+
+(Optional)
+ ExternalMgrPrometheusPort Prometheus exporter port + |
+
+port+ +int + + |
+
+(Optional)
+ Port is the prometheus server port + |
+
+interval+ + +Kubernetes meta/v1.Duration + + + |
+
+(Optional)
+ Interval determines prometheus scrape interval + |
+
+(Appears on:NetworkSpec) +
+| Field | +Description | +
|---|---|
+enabled+ +bool + + |
+
+(Optional)
+ 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. + |
+
+clusterID+ +string + + |
+
+ ClusterID uniquely identifies a cluster. It is used as a prefix to nslookup exported
+services. For example: |
+
+(Appears on:CephNFS) +
+NFSGaneshaSpec represents the spec of an nfs ganesha server
+| Field | +Description | +
|---|---|
+rados+ + +GaneshaRADOSSpec + + + |
+
+(Optional)
+ RADOS is the Ganesha RADOS specification + |
+
+server+ + +GaneshaServerSpec + + + |
+
+ Server is the Ganesha Server specification + |
+
+security+ + +NFSSecuritySpec + + + |
+
+(Optional)
+ Security allows specifying security configurations for the NFS cluster + |
+
+(Appears on:NFSGaneshaSpec) +
+NFSSecuritySpec represents security configurations for an NFS server pod
+| Field | +Description | +
|---|---|
+sssd+ + +SSSDSpec + + + |
+
+(Optional)
+ 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. + |
+
+kerberos+ + +KerberosSpec + + + |
+
+(Optional)
+ Kerberos configures NFS-Ganesha to secure NFS client connections with Kerberos. + |
+
+(Appears on:CephBlockPool) +
+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.
+| Field | +Description | +
|---|---|
+name+ +string + + |
+
+(Optional)
+ The desired name of the pool if different from the CephBlockPool CR name. + |
+
+PoolSpec+ + +PoolSpec + + + |
+
+
+(Members of The core pool configuration + |
+
+(Appears on:FilesystemSpec) +
+NamedPoolSpec represents the named ceph pool spec
+| Field | +Description | +
|---|---|
+name+ +string + + |
+
+ Name of the pool + |
+
+PoolSpec+ + +PoolSpec + + + |
+
+
+(Members of PoolSpec represents the spec of ceph pool + |
+
+(Appears on:ClusterSpec) +
+NetworkSpec for Ceph includes backward compatibility code
+| Field | +Description | +
|---|---|
+provider+ +string + + |
+
+(Optional)
+ Provider is what provides network connectivity to the cluster e.g. “host” or “multus” + |
+
+selectors+ +map[string]string + + |
+
+(Optional)
+ Selectors string values describe what networks will be used to connect the cluster. +Meanwhile the keys describe each network respective responsibilities or any metadata +storage provider decide. + |
+
+connections+ + +ConnectionsSpec + + + |
+
+(Optional)
+ Settings for network connections such as compression and encryption across the +wire. + |
+
+hostNetwork+ +bool + + |
+
+(Optional)
+ HostNetwork to enable host network + |
+
+ipFamily+ + +IPFamilyType + + + |
+
+(Optional)
+ IPFamily is the single stack IPv6 or IPv4 protocol + |
+
+dualStack+ +bool + + |
+
+(Optional)
+ DualStack determines whether Ceph daemons should listen on both IPv4 and IPv6 + |
+
+multiClusterService+ + +MultiClusterServiceSpec + + + |
+
+(Optional)
+ Enable multiClusterService to export the Services between peer clusters + |
+
+(Appears on:StorageScopeSpec) +
+Node is a storage nodes
+| Field | +Description | +
|---|---|
+name+ +string + + |
++(Optional) + | +
+resources+ + +Kubernetes core/v1.ResourceRequirements + + + |
++(Optional) + | +
+config+ +map[string]string + + |
++(Optional) + | +
+Selection+ + +Selection + + + |
+
+
+(Members of |
+
[]github.com/rook/rook/pkg/apis/ceph.rook.io/v1.Node alias)NodesByName implements an interface to sort nodes by name
++(Appears on:NotificationFilterSpec) +
+NotificationFilterRule represent a single rule in the Notification Filter spec
+| Field | +Description | +
|---|---|
+name+ +string + + |
+
+ Name of the metadata or tag + |
+
+value+ +string + + |
+
+ Value to filter on + |
+
+(Appears on:BucketNotificationSpec) +
+NotificationFilterSpec represent the spec of a Bucket Notification filter
+| Field | +Description | +
|---|---|
+keyFilters+ + +[]NotificationKeyFilterRule + + + |
+
+(Optional)
+ Filters based on the object’s key + |
+
+metadataFilters+ + +[]NotificationFilterRule + + + |
+
+(Optional)
+ Filters based on the object’s metadata + |
+
+tagFilters+ + +[]NotificationFilterRule + + + |
+
+(Optional)
+ Filters based on the object’s tags + |
+
+(Appears on:NotificationFilterSpec) +
+NotificationKeyFilterRule represent a single key rule in the Notification Filter spec
+| Field | +Description | +
|---|---|
+name+ +string + + |
+
+ Name of the filter - prefix/suffix/regex + |
+
+value+ +string + + |
+
+ Value to filter on + |
+
+(Appears on:ObjectStoreStatus) +
+| Field | +Description | +
|---|---|
+insecure+ +[]string + + |
++(Optional) + | +
+secure+ +[]string + + |
++(Optional) + | +
+(Appears on:ObjectStoreSpec) +
+ObjectHealthCheckSpec represents the health check of an object store
+| Field | +Description | +
|---|---|
+readinessProbe+ + +ProbeSpec + + + |
++(Optional) + | +
+startupProbe+ + +ProbeSpec + + + |
++(Optional) + | +
+(Appears on:CephObjectRealm) +
+ObjectRealmSpec represent the spec of an ObjectRealm
+| Field | +Description | +
|---|---|
+pull+ + +PullSpec + + + |
++ | +
+(Appears on:ObjectStoreSpec) +
+ObjectStoreSecuritySpec is spec to define security features like encryption
+| Field | +Description | +
|---|---|
+SecuritySpec+ + +SecuritySpec + + + |
++(Optional) + | +
+s3+ + +KeyManagementServiceSpec + + + |
+
+(Optional)
+ The settings for supporting AWS-SSE:S3 with RGW + |
+
+(Appears on:CephObjectStore) +
+ObjectStoreSpec represent the spec of a pool
+| Field | +Description | +
|---|---|
+metadataPool+ + +PoolSpec + + + |
+
+(Optional)
+ The metadata pool settings + |
+
+dataPool+ + +PoolSpec + + + |
+
+(Optional)
+ The data pool settings + |
+
+preservePoolsOnDelete+ +bool + + |
+
+(Optional)
+ Preserve pools on object store deletion + |
+
+gateway+ + +GatewaySpec + + + |
+
+(Optional)
+ The rgw pod info + |
+
+zone+ + +ZoneSpec + + + |
+
+(Optional)
+ The multisite info + |
+
+healthCheck+ + +ObjectHealthCheckSpec + + + |
+
+(Optional)
+ The RGW health probes + |
+
+security+ + +ObjectStoreSecuritySpec + + + |
+
+(Optional)
+ Security represents security settings + |
+
+(Appears on:CephObjectStore) +
+ObjectStoreStatus represents the status of a Ceph Object Store resource
+| Field | +Description | +
|---|---|
+phase+ + +ConditionType + + + |
++(Optional) + | +
+message+ +string + + |
++(Optional) + | +
+endpoints+ + +ObjectEndpoints + + + |
++(Optional) + | +
+info+ +map[string]string + + |
++(Optional) + | +
+conditions+ + +[]Condition + + + |
++ | +
+observedGeneration+ +int64 + + |
+
+(Optional)
+ ObservedGeneration is the latest generation observed by the controller. + |
+
+(Appears on:CephObjectStoreUser) +
+ObjectStoreUserSpec represent the spec of an Objectstoreuser
+| Field | +Description | +
|---|---|
+store+ +string + + |
+
+(Optional)
+ The store the user will be created in + |
+
+displayName+ +string + + |
+
+(Optional)
+ The display name for the ceph users + |
+
+capabilities+ + +ObjectUserCapSpec + + + |
++(Optional) + | +
+quotas+ + +ObjectUserQuotaSpec + + + |
++(Optional) + | +
+(Appears on:CephObjectStoreUser) +
+ObjectStoreUserStatus represents the status Ceph Object Store Gateway User
+| Field | +Description | +
|---|---|
+phase+ +string + + |
++(Optional) + | +
+info+ +map[string]string + + |
++(Optional) + | +
+observedGeneration+ +int64 + + |
+
+(Optional)
+ ObservedGeneration is the latest generation observed by the controller. + |
+
+(Appears on:ObjectStoreUserSpec) +
+Additional admin-level capabilities for the Ceph object store user
+| Field | +Description | +
|---|---|
+user+ +string + + |
+
+(Optional)
+ Admin capabilities to read/write Ceph object store users. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities + |
+
+bucket+ +string + + |
+
+(Optional)
+ Admin capabilities to read/write Ceph object store buckets. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities + |
+
+metadata+ +string + + |
+
+(Optional)
+ Admin capabilities to read/write Ceph object store metadata. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities + |
+
+usage+ +string + + |
+
+(Optional)
+ Admin capabilities to read/write Ceph object store usage. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities + |
+
+zone+ +string + + |
+
+(Optional)
+ Admin capabilities to read/write Ceph object store zones. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities + |
+
+(Appears on:ObjectStoreUserSpec) +
+ObjectUserQuotaSpec can be used to set quotas for the object store user to limit their usage. See the Ceph docs for more
+| Field | +Description | +
|---|---|
+maxBuckets+ +int + + |
+
+(Optional)
+ Maximum bucket limit for the ceph user + |
+
+maxSize+ +k8s.io/apimachinery/pkg/api/resource.Quantity + + |
+
+(Optional)
+ 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. + |
+
+maxObjects+ +int64 + + |
+
+(Optional)
+ Maximum number of objects across all the user’s buckets + |
+
+(Appears on:CephObjectZoneGroup) +
+ObjectZoneGroupSpec represent the spec of an ObjectZoneGroup
+| Field | +Description | +
|---|---|
+realm+ +string + + |
+
+ The display name for the ceph users + |
+
+(Appears on:CephObjectZone) +
+ObjectZoneSpec represent the spec of an ObjectZone
+| Field | +Description | +
|---|---|
+zoneGroup+ +string + + |
+
+ The display name for the ceph users + |
+
+metadataPool+ + +PoolSpec + + + |
+
+ The metadata pool settings + |
+
+dataPool+ + +PoolSpec + + + |
+
+ The data pool settings + |
+
+customEndpoints+ +[]string + + |
+
+(Optional)
+ 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. + |
+
+preservePoolsOnDelete+ +bool + + |
+
+(Optional)
+ Preserve pools on object zone deletion + |
+
+(Appears on:FilesystemMirrorInfoPeerSpec) +
+| Field | +Description | +
|---|---|
+client_name+ +string + + |
+
+(Optional)
+ ClientName is cephx name + |
+
+cluster_name+ +string + + |
+
+(Optional)
+ ClusterName is the name of the cluster + |
+
+fs_name+ +string + + |
+
+(Optional)
+ FsName is the filesystem name + |
+
+(Appears on:FilesystemMirrorInfoPeerSpec) +
+PeerStatSpec are the mirror stat with a given peer
+| Field | +Description | +
|---|---|
+failure_count+ +int + + |
+
+(Optional)
+ FailureCount is the number of mirroring failure + |
+
+recovery_count+ +int + + |
+
+(Optional)
+ RecoveryCount is the number of recovery attempted after failures + |
+
+(Appears on:PoolMirroringInfo) +
+PeersSpec contains peer details
+| Field | +Description | +
|---|---|
+uuid+ +string + + |
+
+(Optional)
+ UUID is the peer UUID + |
+
+direction+ +string + + |
+
+(Optional)
+ Direction is the peer mirroring direction + |
+
+site_name+ +string + + |
+
+(Optional)
+ SiteName is the current site name + |
+
+mirror_uuid+ +string + + |
+
+(Optional)
+ MirrorUUID is the mirror UUID + |
+
+client_name+ +string + + |
+
+(Optional)
+ ClientName is the CephX user used to connect to the peer + |
+
+(Appears on:FilesystemMirroringSpec, GaneshaServerSpec, GatewaySpec, MetadataServerSpec, RBDMirroringSpec, StorageClassDeviceSet) +
+Placement is the placement for an object
+| Field | +Description | +
|---|---|
+nodeAffinity+ + +Kubernetes core/v1.NodeAffinity + + + |
+
+(Optional)
+ NodeAffinity is a group of node affinity scheduling rules + |
+
+podAffinity+ + +Kubernetes core/v1.PodAffinity + + + |
+
+(Optional)
+ PodAffinity is a group of inter pod affinity scheduling rules + |
+
+podAntiAffinity+ + +Kubernetes core/v1.PodAntiAffinity + + + |
+
+(Optional)
+ PodAntiAffinity is a group of inter pod anti affinity scheduling rules + |
+
+tolerations+ + +[]Kubernetes core/v1.Toleration + + + |
+
+(Optional)
+ The pod this Toleration is attached to tolerates any taint that matches
+the triple |
+
+topologySpreadConstraints+ + +[]Kubernetes core/v1.TopologySpreadConstraint + + + |
+
+(Optional)
+ TopologySpreadConstraint specifies how to spread matching pods among the given topology + |
+
map[github.com/rook/rook/pkg/apis/ceph.rook.io/v1.KeyType]github.com/rook/rook/pkg/apis/ceph.rook.io/v1.Placement alias)+(Appears on:ClusterSpec) +
+PlacementSpec is the placement for core ceph daemons part of the CephCluster CRD
++(Appears on:MirroringInfoSpec) +
+PoolMirroringInfo is the mirroring info of a given pool
+| Field | +Description | +
|---|---|
+mode+ +string + + |
+
+(Optional)
+ Mode is the mirroring mode + |
+
+site_name+ +string + + |
+
+(Optional)
+ SiteName is the current site name + |
+
+peers+ + +[]PeersSpec + + + |
+
+(Optional)
+ Peers are the list of peer sites connected to that cluster + |
+
+(Appears on:MirroringStatusSpec) +
+PoolMirroringStatus is the pool mirror status
+| Field | +Description | +
|---|---|
+summary+ + +PoolMirroringStatusSummarySpec + + + |
+
+(Optional)
+ Summary is the mirroring status summary + |
+
+(Appears on:PoolMirroringStatus) +
+PoolMirroringStatusSummarySpec is the summary output of the command
+| Field | +Description | +
|---|---|
+health+ +string + + |
+
+(Optional)
+ Health is the mirroring health + |
+
+daemon_health+ +string + + |
+
+(Optional)
+ DaemonHealth is the health of the mirroring daemon + |
+
+image_health+ +string + + |
+
+(Optional)
+ ImageHealth is the health of the mirrored image + |
+
+states+ + +StatesSpec + + + |
+
+(Optional)
+ States is the various state for all mirrored images + |
+
+(Appears on:FilesystemSpec, NamedBlockPoolSpec, NamedPoolSpec, ObjectStoreSpec, ObjectZoneSpec) +
+PoolSpec represents the spec of ceph pool
+| Field | +Description | +
|---|---|
+failureDomain+ +string + + |
+
+(Optional)
+ The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map + |
+
+crushRoot+ +string + + |
+
+(Optional)
+ The root of the crush hierarchy utilized by the pool + |
+
+deviceClass+ +string + + |
+
+(Optional)
+ The device class the OSD should set to for use in the pool + |
+
+compressionMode+ +string + + |
+
+(Optional)
+ 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) +Do NOT set a default value for kubebuilder as this will override the Parameters + |
+
+replicated+ + +ReplicatedSpec + + + |
+
+(Optional)
+ The replication settings + |
+
+erasureCoded+ + +ErasureCodedSpec + + + |
+
+(Optional)
+ The erasure code settings + |
+
+parameters+ +map[string]string + + |
+
+(Optional)
+ Parameters is a list of properties to enable on a given pool + |
+
+enableRBDStats+ +bool + + |
+
+ EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool + |
+
+mirroring+ + +MirroringSpec + + + |
+
+ The mirroring settings + |
+
+statusCheck+ + +MirrorHealthCheckSpec + + + |
+
+ The mirroring statusCheck + |
+
+quotas+ + +QuotaSpec + + + |
+
+(Optional)
+ The quota settings + |
+
map[github.com/rook/rook/pkg/apis/ceph.rook.io/v1.KeyType]string alias)+(Appears on:ClusterSpec) +
+PriorityClassNamesSpec is a map of priority class names to be assigned to components
++(Appears on:MetadataServerSpec, ObjectHealthCheckSpec) +
+ProbeSpec is a wrapper around Probe so it can be enabled or disabled for a Ceph daemon
+| Field | +Description | +
|---|---|
+disabled+ +bool + + |
+
+(Optional)
+ Disabled determines whether probe is disable or not + |
+
+probe+ + +Kubernetes core/v1.Probe + + + |
+
+(Optional)
+ Probe describes a health check to be performed against a container to determine whether it is +alive or ready to receive traffic. + |
+
+(Appears on:ObjectRealmSpec) +
+PullSpec represents the pulling specification of a Ceph Object Storage Gateway Realm
+| Field | +Description | +
|---|---|
+endpoint+ +string + + |
++ | +
+(Appears on:PoolSpec) +
+QuotaSpec represents the spec for quotas in a pool
+| Field | +Description | +
|---|---|
+maxBytes+ +uint64 + + |
+
+(Optional)
+ MaxBytes represents the quota in bytes +Deprecated in favor of MaxSize + |
+
+maxSize+ +string + + |
+
+(Optional)
+ MaxSize represents the quota in bytes as a string + |
+
+maxObjects+ +uint64 + + |
+
+(Optional)
+ MaxObjects represents the quota in objects + |
+
+(Appears on:CephRBDMirror) +
+RBDMirroringSpec represents the specification of an RBD mirror daemon
+| Field | +Description | +
|---|---|
+count+ +int + + |
+
+ Count represents the number of rbd mirror instance to run + |
+
+peers+ + +MirroringPeerSpec + + + |
+
+(Optional)
+ Peers represents the peers spec + |
+
+placement+ + +Placement + + + |
+
+(Optional)
+ The affinity to place the rgw pods (default is to place on any available node) + |
+
+annotations+ + +Annotations + + + |
+
+(Optional)
+ The annotations-related configuration to add/set on each Pod related object. + |
+
+labels+ + +Labels + + + |
+
+(Optional)
+ The labels-related configuration to add/set on each Pod related object. + |
+
+resources+ + +Kubernetes core/v1.ResourceRequirements + + + |
+
+(Optional)
+ The resource requirements for the rbd mirror pods + |
+
+priorityClassName+ +string + + |
+
+(Optional)
+ PriorityClassName sets priority class on the rbd mirror pods + |
+
+(Appears on:GatewaySpec) +
+RGWServiceSpec represent the spec for RGW service
+| Field | +Description | +
|---|---|
+annotations+ + +Annotations + + + |
+
+ The annotations-related configuration to add/set on each rgw service. +nullable +optional + |
+
+(Appears on:PoolSpec) +
+ReplicatedSpec represents the spec for replication in a pool
+| Field | +Description | +
|---|---|
+size+ +uint + + |
+
+ Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type) + |
+
+targetSizeRatio+ +float64 + + |
+
+(Optional)
+ TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity + |
+
+requireSafeReplicaSize+ +bool + + |
+
+(Optional)
+ RequireSafeReplicaSize if false allows you to set replica 1 + |
+
+replicasPerFailureDomain+ +uint + + |
+
+(Optional)
+ ReplicasPerFailureDomain the number of replica in the specified failure domain + |
+
+subFailureDomain+ +string + + |
+
+(Optional)
+ SubFailureDomain the name of the sub-failure domain + |
+
+hybridStorage+ + +HybridStorageSpec + + + |
+
+(Optional)
+ HybridStorage represents hybrid storage tier settings + |
+
map[string]k8s.io/api/core/v1.ResourceRequirements alias)+(Appears on:ClusterSpec) +
+ResourceSpec is a collection of ResourceRequirements that describes the compute resource requirements
++(Appears on:SSSDSpec) +
+SSSDSidecar represents configuration when SSSD is run in a sidecar.
+| Field | +Description | +
|---|---|
+image+ +string + + |
+
+ Image defines the container image that should be used for the SSSD sidecar. + |
+
+sssdConfigFile+ + +SSSDSidecarConfigFile + + + |
+
+(Optional)
+ SSSDConfigFile defines where the SSSD configuration should be sourced from. The config file
+will be placed into |
+
+additionalFiles+ + +[]SSSDSidecarAdditionalFile + + + |
+
+(Optional)
+ AdditionalFiles defines any number of additional files that should be mounted into the SSSD +sidecar. These files may be referenced by the sssd.conf config file. + |
+
+resources+ + +Kubernetes core/v1.ResourceRequirements + + + |
+
+(Optional)
+ Resources allow specifying resource requests/limits on the SSSD sidecar container. + |
+
+debugLevel+ +int + + |
+
+(Optional)
+ 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 + |
+
+(Appears on:SSSDSidecar) +
+SSSDSidecarAdditionalFile represents the source from where additional files for the the SSSD +configuration should come from and are made available.
+| Field | +Description | +
|---|---|
+subPath+ +string + + |
+
+ SubPath defines the sub-path in |
+
+volumeSource+ + +Kubernetes core/v1.VolumeSource + + + |
+
+ VolumeSource accepts 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 SSSD sidecar container in the
+ |
+
+(Appears on:SSSDSidecar) +
+SSSDSidecarConfigFile represents the source(s) from which the SSSD configuration should come.
+| Field | +Description | +
|---|---|
+volumeSource+ + +Kubernetes core/v1.VolumeSource + + + |
+
+ VolumeSource accepts a 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 |
+
+(Appears on:NFSSecuritySpec) +
+SSSDSpec represents configuration for System Security Services Daemon (SSSD).
+| Field | +Description | +
|---|---|
+sidecar+ + +SSSDSidecar + + + |
+
+(Optional)
+ Sidecar tells Rook to run SSSD in a sidecar alongside the NFS-Ganesha server in each NFS pod. + |
+
string alias)+(Appears on:SanitizeDisksSpec) +
+SanitizeDataSourceProperty represents a sanitizing data source
+| Value | +Description | +
|---|---|
"random" |
+SanitizeDataSourceRandom uses `shred’s default entropy source + |
+
"zero" |
+SanitizeDataSourceZero uses /dev/zero as sanitize source + |
+
+(Appears on:CleanupPolicySpec) +
+SanitizeDisksSpec represents a disk sanitizing specification
+| Field | +Description | +
|---|---|
+method+ + +SanitizeMethodProperty + + + |
+
+(Optional)
+ Method is the method we use to sanitize disks + |
+
+dataSource+ + +SanitizeDataSourceProperty + + + |
+
+(Optional)
+ DataSource is the data source to use to sanitize the disk with + |
+
+iteration+ +int32 + + |
+
+(Optional)
+ Iteration is the number of pass to apply the sanitizing + |
+
string alias)+(Appears on:SanitizeDisksSpec) +
+SanitizeMethodProperty represents a disk sanitizing method
+| Value | +Description | +
|---|---|
"complete" |
+SanitizeMethodComplete will sanitize everything on the disk + |
+
"quick" |
+SanitizeMethodQuick will sanitize metadata only on the disk + |
+
+(Appears on:ClusterSpec, ObjectStoreSecuritySpec) +
+SecuritySpec is security spec to include various security items such as kms
+| Field | +Description | +
|---|---|
+kms+ + +KeyManagementServiceSpec + + + |
+
+(Optional)
+ KeyManagementService is the main Key Management option + |
+
+keyRotation+ + +KeyRotationSpec + + + |
+
+(Optional)
+ KeyRotation defines options for Key Rotation. + |
+
+(Appears on:Node, StorageScopeSpec) +
+| Field | +Description | +
|---|---|
+useAllDevices+ +bool + + |
+
+(Optional)
+ Whether to consume all the storage devices found on a machine + |
+
+deviceFilter+ +string + + |
+
+(Optional)
+ A regular expression to allow more fine-grained selection of devices on nodes across the cluster + |
+
+devicePathFilter+ +string + + |
+
+(Optional)
+ A regular expression to allow more fine-grained selection of devices with path names + |
+
+devices+ + +[]Device + + + |
+
+(Optional)
+ List of devices to use as storage devices + |
+
+volumeClaimTemplates+ + +[]Kubernetes core/v1.PersistentVolumeClaim + + + |
+
+(Optional)
+ PersistentVolumeClaims to use as storage + |
+
+(Appears on:SnapshotSchedulesSpec) +
+SnapshotSchedule is a schedule
+| Field | +Description | +
|---|---|
+interval+ +string + + |
+
+(Optional)
+ Interval is the interval in which snapshots will be taken + |
+
+start_time+ +string + + |
+
+(Optional)
+ StartTime is the snapshot starting time + |
+
+(Appears on:FSMirroringSpec) +
+SnapshotScheduleRetentionSpec is a retention policy
+| Field | +Description | +
|---|---|
+path+ +string + + |
+
+(Optional)
+ Path is the path to snapshot + |
+
+duration+ +string + + |
+
+(Optional)
+ Duration represents the retention duration for a snapshot + |
+
+(Appears on:FSMirroringSpec, MirroringSpec) +
+SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
+| Field | +Description | +
|---|---|
+path+ +string + + |
+
+(Optional)
+ Path is the path to snapshot, only valid for CephFS + |
+
+interval+ +string + + |
+
+(Optional)
+ Interval represent the periodicity of the snapshot. + |
+
+startTime+ +string + + |
+
+(Optional)
+ StartTime indicates when to start the snapshot + |
+
+(Appears on:CephBlockPoolStatus) +
+SnapshotScheduleStatusSpec is the status of the snapshot schedule
+| Field | +Description | +
|---|---|
+snapshotSchedules+ + +[]SnapshotSchedulesSpec + + + |
+
+(Optional)
+ SnapshotSchedules is the list of snapshots scheduled + |
+
+lastChecked+ +string + + |
+
+(Optional)
+ LastChecked is the last time time the status was checked + |
+
+lastChanged+ +string + + |
+
+(Optional)
+ LastChanged is the last time time the status last changed + |
+
+details+ +string + + |
+
+(Optional)
+ Details contains potential status errors + |
+
+(Appears on:SnapshotScheduleStatusSpec) +
+SnapshotSchedulesSpec is the list of snapshot scheduled for images in a pool
+| Field | +Description | +
|---|---|
+pool+ +string + + |
+
+(Optional)
+ Pool is the pool name + |
+
+namespace+ +string + + |
+
+(Optional)
+ Namespace is the RADOS namespace the image is part of + |
+
+image+ +string + + |
+
+(Optional)
+ Image is the mirrored image + |
+
+items+ + +[]SnapshotSchedule + + + |
+
+(Optional)
+ Items is the list schedules times for a given snapshot + |
+
+(Appears on:PoolMirroringStatusSummarySpec) +
+StatesSpec are rbd images mirroring state
+| Field | +Description | +
|---|---|
+starting_replay+ +int + + |
+
+(Optional)
+ StartingReplay is when the replay of the mirroring journal starts + |
+
+replaying+ +int + + |
+
+(Optional)
+ Replaying is when the replay of the mirroring journal is on-going + |
+
+syncing+ +int + + |
+
+(Optional)
+ Syncing is when the image is syncing + |
+
+stopping_replay+ +int + + |
+
+(Optional)
+ StopReplaying is when the replay of the mirroring journal stops + |
+
+stopped+ +int + + |
+
+(Optional)
+ Stopped is when the mirroring state is stopped + |
+
+unknown+ +int + + |
+
+(Optional)
+ Unknown is when the mirroring state is unknown + |
+
+error+ +int + + |
+
+(Optional)
+ Error is when the mirroring state is errored + |
+
+(Appears on:CephBucketNotification, CephFilesystemMirror, CephNFS, CephObjectRealm, CephObjectZone, CephObjectZoneGroup, CephRBDMirror) +
+Status represents the status of an object
+| Field | +Description | +
|---|---|
+phase+ +string + + |
++(Optional) + | +
+observedGeneration+ +int64 + + |
+
+(Optional)
+ ObservedGeneration is the latest generation observed by the controller. + |
+
+conditions+ + +[]Condition + + + |
++ | +
A StatusConditionGetter allows getting a pointer to an object’s conditions.
++(Appears on:StorageScopeSpec) +
+StorageClassDeviceSet is a storage class device set
+| Field | +Description | +
|---|---|
+name+ +string + + |
+
+ Name is a unique identifier for the set + |
+
+count+ +int + + |
+
+ Count is the number of devices in this set + |
+
+resources+ + +Kubernetes core/v1.ResourceRequirements + + + |
++(Optional) + | +
+placement+ + +Placement + + + |
++(Optional) + | +
+preparePlacement+ + +Placement + + + |
++(Optional) + | +
+config+ +map[string]string + + |
+
+(Optional)
+ Provider-specific device configuration + |
+
+volumeClaimTemplates+ + +[]Kubernetes core/v1.PersistentVolumeClaim + + + |
+
+ VolumeClaimTemplates is a list of PVC templates for the underlying storage devices + |
+
+portable+ +bool + + |
+
+(Optional)
+ Portable represents OSD portability across the hosts + |
+
+tuneDeviceClass+ +bool + + |
+
+(Optional)
+ TuneSlowDeviceClass Tune the OSD when running on a slow Device Class + |
+
+tuneFastDeviceClass+ +bool + + |
+
+(Optional)
+ TuneFastDeviceClass Tune the OSD when running on a fast Device Class + |
+
+schedulerName+ +string + + |
+
+(Optional)
+ Scheduler name for OSD pod placement + |
+
+encrypted+ +bool + + |
+
+(Optional)
+ Whether to encrypt the deviceSet + |
+
+(Appears on:ClusterSpec) +
+| Field | +Description | +
|---|---|
+nodes+ + +[]Node + + + |
++(Optional) + | +
+useAllNodes+ +bool + + |
++(Optional) + | +
+onlyApplyOSDPlacement+ +bool + + |
++(Optional) + | +
+config+ +map[string]string + + |
++(Optional) + | +
+Selection+ + +Selection + + + |
+
+
+(Members of |
+
+storageClassDeviceSets+ + +[]StorageClassDeviceSet + + + |
++(Optional) + | +
+(Appears on:MonSpec) +
+StretchClusterSpec represents the specification of a stretched Ceph Cluster
+| Field | +Description | +
|---|---|
+failureDomainLabel+ +string + + |
+
+(Optional)
+ FailureDomainLabel the failure domain name (e,g: zone) + |
+
+subFailureDomain+ +string + + |
+
+(Optional)
+ SubFailureDomain is the failure domain within a zone + |
+
+zones+ + +[]StretchClusterZoneSpec + + + |
+
+(Optional)
+ Zones is the list of zones + |
+
+(Appears on:StretchClusterSpec) +
+StretchClusterZoneSpec represents the specification of a stretched zone in a Ceph Cluster
+| Field | +Description | +
|---|---|
+name+ +string + + |
+
+(Optional)
+ Name is the name of the zone + |
+
+arbiter+ +bool + + |
+
+(Optional)
+ Arbiter determines if the zone contains the arbiter + |
+
+volumeClaimTemplate+ + +Kubernetes core/v1.PersistentVolumeClaim + + + |
+
+(Optional)
+ VolumeClaimTemplate is the PVC template + |
+
+(Appears on:BucketTopicSpec) +
+TopicEndpointSpec contains exactly one of the endpoint specs of a Bucket Topic
+| Field | +Description | +
|---|---|
+http+ + +HTTPEndpointSpec + + + |
+
+(Optional)
+ Spec of HTTP endpoint + |
+
+amqp+ + +AMQPEndpointSpec + + + |
+
+(Optional)
+ Spec of AMQP endpoint + |
+
+kafka+ + +KafkaEndpointSpec + + + |
+
+(Optional)
+ Spec of Kafka endpoint + |
+
+(Appears on:ObjectStoreSpec) +
+ZoneSpec represents a Ceph Object Store Gateway Zone specification
+| Field | +Description | +
|---|---|
+name+ +string + + |
+
+ RGW Zone the Object Store is in + |
+
+Generated with gen-crd-api-reference-docs
+on git commit e3d8da9a9.
+
{{ fieldName . }}
+ (Members of {{ fieldName . }} are embedded into this type.)
+
metadata field.
+ {{ end }}
+
+ {{ if or (eq (fieldName .) "spec") }}
+ Packages:
+
+ Generated with gen-crd-api-reference-docs
+ {{ with .gitCommit }} on git commit {{ . }}{{end}}.
+
{{.Underlying}} alias){{ end -}}
++ (Appears on: + {{- $prev := "" -}} + {{- range . -}} + {{- if $prev -}}, {{ end -}} + {{- $prev = . -}} + {{ typeDisplayName . }} + {{- end -}} + ) +
+{{ end }} + +| Value | +Description | +
|---|---|
{{ typeDisplayName . }} |
+ {{ safe (renderComments .CommentLines) }} | +
| Field | +Description | +
|---|---|
+ apiVersion+ string |
+
+
+ {{apiGroup .}}
+
+ |
+
+ kind+ string + |
+ {{.Name.Name}} |
+