Skip to content
This repository has been archived by the owner on Nov 2, 2024. It is now read-only.

Commit

Permalink
Thu Dec 14 01:27:20 PM CET 2023
Browse files Browse the repository at this point in the history
  • Loading branch information
ajgon committed Dec 14, 2023
1 parent 48a2a04 commit 636edcc
Show file tree
Hide file tree
Showing 5 changed files with 150 additions and 8 deletions.
18 changes: 17 additions & 1 deletion ceph.rook.io/cephblockpoolradosnamespace_v1.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,23 @@
"properties": {
"blockPoolName": {
"description": "BlockPoolName is the name of Ceph BlockPool. Typically it's the name of the CephBlockPool CR.",
"type": "string"
"type": "string",
"x-kubernetes-validations": [
{
"message": "blockPoolName is immutable",
"rule": "self == oldSelf"
}
]
},
"name": {
"description": "The name of the CephBlockPoolRadosNamespaceSpec namespace. If not set, the default is the name of the CR.",
"type": "string",
"x-kubernetes-validations": [
{
"message": "name is immutable",
"rule": "self == oldSelf"
}
]
}
},
"required": [
Expand Down
2 changes: 1 addition & 1 deletion ceph.rook.io/cephbuckettopic_v1.json
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
"type": "boolean"
},
"sendCloudEvents": {
"description": "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.",
"description": "Send the notifications with the CloudEvents header: https://github.com/cloudevents/spec/blob/main/cloudevents/adapters/aws-s3.md",
"type": "boolean"
},
"uri": {
Expand Down
85 changes: 82 additions & 3 deletions ceph.rook.io/cephcluster_v1.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,17 @@
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
},
"cephConfig": {
"additionalProperties": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"description": "Ceph Config options",
"nullable": true,
"type": "object"
},
"cephVersion": {
"description": "The version information that instructs Rook to orchestrate a particular version of Ceph.",
"nullable": true,
Expand Down Expand Up @@ -121,6 +132,46 @@
"type": "object",
"additionalProperties": false
},
"csi": {
"description": "CSI Driver Options applied per cluster.",
"properties": {
"cephfs": {
"description": "CephFS defines CSI Driver settings for CephFS driver.",
"properties": {
"fuseMountOptions": {
"description": "FuseMountOptions defines the mount options for ceph fuse mounter.",
"type": "string"
},
"kernelMountOptions": {
"description": "KernelMountOptions defines the mount options for kernel mounter.",
"type": "string"
}
},
"type": "object",
"additionalProperties": false
},
"readAffinity": {
"description": "ReadAffinity defines the read affinity settings for CSI driver.",
"properties": {
"crushLocationLabels": {
"description": "CrushLocationLabels defines which node labels to use as CRUSH location. This should correspond to the values set in the CRUSH map.",
"items": {
"type": "string"
},
"type": "array"
},
"enabled": {
"description": "Enables read affinity for CSI driver.",
"type": "boolean"
}
},
"type": "object",
"additionalProperties": false
}
},
"type": "object",
"additionalProperties": false
},
"dashboard": {
"description": "Dashboard settings",
"nullable": true,
Expand Down Expand Up @@ -158,7 +209,13 @@
"dataDirHostPath": {
"description": "The path on the host where config and data can be persisted",
"pattern": "^/(\\S+)",
"type": "string"
"type": "string",
"x-kubernetes-validations": [
{
"message": "DataDirHostPath is immutable",
"rule": "self == oldSelf"
}
]
},
"disruptionManagement": {
"description": "A spec for configuring disruption management.",
Expand Down Expand Up @@ -1754,6 +1811,16 @@
}
},
"type": "object",
"x-kubernetes-validations": [
{
"message": "zones must be less than or equal to count",
"rule": "!has(self.zones) || (has(self.zones) && (size(self.zones) <= self.count))"
},
{
"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))"
}
],
"additionalProperties": false
},
"monitoring": {
Expand Down Expand Up @@ -1891,7 +1958,7 @@
"nullable": true,
"properties": {
"enabled": {
"description": "Whether to compress the data in transit across the wire. The default is not set. Requires Ceph Quincy (v17) or newer.",
"description": "Whether to compress the data in transit across the wire. The default is not set.",
"type": "boolean"
}
},
Expand Down Expand Up @@ -1958,7 +2025,13 @@
"multus"
],
"nullable": true,
"type": "string"
"type": "string",
"x-kubernetes-validations": [
{
"message": "network provider must be disabled (reverted to empty string) before a new provider is enabled",
"rule": "self == '' || self == oldSelf"
}
]
},
"selectors": {
"additionalProperties": {
Expand All @@ -1971,6 +2044,12 @@
},
"type": "object",
"x-kubernetes-preserve-unknown-fields": true,
"x-kubernetes-validations": [
{
"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))"
}
],
"additionalProperties": false
},
"placement": {
Expand Down
49 changes: 48 additions & 1 deletion ceph.rook.io/cephfilesystemsubvolumegroup_v1.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,54 @@
"properties": {
"filesystemName": {
"description": "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",
"type": "string"
"type": "string",
"x-kubernetes-validations": [
{
"message": "filesystemName is immutable",
"rule": "self == oldSelf"
}
]
},
"name": {
"description": "The name of the subvolume group. If not set, the default is the name of the subvolumeGroup CR.",
"type": "string",
"x-kubernetes-validations": [
{
"message": "name is immutable",
"rule": "self == oldSelf"
}
]
},
"pinning": {
"description": "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",
"properties": {
"distributed": {
"maximum": 1,
"minimum": 0,
"nullable": true,
"type": "integer"
},
"export": {
"maximum": 256,
"minimum": -1,
"nullable": true,
"type": "integer"
},
"random": {
"maximum": 1,
"minimum": 0,
"nullable": true,
"type": "number"
}
},
"type": "object",
"x-kubernetes-validations": [
{
"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))"
}
],
"additionalProperties": false
}
},
"required": [
Expand Down
4 changes: 2 additions & 2 deletions ceph.rook.io/cephnfs_v1.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@
"nullable": true,
"properties": {
"namespace": {
"description": "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.",
"description": "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.",
"type": "string"
},
"pool": {
"description": "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\".",
"description": "The Ceph pool used store the shared configuration for NFS-Ganesha daemons. This setting is deprecated, as it is internally required to be \".nfs\".",
"type": "string"
}
},
Expand Down

0 comments on commit 636edcc

Please sign in to comment.