k8s/manifests/ceph/crds.yaml
2024-02-16 21:23:32 +01:00

13065 lines
772 KiB
YAML

##############################################################################
# Create the CRDs that are necessary before creating your Rook cluster.
# These resources *must* be created before the cluster.yaml or their variants.
##############################################################################
---
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.11.3
creationTimestamp: null
name: cephblockpoolradosnamespaces.ceph.rook.io
spec:
group: ceph.rook.io
names:
kind: CephBlockPoolRadosNamespace
listKind: CephBlockPoolRadosNamespaceList
plural: cephblockpoolradosnamespaces
singular: cephblockpoolradosnamespace
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
description: CephBlockPoolRadosNamespace represents a Ceph BlockPool Rados Namespace
properties:
apiVersion:
description: APIVersion defines the versioned schema of this representation of an object.
type: string
kind:
description: Kind is a string value representing the REST resource this object represents.
type: string
metadata:
type: object
spec:
description: Spec represents the specification of a Ceph BlockPool Rados Namespace
properties:
blockPoolName:
description: BlockPoolName is the name of Ceph BlockPool. Typically it's the name of the CephBlockPool CR.
type: string
x-kubernetes-validations:
- message: blockPoolName is immutable
rule: self == oldSelf
name:
description: The name of the CephBlockPoolRadosNamespaceSpec namespace.
type: string
x-kubernetes-validations:
- message: name is immutable
rule: self == oldSelf
required:
- blockPoolName
type: object
status:
description: Status represents the status of a CephBlockPool Rados Namespace
properties:
info:
additionalProperties:
type: string
nullable: true
type: object
phase:
description: ConditionType represent a resource's status
type: string
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- metadata
- spec
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.11.3
creationTimestamp: null
name: cephblockpools.ceph.rook.io
spec:
group: ceph.rook.io
names:
kind: CephBlockPool
listKind: CephBlockPoolList
plural: cephblockpools
singular: cephblockpool
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .status.phase
name: Phase
type: string
name: v1
schema:
openAPIV3Schema:
description: CephBlockPool represents a Ceph Storage Pool
properties:
apiVersion:
description: APIVersion defines the versioned schema of this representation of an object.
type: string
kind:
description: Kind is a string value representing the REST resource this object represents.
type: string
metadata:
type: object
spec:
description: NamedBlockPoolSpec allows a block pool to be created with a non-default name.
properties:
compressionMode:
description: 'DEPRECATED: use Parameters instead, e.g.'
enum:
- none
- passive
- aggressive
- force
- ""
nullable: true
type: string
crushRoot:
description: The root of the crush hierarchy utilized by the pool
nullable: true
type: string
deviceClass:
description: The device class the OSD should set to for use in the pool
nullable: true
type: string
enableRBDStats:
description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
type: boolean
erasureCoded:
description: The erasure code settings
properties:
algorithm:
description: The algorithm for erasure coding
type: string
codingChunks:
description: Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool
minimum: 0
type: integer
dataChunks:
description: Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool t
minimum: 0
type: integer
required:
- codingChunks
- dataChunks
type: object
failureDomain:
description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush '
type: string
mirroring:
description: The mirroring settings
properties:
enabled:
description: Enabled whether this pool is mirrored or not
type: boolean
mode:
description: 'Mode is the mirroring mode: either pool or image'
type: string
peers:
description: Peers represents the peers spec
nullable: true
properties:
secretNames:
description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
items:
type: string
type: array
type: object
snapshotSchedules:
description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
items:
description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
properties:
interval:
description: Interval represent the periodicity of the snapshot.
type: string
path:
description: Path is the path to snapshot, only valid for CephFS
type: string
startTime:
description: StartTime indicates when to start the snapshot
type: string
type: object
type: array
type: object
name:
description: The desired name of the pool if different from the CephBlockPool CR name.
enum:
- device_health_metrics
- .nfs
- .mgr
type: string
parameters:
additionalProperties:
type: string
description: Parameters is a list of properties to enable on a given pool
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
quotas:
description: The quota settings
nullable: true
properties:
maxBytes:
description: MaxBytes represents the quota in bytes Deprecated in favor of MaxSize
format: int64
type: integer
maxObjects:
description: MaxObjects represents the quota in objects
format: int64
type: integer
maxSize:
description: MaxSize represents the quota in bytes as a string
pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
type: string
type: object
replicated:
description: The replication settings
properties:
hybridStorage:
description: HybridStorage represents hybrid storage tier settings
nullable: true
properties:
primaryDeviceClass:
description: PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD
minLength: 1
type: string
secondaryDeviceClass:
description: SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs
minLength: 1
type: string
required:
- primaryDeviceClass
- secondaryDeviceClass
type: object
replicasPerFailureDomain:
description: ReplicasPerFailureDomain the number of replica in the specified failure domain
minimum: 1
type: integer
requireSafeReplicaSize:
description: RequireSafeReplicaSize if false allows you to set replica 1
type: boolean
size:
description: Size - Number of copies per object in a replicated storage pool, including the object itself (requir
minimum: 0
type: integer
subFailureDomain:
description: SubFailureDomain the name of the sub-failure domain
type: string
targetSizeRatio:
description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capac
type: number
required:
- size
type: object
statusCheck:
description: The mirroring statusCheck
properties:
mirror:
description: HealthCheckSpec represents the health check of an object store bucket
nullable: true
properties:
disabled:
type: boolean
interval:
description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
type: string
timeout:
type: string
type: object
type: object
x-kubernetes-preserve-unknown-fields: true
type: object
status:
description: CephBlockPoolStatus represents the mirroring status of Ceph Storage Pool
properties:
conditions:
items:
description: Condition represents a status condition on any Rook-Ceph Custom Resource.
properties:
lastHeartbeatTime:
format: date-time
type: string
lastTransitionTime:
format: date-time
type: string
message:
type: string
reason:
description: ConditionReason is a reason for a condition
type: string
status:
type: string
type:
description: ConditionType represent a resource's status
type: string
type: object
type: array
info:
additionalProperties:
type: string
nullable: true
type: object
mirroringInfo:
description: MirroringInfoSpec is the status of the pool mirroring
properties:
details:
type: string
lastChanged:
type: string
lastChecked:
type: string
mode:
description: Mode is the mirroring mode
type: string
peers:
description: Peers are the list of peer sites connected to that cluster
items:
description: PeersSpec contains peer details
properties:
client_name:
description: ClientName is the CephX user used to connect to the peer
type: string
direction:
description: Direction is the peer mirroring direction
type: string
mirror_uuid:
description: MirrorUUID is the mirror UUID
type: string
site_name:
description: SiteName is the current site name
type: string
uuid:
description: UUID is the peer UUID
type: string
type: object
type: array
site_name:
description: SiteName is the current site name
type: string
type: object
mirroringStatus:
description: MirroringStatusSpec is the status of the pool mirroring
properties:
details:
description: Details contains potential status errors
type: string
lastChanged:
description: LastChanged is the last time time the status last changed
type: string
lastChecked:
description: LastChecked is the last time time the status was checked
type: string
summary:
description: Summary is the mirroring status summary
properties:
daemon_health:
description: DaemonHealth is the health of the mirroring daemon
type: string
health:
description: Health is the mirroring health
type: string
image_health:
description: ImageHealth is the health of the mirrored image
type: string
states:
description: States is the various state for all mirrored images
nullable: true
properties:
error:
description: Error is when the mirroring state is errored
type: integer
replaying:
description: Replaying is when the replay of the mirroring journal is on-going
type: integer
starting_replay:
description: StartingReplay is when the replay of the mirroring journal starts
type: integer
stopped:
description: Stopped is when the mirroring state is stopped
type: integer
stopping_replay:
description: StopReplaying is when the replay of the mirroring journal stops
type: integer
syncing:
description: Syncing is when the image is syncing
type: integer
unknown:
description: Unknown is when the mirroring state is unknown
type: integer
type: object
type: object
type: object
observedGeneration:
description: ObservedGeneration is the latest generation observed by the controller.
format: int64
type: integer
phase:
description: ConditionType represent a resource's status
type: string
snapshotScheduleStatus:
description: SnapshotScheduleStatusSpec is the status of the snapshot schedule
properties:
details:
description: Details contains potential status errors
type: string
lastChanged:
description: LastChanged is the last time time the status last changed
type: string
lastChecked:
description: LastChecked is the last time time the status was checked
type: string
snapshotSchedules:
description: SnapshotSchedules is the list of snapshots scheduled
items:
description: SnapshotSchedulesSpec is the list of snapshot scheduled for images in a pool
properties:
image:
description: Image is the mirrored image
type: string
items:
description: Items is the list schedules times for a given snapshot
items:
description: SnapshotSchedule is a schedule
properties:
interval:
description: Interval is the interval in which snapshots will be taken
type: string
start_time:
description: StartTime is the snapshot starting time
type: string
type: object
type: array
namespace:
description: Namespace is the RADOS namespace the image is part of
type: string
pool:
description: Pool is the pool name
type: string
type: object
nullable: true
type: array
type: object
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- metadata
- spec
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.11.3
creationTimestamp: null
name: cephbucketnotifications.ceph.rook.io
spec:
group: ceph.rook.io
names:
kind: CephBucketNotification
listKind: CephBucketNotificationList
plural: cephbucketnotifications
singular: cephbucketnotification
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
description: CephBucketNotification represents a Bucket Notifications
properties:
apiVersion:
description: APIVersion defines the versioned schema of this representation of an object.
type: string
kind:
description: Kind is a string value representing the REST resource this object represents.
type: string
metadata:
type: object
spec:
description: BucketNotificationSpec represent the spec of a Bucket Notification
properties:
events:
description: List of events that should trigger the notification
items:
description: BucketNotificationSpec represent the event type of the bucket notification
enum:
- s3:ObjectCreated:*
- s3:ObjectCreated:Put
- s3:ObjectCreated:Post
- s3:ObjectCreated:Copy
- s3:ObjectCreated:CompleteMultipartUpload
- s3:ObjectRemoved:*
- s3:ObjectRemoved:Delete
- s3:ObjectRemoved:DeleteMarkerCreated
type: string
type: array
filter:
description: Spec of notification filter
properties:
keyFilters:
description: Filters based on the object's key
items:
description: NotificationKeyFilterRule represent a single key rule in the Notification Filter spec
properties:
name:
description: Name of the filter - prefix/suffix/regex
enum:
- prefix
- suffix
- regex
type: string
value:
description: Value to filter on
type: string
required:
- name
- value
type: object
type: array
metadataFilters:
description: Filters based on the object's metadata
items:
description: NotificationFilterRule represent a single rule in the Notification Filter spec
properties:
name:
description: Name of the metadata or tag
minLength: 1
type: string
value:
description: Value to filter on
type: string
required:
- name
- value
type: object
type: array
tagFilters:
description: Filters based on the object's tags
items:
description: NotificationFilterRule represent a single rule in the Notification Filter spec
properties:
name:
description: Name of the metadata or tag
minLength: 1
type: string
value:
description: Value to filter on
type: string
required:
- name
- value
type: object
type: array
type: object
topic:
description: The name of the topic associated with this notification
minLength: 1
type: string
required:
- topic
type: object
status:
description: Status represents the status of an object
properties:
conditions:
items:
description: Condition represents a status condition on any Rook-Ceph Custom Resource.
properties:
lastHeartbeatTime:
format: date-time
type: string
lastTransitionTime:
format: date-time
type: string
message:
type: string
reason:
description: ConditionReason is a reason for a condition
type: string
status:
type: string
type:
description: ConditionType represent a resource's status
type: string
type: object
type: array
observedGeneration:
description: ObservedGeneration is the latest generation observed by the controller.
format: int64
type: integer
phase:
type: string
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- metadata
- spec
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.11.3
creationTimestamp: null
name: cephbuckettopics.ceph.rook.io
spec:
group: ceph.rook.io
names:
kind: CephBucketTopic
listKind: CephBucketTopicList
plural: cephbuckettopics
singular: cephbuckettopic
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .status.phase
name: Phase
type: string
name: v1
schema:
openAPIV3Schema:
description: CephBucketTopic represents a Ceph Object Topic for Bucket Notifications
properties:
apiVersion:
description: APIVersion defines the versioned schema of this representation of an object.
type: string
kind:
description: Kind is a string value representing the REST resource this object represents.
type: string
metadata:
type: object
spec:
description: BucketTopicSpec represent the spec of a Bucket Topic
properties:
endpoint:
description: Contains the endpoint spec of the topic
properties:
amqp:
description: Spec of AMQP endpoint
properties:
ackLevel:
default: broker
description: The ack level required for this topic (none/broker/routeable)
enum:
- none
- broker
- routeable
type: string
disableVerifySSL:
description: Indicate whether the server certificate is validated by the client or not
type: boolean
exchange:
description: Name of the exchange that is used to route messages based on topics
minLength: 1
type: string
uri:
description: The URI of the AMQP endpoint to push notification to
minLength: 1
type: string
required:
- exchange
- uri
type: object
http:
description: Spec of HTTP endpoint
properties:
disableVerifySSL:
description: Indicate whether the server certificate is validated by the client or not
type: boolean
sendCloudEvents:
description: 'Send the notifications with the CloudEvents header: https://github.'
type: boolean
uri:
description: The URI of the HTTP endpoint to push notification to
minLength: 1
type: string
required:
- uri
type: object
kafka:
description: Spec of Kafka endpoint
properties:
ackLevel:
default: broker
description: The ack level required for this topic (none/broker)
enum:
- none
- broker
type: string
disableVerifySSL:
description: Indicate whether the server certificate is validated by the client or not
type: boolean
uri:
description: The URI of the Kafka endpoint to push notification to
minLength: 1
type: string
useSSL:
description: Indicate whether to use SSL when communicating with the broker
type: boolean
required:
- uri
type: object
type: object
objectStoreName:
description: The name of the object store on which to define the topic
minLength: 1
type: string
objectStoreNamespace:
description: The namespace of the object store on which to define the topic
minLength: 1
type: string
opaqueData:
description: Data which is sent in each event
type: string
persistent:
description: Indication whether notifications to this endpoint are persistent or not
type: boolean
required:
- endpoint
- objectStoreName
- objectStoreNamespace
type: object
status:
description: BucketTopicStatus represents the Status of a CephBucketTopic
properties:
ARN:
description: The ARN of the topic generated by the RGW
nullable: true
type: string
observedGeneration:
description: ObservedGeneration is the latest generation observed by the controller.
format: int64
type: integer
phase:
type: string
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- metadata
- spec
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.11.3
creationTimestamp: null
name: cephclients.ceph.rook.io
spec:
group: ceph.rook.io
names:
kind: CephClient
listKind: CephClientList
plural: cephclients
singular: cephclient
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .status.phase
name: Phase
type: string
name: v1
schema:
openAPIV3Schema:
description: CephClient represents a Ceph Client
properties:
apiVersion:
description: APIVersion defines the versioned schema of this representation of an object.
type: string
kind:
description: Kind is a string value representing the REST resource this object represents.
type: string
metadata:
type: object
spec:
description: Spec represents the specification of a Ceph Client
properties:
caps:
additionalProperties:
type: string
type: object
x-kubernetes-preserve-unknown-fields: true
name:
type: string
required:
- caps
type: object
status:
description: Status represents the status of a Ceph Client
properties:
info:
additionalProperties:
type: string
nullable: true
type: object
observedGeneration:
description: ObservedGeneration is the latest generation observed by the controller.
format: int64
type: integer
phase:
description: ConditionType represent a resource's status
type: string
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- metadata
- spec
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.11.3
creationTimestamp: null
name: cephclusters.ceph.rook.io
spec:
group: ceph.rook.io
names:
kind: CephCluster
listKind: CephClusterList
plural: cephclusters
singular: cephcluster
scope: Namespaced
versions:
- additionalPrinterColumns:
- description: Directory used on the K8s nodes
jsonPath: .spec.dataDirHostPath
name: DataDirHostPath
type: string
- description: Number of MONs
jsonPath: .spec.mon.count
name: MonCount
type: string
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
- jsonPath: .status.phase
name: Phase
type: string
- description: Message
jsonPath: .status.message
name: Message
type: string
- description: Ceph Health
jsonPath: .status.ceph.health
name: Health
type: string
- jsonPath: .spec.external.enable
name: External
type: boolean
- description: Ceph FSID
jsonPath: .status.ceph.fsid
name: FSID
type: string
name: v1
schema:
openAPIV3Schema:
description: CephCluster is a Ceph storage cluster
properties:
apiVersion:
description: APIVersion defines the versioned schema of this representation of an object.
type: string
kind:
description: Kind is a string value representing the REST resource this object represents.
type: string
metadata:
type: object
spec:
description: ClusterSpec represents the specification of Ceph Cluster
properties:
annotations:
additionalProperties:
additionalProperties:
type: string
description: Annotations are annotations
type: object
description: The annotations-related configuration to add/set on each Pod related object.
nullable: true
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
properties:
allowUnsupported:
description: Whether to allow unsupported versions (do not set to true in production)
type: boolean
image:
description: Image is the container image used to launch the ceph daemons, such as quay.
type: string
imagePullPolicy:
description: ImagePullPolicy describes a policy for if/when to pull a container image One of Always, Never, IfNot
enum:
- IfNotPresent
- Always
- Never
- ""
type: string
type: object
cleanupPolicy:
description: Indicates user intent when deleting a cluster; blocks orchestration and should not be set if cluster
nullable: true
properties:
allowUninstallWithVolumes:
description: AllowUninstallWithVolumes defines whether we can proceed with the uninstall if they are RBD images s
type: boolean
confirmation:
description: Confirmation represents the cleanup confirmation
nullable: true
pattern: ^$|^yes-really-destroy-data$
type: string
sanitizeDisks:
description: SanitizeDisks represents way we sanitize disks
nullable: true
properties:
dataSource:
description: DataSource is the data source to use to sanitize the disk with
enum:
- zero
- random
type: string
iteration:
description: Iteration is the number of pass to apply the sanitizing
format: int32
type: integer
method:
description: Method is the method we use to sanitize disks
enum:
- complete
- quick
type: string
type: object
type: object
continueUpgradeAfterChecksEvenIfNotHealthy:
description: ContinueUpgradeAfterChecksEvenIfNotHealthy defines if an upgrade should continue even if PGs are not
type: boolean
crashCollector:
description: A spec for the crash controller
nullable: true
properties:
daysToRetain:
description: DaysToRetain represents the number of days to retain crash until they get pruned
type: integer
disable:
description: Disable determines whether we should enable the crash collector
type: boolean
type: object
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
readAffinity:
description: ReadAffinity defines the read affinity settings for CSI driver.
properties:
crushLocationLabels:
description: CrushLocationLabels defines which node labels to use as CRUSH location.
items:
type: string
type: array
enabled:
description: Enables read affinity for CSI driver.
type: boolean
type: object
type: object
dashboard:
description: Dashboard settings
nullable: true
properties:
enabled:
description: Enabled determines whether to enable the dashboard
type: boolean
port:
description: Port is the dashboard webserver port
maximum: 65535
minimum: 0
type: integer
prometheusEndpoint:
description: Endpoint for the Prometheus host
type: string
prometheusEndpointSSLVerify:
description: Whether to verify the ssl endpoint for prometheus. Set to false for a self-signed cert.
type: boolean
ssl:
description: SSL determines whether SSL should be used
type: boolean
urlPrefix:
description: URLPrefix is a prefix for all URLs to use the dashboard with a reverse proxy
type: string
type: object
dataDirHostPath:
description: The path on the host where config and data can be persisted
pattern: ^/(\S+)
type: string
x-kubernetes-validations:
- message: DataDirHostPath is immutable
rule: self == oldSelf
disruptionManagement:
description: A spec for configuring disruption management.
nullable: true
properties:
machineDisruptionBudgetNamespace:
description: Deprecated. Namespace to look for MDBs by the machineDisruptionBudgetController
type: string
manageMachineDisruptionBudgets:
description: Deprecated. This enables management of machinedisruptionbudgets.
type: boolean
managePodBudgets:
description: This enables management of poddisruptionbudgets
type: boolean
osdMaintenanceTimeout:
description: 'OSDMaintenanceTimeout sets how many additional minutes the DOWN/OUT interval is for drained failure '
format: int64
type: integer
pgHealthCheckTimeout:
description: PGHealthCheckTimeout is the time (in minutes) that the operator will wait for the placement groups t
format: int64
type: integer
pgHealthyRegex:
description: PgHealthyRegex is the regular expression that is used to determine which PG states should be conside
type: string
type: object
external:
description: Whether the Ceph Cluster is running external to this Kubernetes cluster mon, mgr, osd, mds, and disc
nullable: true
properties:
enable:
description: Enable determines whether external mode is enabled or not
type: boolean
type: object
x-kubernetes-preserve-unknown-fields: true
healthCheck:
description: Internal daemon healthchecks and liveness probe
nullable: true
properties:
daemonHealth:
description: DaemonHealth is the health check for a given daemon
nullable: true
properties:
mon:
description: Monitor represents the health check settings for the Ceph monitor
nullable: true
properties:
disabled:
type: boolean
interval:
description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
type: string
timeout:
type: string
type: object
osd:
description: ObjectStorageDaemon represents the health check settings for the Ceph OSDs
nullable: true
properties:
disabled:
type: boolean
interval:
description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
type: string
timeout:
type: string
type: object
status:
description: Status represents the health check settings for the Ceph health
nullable: true
properties:
disabled:
type: boolean
interval:
description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
type: string
timeout:
type: string
type: object
type: object
livenessProbe:
additionalProperties:
description: ProbeSpec is a wrapper around Probe so it can be enabled or disabled for a Ceph daemon
properties:
disabled:
description: Disabled determines whether probe is disable or not
type: boolean
probe:
description: 'Probe describes a health check to be performed against a container to determine whether it is alive '
properties:
exec:
description: Exec specifies the action to take.
properties:
command:
description: 'Command is the command line to execute inside the container, the working directory for the command '
items:
type: string
type: array
type: object
failureThreshold:
description: Minimum consecutive failures for the probe to be considered failed after having succeeded.
format: int32
type: integer
grpc:
description: GRPC specifies an action involving a GRPC port.
properties:
port:
description: Port number of the gRPC service. Number must be in the range 1 to 65535.
format: int32
type: integer
service:
description: Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.
type: string
required:
- port
type: object
httpGet:
description: HTTPGet specifies the http request to perform.
properties:
host:
description: Host name to connect to, defaults to the pod IP.
type: string
httpHeaders:
description: Custom headers to set in the request. HTTP allows repeated headers.
items:
description: HTTPHeader describes a custom header to be used in HTTP probes
properties:
name:
description: The header field name.
type: string
value:
description: The header field value
type: string
required:
- name
- value
type: object
type: array
path:
description: Path to access on the HTTP server.
type: string
port:
anyOf:
- type: integer
- type: string
description: Name or number of the port to access on the container. Number must be in the range 1 to 65535.
x-kubernetes-int-or-string: true
scheme:
description: Scheme to use for connecting to the host. Defaults to HTTP.
type: string
required:
- port
type: object
initialDelaySeconds:
description: Number of seconds after the container has started before liveness probes are initiated.
format: int32
type: integer
periodSeconds:
description: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.
format: int32
type: integer
successThreshold:
description: Minimum consecutive successes for the probe to be considered successful after having failed.
format: int32
type: integer
tcpSocket:
description: TCPSocket specifies an action involving a TCP port.
properties:
host:
description: 'Optional: Host name to connect to, defaults to the pod IP.'
type: string
port:
anyOf:
- type: integer
- type: string
description: Number or name of the port to access on the container. Number must be in the range 1 to 65535.
x-kubernetes-int-or-string: true
required:
- port
type: object
terminationGracePeriodSeconds:
description: Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
format: int64
type: integer
timeoutSeconds:
description: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1.
format: int32
type: integer
type: object
type: object
description: LivenessProbe allows changing the livenessProbe configuration for a given daemon
type: object
startupProbe:
additionalProperties:
description: ProbeSpec is a wrapper around Probe so it can be enabled or disabled for a Ceph daemon
properties:
disabled:
description: Disabled determines whether probe is disable or not
type: boolean
probe:
description: 'Probe describes a health check to be performed against a container to determine whether it is alive '
properties:
exec:
description: Exec specifies the action to take.
properties:
command:
description: 'Command is the command line to execute inside the container, the working directory for the command '
items:
type: string
type: array
type: object
failureThreshold:
description: Minimum consecutive failures for the probe to be considered failed after having succeeded.
format: int32
type: integer
grpc:
description: GRPC specifies an action involving a GRPC port.
properties:
port:
description: Port number of the gRPC service. Number must be in the range 1 to 65535.
format: int32
type: integer
service:
description: Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.
type: string
required:
- port
type: object
httpGet:
description: HTTPGet specifies the http request to perform.
properties:
host:
description: Host name to connect to, defaults to the pod IP.
type: string
httpHeaders:
description: Custom headers to set in the request. HTTP allows repeated headers.
items:
description: HTTPHeader describes a custom header to be used in HTTP probes
properties:
name:
description: The header field name.
type: string
value:
description: The header field value
type: string
required:
- name
- value
type: object
type: array
path:
description: Path to access on the HTTP server.
type: string
port:
anyOf:
- type: integer
- type: string
description: Name or number of the port to access on the container. Number must be in the range 1 to 65535.
x-kubernetes-int-or-string: true
scheme:
description: Scheme to use for connecting to the host. Defaults to HTTP.
type: string
required:
- port
type: object
initialDelaySeconds:
description: Number of seconds after the container has started before liveness probes are initiated.
format: int32
type: integer
periodSeconds:
description: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.
format: int32
type: integer
successThreshold:
description: Minimum consecutive successes for the probe to be considered successful after having failed.
format: int32
type: integer
tcpSocket:
description: TCPSocket specifies an action involving a TCP port.
properties:
host:
description: 'Optional: Host name to connect to, defaults to the pod IP.'
type: string
port:
anyOf:
- type: integer
- type: string
description: Number or name of the port to access on the container. Number must be in the range 1 to 65535.
x-kubernetes-int-or-string: true
required:
- port
type: object
terminationGracePeriodSeconds:
description: Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
format: int64
type: integer
timeoutSeconds:
description: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1.
format: int32
type: integer
type: object
type: object
description: StartupProbe allows changing the startupProbe configuration for a given daemon
type: object
type: object
labels:
additionalProperties:
additionalProperties:
type: string
description: Labels are label for a given daemons
type: object
description: The labels-related configuration to add/set on each Pod related object.
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
logCollector:
description: Logging represents loggings settings
nullable: true
properties:
enabled:
description: Enabled represents whether the log collector is enabled
type: boolean
maxLogSize:
anyOf:
- type: integer
- type: string
description: MaxLogSize is the maximum size of the log per ceph daemons. Must be at least 1M.
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
periodicity:
description: Periodicity is the periodicity of the log rotation.
pattern: ^$|^(hourly|daily|weekly|monthly|1h|24h|1d)$
type: string
type: object
mgr:
description: A spec for mgr related options
nullable: true
properties:
allowMultiplePerNode:
description: AllowMultiplePerNode allows to run multiple managers on the same node (not recommended)
type: boolean
count:
description: Count is the number of manager daemons to run
maximum: 5
minimum: 0
type: integer
modules:
description: Modules is the list of ceph manager modules to enable/disable
items:
description: Module represents mgr modules that the user wants to enable or disable
properties:
enabled:
description: Enabled determines whether a module should be enabled or not
type: boolean
name:
description: Name is the name of the ceph manager module
type: string
type: object
nullable: true
type: array
type: object
mon:
description: A spec for mon related options
nullable: true
properties:
allowMultiplePerNode:
description: AllowMultiplePerNode determines if we can run multiple monitors on the same node (not recommended)
type: boolean
count:
description: Count is the number of Ceph monitors
maximum: 9
minimum: 0
type: integer
failureDomainLabel:
type: string
stretchCluster:
description: StretchCluster is the stretch cluster specification
properties:
failureDomainLabel:
description: 'FailureDomainLabel the failure domain name (e,g: zone)'
type: string
subFailureDomain:
description: SubFailureDomain is the failure domain within a zone
type: string
zones:
description: Zones is the list of zones
items:
description: MonZoneSpec represents the specification of a zone in a Ceph Cluster
properties:
arbiter:
description: Arbiter determines if the zone contains the arbiter used for stretch cluster mode
type: boolean
name:
description: Name is the name of the zone
type: string
volumeClaimTemplate:
description: VolumeClaimTemplate is the PVC template
properties:
apiVersion:
description: APIVersion defines the versioned schema of this representation of an object.
type: string
kind:
description: Kind is a string value representing the REST resource this object represents.
type: string
metadata:
description: 'Standard object''s metadata. More info: https://git.k8s.'
properties:
annotations:
additionalProperties:
type: string
type: object
finalizers:
items:
type: string
type: array
labels:
additionalProperties:
type: string
type: object
name:
type: string
namespace:
type: string
type: object
spec:
description: spec defines the desired characteristics of a volume requested by a pod author.
properties:
accessModes:
description: 'accessModes contains the desired access modes the volume should have. More info: https://kubernetes.'
items:
type: string
type: array
dataSource:
description: 'dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.'
properties:
apiGroup:
description: APIGroup is the group for the resource being referenced.
type: string
kind:
description: Kind is the type of resource being referenced
type: string
name:
description: Name is the name of resource being referenced
type: string
required:
- kind
- name
type: object
x-kubernetes-map-type: atomic
dataSourceRef:
description: dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volum
properties:
apiGroup:
description: APIGroup is the group for the resource being referenced.
type: string
kind:
description: Kind is the type of resource being referenced
type: string
name:
description: Name is the name of resource being referenced
type: string
namespace:
description: Namespace is the namespace of resource being referenced Note that when a namespace is specified, a g
type: string
required:
- kind
- name
type: object
resources:
description: resources represents the minimum resources the volume should have.
properties:
claims:
description: Claims lists the names of resources, defined in spec.
items:
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
properties:
name:
description: Name must match the name of one entry in pod.spec.
type: string
required:
- name
type: object
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.'
type: object
requests:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: Requests describes the minimum amount of compute resources required.
type: object
type: object
selector:
description: selector is a label query over volumes to consider for binding.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
storageClassName:
description: storageClassName is the name of the StorageClass required by the claim.
type: string
volumeMode:
description: volumeMode defines what type of volume is required by the claim.
type: string
volumeName:
description: volumeName is the binding reference to the PersistentVolume backing this claim.
type: string
type: object
status:
description: status represents the current information/status of a persistent volume claim. Read-only.
properties:
accessModes:
description: accessModes contains the actual access modes the volume backing the PVC has.
items:
type: string
type: array
allocatedResourceStatuses:
additionalProperties:
description: When a controller receives persistentvolume claim update with ClaimResourceStatus for a resource tha
type: string
description: allocatedResourceStatuses stores status of resource being resized for the given PVC.
type: object
x-kubernetes-map-type: granular
allocatedResources:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: allocatedResources tracks the resources allocated to a PVC including its capacity.
type: object
capacity:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: capacity represents the actual resources of the underlying volume.
type: object
conditions:
description: conditions is the current Condition of persistent volume claim.
items:
description: PersistentVolumeClaimCondition contains details about state of pvc
properties:
lastProbeTime:
description: lastProbeTime is the time we probed the condition.
format: date-time
type: string
lastTransitionTime:
description: lastTransitionTime is the time the condition transitioned from one status to another.
format: date-time
type: string
message:
description: message is the human-readable message indicating details about last transition.
type: string
reason:
description: 'reason is a unique, this should be a short, machine understandable string that gives the reason for '
type: string
status:
type: string
type:
description: PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type
type: string
required:
- status
- type
type: object
type: array
phase:
description: phase represents the current phase of PersistentVolumeClaim.
type: string
type: object
type: object
x-kubernetes-preserve-unknown-fields: true
type: object
nullable: true
type: array
type: object
volumeClaimTemplate:
description: VolumeClaimTemplate is the PVC definition
properties:
apiVersion:
description: APIVersion defines the versioned schema of this representation of an object.
type: string
kind:
description: Kind is a string value representing the REST resource this object represents.
type: string
metadata:
description: 'Standard object''s metadata. More info: https://git.k8s.'
properties:
annotations:
additionalProperties:
type: string
type: object
finalizers:
items:
type: string
type: array
labels:
additionalProperties:
type: string
type: object
name:
type: string
namespace:
type: string
type: object
spec:
description: spec defines the desired characteristics of a volume requested by a pod author.
properties:
accessModes:
description: 'accessModes contains the desired access modes the volume should have. More info: https://kubernetes.'
items:
type: string
type: array
dataSource:
description: 'dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.'
properties:
apiGroup:
description: APIGroup is the group for the resource being referenced.
type: string
kind:
description: Kind is the type of resource being referenced
type: string
name:
description: Name is the name of resource being referenced
type: string
required:
- kind
- name
type: object
x-kubernetes-map-type: atomic
dataSourceRef:
description: dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volum
properties:
apiGroup:
description: APIGroup is the group for the resource being referenced.
type: string
kind:
description: Kind is the type of resource being referenced
type: string
name:
description: Name is the name of resource being referenced
type: string
namespace:
description: Namespace is the namespace of resource being referenced Note that when a namespace is specified, a g
type: string
required:
- kind
- name
type: object
resources:
description: resources represents the minimum resources the volume should have.
properties:
claims:
description: Claims lists the names of resources, defined in spec.
items:
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
properties:
name:
description: Name must match the name of one entry in pod.spec.
type: string
required:
- name
type: object
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.'
type: object
requests:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: Requests describes the minimum amount of compute resources required.
type: object
type: object
selector:
description: selector is a label query over volumes to consider for binding.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
storageClassName:
description: storageClassName is the name of the StorageClass required by the claim.
type: string
volumeMode:
description: volumeMode defines what type of volume is required by the claim.
type: string
volumeName:
description: volumeName is the binding reference to the PersistentVolume backing this claim.
type: string
type: object
status:
description: status represents the current information/status of a persistent volume claim. Read-only.
properties:
accessModes:
description: accessModes contains the actual access modes the volume backing the PVC has.
items:
type: string
type: array
allocatedResourceStatuses:
additionalProperties:
description: When a controller receives persistentvolume claim update with ClaimResourceStatus for a resource tha
type: string
description: allocatedResourceStatuses stores status of resource being resized for the given PVC.
type: object
x-kubernetes-map-type: granular
allocatedResources:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: allocatedResources tracks the resources allocated to a PVC including its capacity.
type: object
capacity:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: capacity represents the actual resources of the underlying volume.
type: object
conditions:
description: conditions is the current Condition of persistent volume claim.
items:
description: PersistentVolumeClaimCondition contains details about state of pvc
properties:
lastProbeTime:
description: lastProbeTime is the time we probed the condition.
format: date-time
type: string
lastTransitionTime:
description: lastTransitionTime is the time the condition transitioned from one status to another.
format: date-time
type: string
message:
description: message is the human-readable message indicating details about last transition.
type: string
reason:
description: 'reason is a unique, this should be a short, machine understandable string that gives the reason for '
type: string
status:
type: string
type:
description: PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type
type: string
required:
- status
- type
type: object
type: array
phase:
description: phase represents the current phase of PersistentVolumeClaim.
type: string
type: object
type: object
x-kubernetes-preserve-unknown-fields: true
zones:
description: Zones are specified when we want to provide zonal awareness to mons
items:
description: MonZoneSpec represents the specification of a zone in a Ceph Cluster
properties:
arbiter:
description: Arbiter determines if the zone contains the arbiter used for stretch cluster mode
type: boolean
name:
description: Name is the name of the zone
type: string
volumeClaimTemplate:
description: VolumeClaimTemplate is the PVC template
properties:
apiVersion:
description: APIVersion defines the versioned schema of this representation of an object.
type: string
kind:
description: Kind is a string value representing the REST resource this object represents.
type: string
metadata:
description: 'Standard object''s metadata. More info: https://git.k8s.'
properties:
annotations:
additionalProperties:
type: string
type: object
finalizers:
items:
type: string
type: array
labels:
additionalProperties:
type: string
type: object
name:
type: string
namespace:
type: string
type: object
spec:
description: spec defines the desired characteristics of a volume requested by a pod author.
properties:
accessModes:
description: 'accessModes contains the desired access modes the volume should have. More info: https://kubernetes.'
items:
type: string
type: array
dataSource:
description: 'dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.'
properties:
apiGroup:
description: APIGroup is the group for the resource being referenced.
type: string
kind:
description: Kind is the type of resource being referenced
type: string
name:
description: Name is the name of resource being referenced
type: string
required:
- kind
- name
type: object
x-kubernetes-map-type: atomic
dataSourceRef:
description: dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volum
properties:
apiGroup:
description: APIGroup is the group for the resource being referenced.
type: string
kind:
description: Kind is the type of resource being referenced
type: string
name:
description: Name is the name of resource being referenced
type: string
namespace:
description: Namespace is the namespace of resource being referenced Note that when a namespace is specified, a g
type: string
required:
- kind
- name
type: object
resources:
description: resources represents the minimum resources the volume should have.
properties:
claims:
description: Claims lists the names of resources, defined in spec.
items:
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
properties:
name:
description: Name must match the name of one entry in pod.spec.
type: string
required:
- name
type: object
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.'
type: object
requests:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: Requests describes the minimum amount of compute resources required.
type: object
type: object
selector:
description: selector is a label query over volumes to consider for binding.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
storageClassName:
description: storageClassName is the name of the StorageClass required by the claim.
type: string
volumeMode:
description: volumeMode defines what type of volume is required by the claim.
type: string
volumeName:
description: volumeName is the binding reference to the PersistentVolume backing this claim.
type: string
type: object
status:
description: status represents the current information/status of a persistent volume claim. Read-only.
properties:
accessModes:
description: accessModes contains the actual access modes the volume backing the PVC has.
items:
type: string
type: array
allocatedResourceStatuses:
additionalProperties:
description: When a controller receives persistentvolume claim update with ClaimResourceStatus for a resource tha
type: string
description: allocatedResourceStatuses stores status of resource being resized for the given PVC.
type: object
x-kubernetes-map-type: granular
allocatedResources:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: allocatedResources tracks the resources allocated to a PVC including its capacity.
type: object
capacity:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: capacity represents the actual resources of the underlying volume.
type: object
conditions:
description: conditions is the current Condition of persistent volume claim.
items:
description: PersistentVolumeClaimCondition contains details about state of pvc
properties:
lastProbeTime:
description: lastProbeTime is the time we probed the condition.
format: date-time
type: string
lastTransitionTime:
description: lastTransitionTime is the time the condition transitioned from one status to another.
format: date-time
type: string
message:
description: message is the human-readable message indicating details about last transition.
type: string
reason:
description: 'reason is a unique, this should be a short, machine understandable string that gives the reason for '
type: string
status:
type: string
type:
description: PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type
type: string
required:
- status
- type
type: object
type: array
phase:
description: phase represents the current phase of PersistentVolumeClaim.
type: string
type: object
type: object
x-kubernetes-preserve-unknown-fields: true
type: object
type: array
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))'
monitoring:
description: Prometheus based Monitoring settings
nullable: true
properties:
enabled:
description: Enabled determines whether to create the prometheus rules for the ceph cluster.
type: boolean
externalMgrEndpoints:
description: ExternalMgrEndpoints points to an existing Ceph prometheus exporter endpoint
items:
description: EndpointAddress is a tuple that describes single IP address.
properties:
hostname:
description: The Hostname of this endpoint
type: string
ip:
description: The IP of this endpoint. May not be loopback (127.0.0.0/8 or ::1), link-local (169.254.0.
type: string
nodeName:
description: 'Optional: Node hosting this endpoint. This can be used to determine endpoints local to a node.'
type: string
targetRef:
description: Reference to object providing the endpoint.
properties:
apiVersion:
description: API version of the referent.
type: string
fieldPath:
description: If referring to a piece of an object instead of an entire object, this string should contain a valid
type: string
kind:
description: 'Kind of the referent. More info: https://git.k8s.'
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.'
type: string
namespace:
description: 'Namespace of the referent. More info: https://kubernetes.'
type: string
resourceVersion:
description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.'
type: string
uid:
description: 'UID of the referent. More info: https://kubernetes.'
type: string
type: object
x-kubernetes-map-type: atomic
required:
- ip
type: object
x-kubernetes-map-type: atomic
nullable: true
type: array
externalMgrPrometheusPort:
description: ExternalMgrPrometheusPort Prometheus exporter port
maximum: 65535
minimum: 0
type: integer
interval:
description: Interval determines prometheus scrape interval
type: string
metricsDisabled:
description: Whether to disable the metrics reported by Ceph.
type: boolean
port:
description: Port is the prometheus server port
maximum: 65535
minimum: 0
type: integer
type: object
network:
description: Network related configuration
nullable: true
properties:
addressRanges:
description: AddressRanges specify a list of CIDRs that Rook will apply to Ceph's 'public_network' and/or 'cluste
nullable: true
properties:
cluster:
description: Cluster defines a list of CIDRs to use for Ceph cluster network communication.
items:
description: An IPv4 or IPv6 network CIDR.
pattern: ^[0-9a-fA-F:.]{2,}\/[0-9]{1,3}$
type: string
type: array
public:
description: Public defines a list of CIDRs to use for Ceph public network communication.
items:
description: An IPv4 or IPv6 network CIDR.
pattern: ^[0-9a-fA-F:.]{2,}\/[0-9]{1,3}$
type: string
type: array
type: object
connections:
description: Settings for network connections such as compression and encryption across the wire.
nullable: true
properties:
compression:
description: Compression settings for the network connections.
nullable: true
properties:
enabled:
description: Whether to compress the data in transit across the wire. The default is not set.
type: boolean
type: object
encryption:
description: Encryption settings for the network connections.
nullable: true
properties:
enabled:
description: Whether to encrypt the data in transit across the wire to prevent eavesdropping the data on the netw
type: boolean
type: object
requireMsgr2:
description: Whether to require msgr2 (port 3300) even if compression or encryption are not enabled.
type: boolean
type: object
dualStack:
description: DualStack determines whether Ceph daemons should listen on both IPv4 and IPv6
type: boolean
hostNetwork:
description: HostNetwork to enable host network.
type: boolean
ipFamily:
description: IPFamily is the single stack IPv6 or IPv4 protocol
enum:
- IPv4
- IPv6
nullable: true
type: string
multiClusterService:
description: Enable multiClusterService to export the Services between peer clusters
properties:
clusterID:
description: ClusterID uniquely identifies a cluster. It is used as a prefix to nslookup exported services.
type: string
enabled:
description: Enable multiClusterService to export the mon and OSD services to peer cluster.
type: boolean
type: object
provider:
description: Provider is what provides network connectivity to the cluster e.g. "host" or "multus".
enum:
- ""
- host
- multus
nullable: true
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:
type: string
description: Selectors define NetworkAttachmentDefinitions to be used for Ceph public and/or cluster networks whe
nullable: true
type: object
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))'
- message: the legacy hostNetwork setting can only be set if the network.provider is set to the empty string
rule: '!has(self.hostNetwork) || self.hostNetwork == false || !has(self.provider) || self.provider == ""'
placement:
additionalProperties:
description: Placement is the placement for an object
properties:
nodeAffinity:
description: NodeAffinity is a group of node affinity scheduling rules
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
items:
description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op).
properties:
preference:
description: A node selector term, associated with the corresponding weight.
properties:
matchExpressions:
description: A list of node selector requirements by node's labels.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchFields:
description: A list of node selector requirements by node's fields.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
type: object
x-kubernetes-map-type: atomic
weight:
description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
format: int32
type: integer
required:
- preference
- weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
properties:
nodeSelectorTerms:
description: Required. A list of node selector terms. The terms are ORed.
items:
description: A null or empty node selector term matches no objects. The requirements of them are ANDed.
properties:
matchExpressions:
description: A list of node selector requirements by node's labels.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchFields:
description: A list of node selector requirements by node's fields.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
type: object
x-kubernetes-map-type: atomic
type: array
required:
- nodeSelectorTerms
type: object
x-kubernetes-map-type: atomic
type: object
podAffinity:
description: PodAffinity is a group of inter pod affinity scheduling rules
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
items:
description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
properties:
podAffinityTerm:
description: Required. A pod affinity term, associated with the corresponding weight.
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
weight:
description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
format: int32
type: integer
required:
- podAffinityTerm
- weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
items:
description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
type: array
type: object
podAntiAffinity:
description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions speci
items:
description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
properties:
podAffinityTerm:
description: Required. A pod affinity term, associated with the corresponding weight.
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
weight:
description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
format: int32
type: integer
required:
- podAffinityTerm
- weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod wi
items:
description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
type: array
type: object
tolerations:
description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
items:
description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
properties:
effect:
description: Effect indicates the taint effect to match. Empty means match all taint effects.
type: string
key:
description: Key is the taint key that the toleration applies to. Empty means match all taint keys.
type: string
operator:
description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal.
type: string
tolerationSeconds:
description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, o
format: int64
type: integer
value:
description: Value is the taint value the toleration matches to.
type: string
type: object
type: array
topologySpreadConstraints:
description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
items:
description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
properties:
labelSelector:
description: LabelSelector is used to find matching pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
matchLabelKeys:
description: MatchLabelKeys is a set of pod label keys to select the pods over which spreading will be calculated
items:
type: string
type: array
x-kubernetes-list-type: atomic
maxSkew:
description: MaxSkew describes the degree to which pods may be unevenly distributed.
format: int32
type: integer
minDomains:
description: MinDomains indicates a minimum number of eligible domains.
format: int32
type: integer
nodeAffinityPolicy:
description: 'NodeAffinityPolicy indicates how we will treat Pod''s nodeAffinity/nodeSelector when calculating pod '
type: string
nodeTaintsPolicy:
description: NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew.
type: string
topologyKey:
description: TopologyKey is the key of node labels.
type: string
whenUnsatisfiable:
description: WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy the spread constraint.
type: string
required:
- maxSkew
- topologyKey
- whenUnsatisfiable
type: object
type: array
type: object
description: The placement-related configuration to pass to kubernetes (affinity, node selector, tolerations).
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
priorityClassNames:
additionalProperties:
type: string
description: PriorityClassNames sets priority classes on components
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
removeOSDsIfOutAndSafeToRemove:
description: Remove the OSD that is out and safe to remove only if this option is true
type: boolean
resources:
additionalProperties:
description: ResourceRequirements describes the compute resource requirements.
properties:
claims:
description: Claims lists the names of resources, defined in spec.
items:
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
properties:
name:
description: Name must match the name of one entry in pod.spec.
type: string
required:
- name
type: object
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.'
type: object
requests:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: Requests describes the minimum amount of compute resources required.
type: object
type: object
description: Resources set resource requests and limits
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
security:
description: Security represents security settings
nullable: true
properties:
keyRotation:
description: KeyRotation defines options for Key Rotation.
nullable: true
properties:
enabled:
default: false
description: Enabled represents whether the key rotation is enabled.
type: boolean
schedule:
description: Schedule represents the cron schedule for key rotation.
type: string
type: object
kms:
description: KeyManagementService is the main Key Management option
nullable: true
properties:
connectionDetails:
additionalProperties:
type: string
description: ConnectionDetails contains the KMS connection details (address, port etc)
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
tokenSecretName:
description: TokenSecretName is the kubernetes secret containing the KMS token
type: string
type: object
type: object
skipUpgradeChecks:
description: SkipUpgradeChecks defines if an upgrade should be forced even if one of the check fails
type: boolean
storage:
description: A spec for available storage in the cluster and how it should be used
nullable: true
properties:
config:
additionalProperties:
type: string
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
deviceFilter:
description: A regular expression to allow more fine-grained selection of devices on nodes across the cluster
type: string
devicePathFilter:
description: A regular expression to allow more fine-grained selection of devices with path names
type: string
devices:
description: List of devices to use as storage devices
items:
description: Device represents a disk to use in the cluster
properties:
config:
additionalProperties:
type: string
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
fullpath:
type: string
name:
type: string
type: object
nullable: true
type: array
x-kubernetes-preserve-unknown-fields: true
flappingRestartIntervalHours:
description: FlappingRestartIntervalHours defines the time for which the OSD pods, that failed with zero exit cod
type: integer
nodes:
items:
description: Node is a storage nodes
properties:
config:
additionalProperties:
type: string
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
deviceFilter:
description: A regular expression to allow more fine-grained selection of devices on nodes across the cluster
type: string
devicePathFilter:
description: A regular expression to allow more fine-grained selection of devices with path names
type: string
devices:
description: List of devices to use as storage devices
items:
description: Device represents a disk to use in the cluster
properties:
config:
additionalProperties:
type: string
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
fullpath:
type: string
name:
type: string
type: object
nullable: true
type: array
x-kubernetes-preserve-unknown-fields: true
name:
type: string
resources:
description: ResourceRequirements describes the compute resource requirements.
nullable: true
properties:
claims:
description: Claims lists the names of resources, defined in spec.
items:
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
properties:
name:
description: Name must match the name of one entry in pod.spec.
type: string
required:
- name
type: object
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.'
type: object
requests:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: Requests describes the minimum amount of compute resources required.
type: object
type: object
x-kubernetes-preserve-unknown-fields: true
useAllDevices:
description: Whether to consume all the storage devices found on a machine
type: boolean
volumeClaimTemplates:
description: PersistentVolumeClaims to use as storage
items:
description: PersistentVolumeClaim is a user's request for and claim to a persistent volume
properties:
apiVersion:
description: APIVersion defines the versioned schema of this representation of an object.
type: string
kind:
description: Kind is a string value representing the REST resource this object represents.
type: string
metadata:
description: 'Standard object''s metadata. More info: https://git.k8s.'
properties:
annotations:
additionalProperties:
type: string
type: object
finalizers:
items:
type: string
type: array
labels:
additionalProperties:
type: string
type: object
name:
type: string
namespace:
type: string
type: object
spec:
description: spec defines the desired characteristics of a volume requested by a pod author.
properties:
accessModes:
description: 'accessModes contains the desired access modes the volume should have. More info: https://kubernetes.'
items:
type: string
type: array
dataSource:
description: 'dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.'
properties:
apiGroup:
description: APIGroup is the group for the resource being referenced.
type: string
kind:
description: Kind is the type of resource being referenced
type: string
name:
description: Name is the name of resource being referenced
type: string
required:
- kind
- name
type: object
x-kubernetes-map-type: atomic
dataSourceRef:
description: dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volum
properties:
apiGroup:
description: APIGroup is the group for the resource being referenced.
type: string
kind:
description: Kind is the type of resource being referenced
type: string
name:
description: Name is the name of resource being referenced
type: string
namespace:
description: Namespace is the namespace of resource being referenced Note that when a namespace is specified, a g
type: string
required:
- kind
- name
type: object
resources:
description: resources represents the minimum resources the volume should have.
properties:
claims:
description: Claims lists the names of resources, defined in spec.
items:
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
properties:
name:
description: Name must match the name of one entry in pod.spec.
type: string
required:
- name
type: object
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.'
type: object
requests:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: Requests describes the minimum amount of compute resources required.
type: object
type: object
selector:
description: selector is a label query over volumes to consider for binding.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
storageClassName:
description: storageClassName is the name of the StorageClass required by the claim.
type: string
volumeMode:
description: volumeMode defines what type of volume is required by the claim.
type: string
volumeName:
description: volumeName is the binding reference to the PersistentVolume backing this claim.
type: string
type: object
status:
description: status represents the current information/status of a persistent volume claim. Read-only.
properties:
accessModes:
description: accessModes contains the actual access modes the volume backing the PVC has.
items:
type: string
type: array
allocatedResourceStatuses:
additionalProperties:
description: When a controller receives persistentvolume claim update with ClaimResourceStatus for a resource tha
type: string
description: allocatedResourceStatuses stores status of resource being resized for the given PVC.
type: object
x-kubernetes-map-type: granular
allocatedResources:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: allocatedResources tracks the resources allocated to a PVC including its capacity.
type: object
capacity:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: capacity represents the actual resources of the underlying volume.
type: object
conditions:
description: conditions is the current Condition of persistent volume claim.
items:
description: PersistentVolumeClaimCondition contains details about state of pvc
properties:
lastProbeTime:
description: lastProbeTime is the time we probed the condition.
format: date-time
type: string
lastTransitionTime:
description: lastTransitionTime is the time the condition transitioned from one status to another.
format: date-time
type: string
message:
description: message is the human-readable message indicating details about last transition.
type: string
reason:
description: 'reason is a unique, this should be a short, machine understandable string that gives the reason for '
type: string
status:
type: string
type:
description: PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type
type: string
required:
- status
- type
type: object
type: array
phase:
description: phase represents the current phase of PersistentVolumeClaim.
type: string
type: object
type: object
type: array
type: object
nullable: true
type: array
onlyApplyOSDPlacement:
type: boolean
storageClassDeviceSets:
items:
description: StorageClassDeviceSet is a storage class device set
properties:
config:
additionalProperties:
type: string
description: Provider-specific device configuration
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
count:
description: Count is the number of devices in this set
minimum: 1
type: integer
encrypted:
description: Whether to encrypt the deviceSet
type: boolean
name:
description: Name is a unique identifier for the set
type: string
placement:
description: Placement is the placement for an object
nullable: true
properties:
nodeAffinity:
description: NodeAffinity is a group of node affinity scheduling rules
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
items:
description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op).
properties:
preference:
description: A node selector term, associated with the corresponding weight.
properties:
matchExpressions:
description: A list of node selector requirements by node's labels.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchFields:
description: A list of node selector requirements by node's fields.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
type: object
x-kubernetes-map-type: atomic
weight:
description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
format: int32
type: integer
required:
- preference
- weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
properties:
nodeSelectorTerms:
description: Required. A list of node selector terms. The terms are ORed.
items:
description: A null or empty node selector term matches no objects. The requirements of them are ANDed.
properties:
matchExpressions:
description: A list of node selector requirements by node's labels.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchFields:
description: A list of node selector requirements by node's fields.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
type: object
x-kubernetes-map-type: atomic
type: array
required:
- nodeSelectorTerms
type: object
x-kubernetes-map-type: atomic
type: object
podAffinity:
description: PodAffinity is a group of inter pod affinity scheduling rules
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
items:
description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
properties:
podAffinityTerm:
description: Required. A pod affinity term, associated with the corresponding weight.
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
weight:
description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
format: int32
type: integer
required:
- podAffinityTerm
- weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
items:
description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
type: array
type: object
podAntiAffinity:
description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions speci
items:
description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
properties:
podAffinityTerm:
description: Required. A pod affinity term, associated with the corresponding weight.
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
weight:
description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
format: int32
type: integer
required:
- podAffinityTerm
- weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod wi
items:
description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
type: array
type: object
tolerations:
description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
items:
description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
properties:
effect:
description: Effect indicates the taint effect to match. Empty means match all taint effects.
type: string
key:
description: Key is the taint key that the toleration applies to. Empty means match all taint keys.
type: string
operator:
description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal.
type: string
tolerationSeconds:
description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, o
format: int64
type: integer
value:
description: Value is the taint value the toleration matches to.
type: string
type: object
type: array
topologySpreadConstraints:
description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
items:
description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
properties:
labelSelector:
description: LabelSelector is used to find matching pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
matchLabelKeys:
description: MatchLabelKeys is a set of pod label keys to select the pods over which spreading will be calculated
items:
type: string
type: array
x-kubernetes-list-type: atomic
maxSkew:
description: MaxSkew describes the degree to which pods may be unevenly distributed.
format: int32
type: integer
minDomains:
description: MinDomains indicates a minimum number of eligible domains.
format: int32
type: integer
nodeAffinityPolicy:
description: 'NodeAffinityPolicy indicates how we will treat Pod''s nodeAffinity/nodeSelector when calculating pod '
type: string
nodeTaintsPolicy:
description: NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew.
type: string
topologyKey:
description: TopologyKey is the key of node labels.
type: string
whenUnsatisfiable:
description: WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy the spread constraint.
type: string
required:
- maxSkew
- topologyKey
- whenUnsatisfiable
type: object
type: array
type: object
x-kubernetes-preserve-unknown-fields: true
portable:
description: Portable represents OSD portability across the hosts
type: boolean
preparePlacement:
description: Placement is the placement for an object
nullable: true
properties:
nodeAffinity:
description: NodeAffinity is a group of node affinity scheduling rules
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
items:
description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op).
properties:
preference:
description: A node selector term, associated with the corresponding weight.
properties:
matchExpressions:
description: A list of node selector requirements by node's labels.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchFields:
description: A list of node selector requirements by node's fields.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
type: object
x-kubernetes-map-type: atomic
weight:
description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
format: int32
type: integer
required:
- preference
- weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
properties:
nodeSelectorTerms:
description: Required. A list of node selector terms. The terms are ORed.
items:
description: A null or empty node selector term matches no objects. The requirements of them are ANDed.
properties:
matchExpressions:
description: A list of node selector requirements by node's labels.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchFields:
description: A list of node selector requirements by node's fields.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
type: object
x-kubernetes-map-type: atomic
type: array
required:
- nodeSelectorTerms
type: object
x-kubernetes-map-type: atomic
type: object
podAffinity:
description: PodAffinity is a group of inter pod affinity scheduling rules
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
items:
description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
properties:
podAffinityTerm:
description: Required. A pod affinity term, associated with the corresponding weight.
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
weight:
description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
format: int32
type: integer
required:
- podAffinityTerm
- weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
items:
description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
type: array
type: object
podAntiAffinity:
description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions speci
items:
description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
properties:
podAffinityTerm:
description: Required. A pod affinity term, associated with the corresponding weight.
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
weight:
description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
format: int32
type: integer
required:
- podAffinityTerm
- weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod wi
items:
description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
type: array
type: object
tolerations:
description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
items:
description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
properties:
effect:
description: Effect indicates the taint effect to match. Empty means match all taint effects.
type: string
key:
description: Key is the taint key that the toleration applies to. Empty means match all taint keys.
type: string
operator:
description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal.
type: string
tolerationSeconds:
description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, o
format: int64
type: integer
value:
description: Value is the taint value the toleration matches to.
type: string
type: object
type: array
topologySpreadConstraints:
description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
items:
description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
properties:
labelSelector:
description: LabelSelector is used to find matching pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
matchLabelKeys:
description: MatchLabelKeys is a set of pod label keys to select the pods over which spreading will be calculated
items:
type: string
type: array
x-kubernetes-list-type: atomic
maxSkew:
description: MaxSkew describes the degree to which pods may be unevenly distributed.
format: int32
type: integer
minDomains:
description: MinDomains indicates a minimum number of eligible domains.
format: int32
type: integer
nodeAffinityPolicy:
description: 'NodeAffinityPolicy indicates how we will treat Pod''s nodeAffinity/nodeSelector when calculating pod '
type: string
nodeTaintsPolicy:
description: NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew.
type: string
topologyKey:
description: TopologyKey is the key of node labels.
type: string
whenUnsatisfiable:
description: WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy the spread constraint.
type: string
required:
- maxSkew
- topologyKey
- whenUnsatisfiable
type: object
type: array
type: object
x-kubernetes-preserve-unknown-fields: true
resources:
description: ResourceRequirements describes the compute resource requirements.
nullable: true
properties:
claims:
description: Claims lists the names of resources, defined in spec.
items:
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
properties:
name:
description: Name must match the name of one entry in pod.spec.
type: string
required:
- name
type: object
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.'
type: object
requests:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: Requests describes the minimum amount of compute resources required.
type: object
type: object
x-kubernetes-preserve-unknown-fields: true
schedulerName:
description: Scheduler name for OSD pod placement
type: string
tuneDeviceClass:
description: TuneSlowDeviceClass Tune the OSD when running on a slow Device Class
type: boolean
tuneFastDeviceClass:
description: TuneFastDeviceClass Tune the OSD when running on a fast Device Class
type: boolean
volumeClaimTemplates:
description: VolumeClaimTemplates is a list of PVC templates for the underlying storage devices
items:
description: PersistentVolumeClaim is a user's request for and claim to a persistent volume
properties:
apiVersion:
description: APIVersion defines the versioned schema of this representation of an object.
type: string
kind:
description: Kind is a string value representing the REST resource this object represents.
type: string
metadata:
description: 'Standard object''s metadata. More info: https://git.k8s.'
properties:
annotations:
additionalProperties:
type: string
type: object
x-kubernetes-preserve-unknown-fields: true
finalizers:
items:
type: string
type: array
labels:
additionalProperties:
type: string
type: object
name:
type: string
namespace:
type: string
type: object
spec:
description: spec defines the desired characteristics of a volume requested by a pod author.
properties:
accessModes:
description: 'accessModes contains the desired access modes the volume should have. More info: https://kubernetes.'
items:
type: string
type: array
dataSource:
description: 'dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.'
properties:
apiGroup:
description: APIGroup is the group for the resource being referenced.
type: string
kind:
description: Kind is the type of resource being referenced
type: string
name:
description: Name is the name of resource being referenced
type: string
required:
- kind
- name
type: object
x-kubernetes-map-type: atomic
dataSourceRef:
description: dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volum
properties:
apiGroup:
description: APIGroup is the group for the resource being referenced.
type: string
kind:
description: Kind is the type of resource being referenced
type: string
name:
description: Name is the name of resource being referenced
type: string
namespace:
description: Namespace is the namespace of resource being referenced Note that when a namespace is specified, a g
type: string
required:
- kind
- name
type: object
resources:
description: resources represents the minimum resources the volume should have.
properties:
claims:
description: Claims lists the names of resources, defined in spec.
items:
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
properties:
name:
description: Name must match the name of one entry in pod.spec.
type: string
required:
- name
type: object
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.'
type: object
requests:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: Requests describes the minimum amount of compute resources required.
type: object
type: object
selector:
description: selector is a label query over volumes to consider for binding.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
storageClassName:
description: storageClassName is the name of the StorageClass required by the claim.
type: string
volumeMode:
description: volumeMode defines what type of volume is required by the claim.
type: string
volumeName:
description: volumeName is the binding reference to the PersistentVolume backing this claim.
type: string
type: object
status:
description: status represents the current information/status of a persistent volume claim. Read-only.
properties:
accessModes:
description: accessModes contains the actual access modes the volume backing the PVC has.
items:
type: string
type: array
allocatedResourceStatuses:
additionalProperties:
description: When a controller receives persistentvolume claim update with ClaimResourceStatus for a resource tha
type: string
description: allocatedResourceStatuses stores status of resource being resized for the given PVC.
type: object
x-kubernetes-map-type: granular
allocatedResources:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: allocatedResources tracks the resources allocated to a PVC including its capacity.
type: object
capacity:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: capacity represents the actual resources of the underlying volume.
type: object
conditions:
description: conditions is the current Condition of persistent volume claim.
items:
description: PersistentVolumeClaimCondition contains details about state of pvc
properties:
lastProbeTime:
description: lastProbeTime is the time we probed the condition.
format: date-time
type: string
lastTransitionTime:
description: lastTransitionTime is the time the condition transitioned from one status to another.
format: date-time
type: string
message:
description: message is the human-readable message indicating details about last transition.
type: string
reason:
description: 'reason is a unique, this should be a short, machine understandable string that gives the reason for '
type: string
status:
type: string
type:
description: PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type
type: string
required:
- status
- type
type: object
type: array
phase:
description: phase represents the current phase of PersistentVolumeClaim.
type: string
type: object
type: object
type: array
required:
- count
- name
- volumeClaimTemplates
type: object
nullable: true
type: array
store:
description: OSDStore is the backend storage type used for creating the OSDs
properties:
type:
description: Type of backend storage to be used while creating OSDs. If empty, then bluestore will be used
enum:
- bluestore
- bluestore-rdr
type: string
updateStore:
description: UpdateStore updates the backend store for existing OSDs.
pattern: ^$|^yes-really-update-store$
type: string
type: object
useAllDevices:
description: Whether to consume all the storage devices found on a machine
type: boolean
useAllNodes:
type: boolean
volumeClaimTemplates:
description: PersistentVolumeClaims to use as storage
items:
description: PersistentVolumeClaim is a user's request for and claim to a persistent volume
properties:
apiVersion:
description: APIVersion defines the versioned schema of this representation of an object.
type: string
kind:
description: Kind is a string value representing the REST resource this object represents.
type: string
metadata:
description: 'Standard object''s metadata. More info: https://git.k8s.'
properties:
annotations:
additionalProperties:
type: string
type: object
finalizers:
items:
type: string
type: array
labels:
additionalProperties:
type: string
type: object
name:
type: string
namespace:
type: string
type: object
spec:
description: spec defines the desired characteristics of a volume requested by a pod author.
properties:
accessModes:
description: 'accessModes contains the desired access modes the volume should have. More info: https://kubernetes.'
items:
type: string
type: array
dataSource:
description: 'dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.'
properties:
apiGroup:
description: APIGroup is the group for the resource being referenced.
type: string
kind:
description: Kind is the type of resource being referenced
type: string
name:
description: Name is the name of resource being referenced
type: string
required:
- kind
- name
type: object
x-kubernetes-map-type: atomic
dataSourceRef:
description: dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volum
properties:
apiGroup:
description: APIGroup is the group for the resource being referenced.
type: string
kind:
description: Kind is the type of resource being referenced
type: string
name:
description: Name is the name of resource being referenced
type: string
namespace:
description: Namespace is the namespace of resource being referenced Note that when a namespace is specified, a g
type: string
required:
- kind
- name
type: object
resources:
description: resources represents the minimum resources the volume should have.
properties:
claims:
description: Claims lists the names of resources, defined in spec.
items:
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
properties:
name:
description: Name must match the name of one entry in pod.spec.
type: string
required:
- name
type: object
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.'
type: object
requests:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: Requests describes the minimum amount of compute resources required.
type: object
type: object
selector:
description: selector is a label query over volumes to consider for binding.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
storageClassName:
description: storageClassName is the name of the StorageClass required by the claim.
type: string
volumeMode:
description: volumeMode defines what type of volume is required by the claim.
type: string
volumeName:
description: volumeName is the binding reference to the PersistentVolume backing this claim.
type: string
type: object
status:
description: status represents the current information/status of a persistent volume claim. Read-only.
properties:
accessModes:
description: accessModes contains the actual access modes the volume backing the PVC has.
items:
type: string
type: array
allocatedResourceStatuses:
additionalProperties:
description: When a controller receives persistentvolume claim update with ClaimResourceStatus for a resource tha
type: string
description: allocatedResourceStatuses stores status of resource being resized for the given PVC.
type: object
x-kubernetes-map-type: granular
allocatedResources:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: allocatedResources tracks the resources allocated to a PVC including its capacity.
type: object
capacity:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: capacity represents the actual resources of the underlying volume.
type: object
conditions:
description: conditions is the current Condition of persistent volume claim.
items:
description: PersistentVolumeClaimCondition contains details about state of pvc
properties:
lastProbeTime:
description: lastProbeTime is the time we probed the condition.
format: date-time
type: string
lastTransitionTime:
description: lastTransitionTime is the time the condition transitioned from one status to another.
format: date-time
type: string
message:
description: message is the human-readable message indicating details about last transition.
type: string
reason:
description: 'reason is a unique, this should be a short, machine understandable string that gives the reason for '
type: string
status:
type: string
type:
description: PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type
type: string
required:
- status
- type
type: object
type: array
phase:
description: phase represents the current phase of PersistentVolumeClaim.
type: string
type: object
type: object
type: array
type: object
waitTimeoutForHealthyOSDInMinutes:
description: WaitTimeoutForHealthyOSDInMinutes defines the time the operator would wait before an OSD can be stop
format: int64
type: integer
type: object
status:
description: ClusterStatus represents the status of a Ceph cluster
nullable: true
properties:
ceph:
description: CephStatus is the details health of a Ceph Cluster
properties:
capacity:
description: Capacity is the capacity information of a Ceph Cluster
properties:
bytesAvailable:
format: int64
type: integer
bytesTotal:
format: int64
type: integer
bytesUsed:
format: int64
type: integer
lastUpdated:
type: string
type: object
details:
additionalProperties:
description: CephHealthMessage represents the health message of a Ceph Cluster
properties:
message:
type: string
severity:
type: string
required:
- message
- severity
type: object
type: object
fsid:
type: string
health:
type: string
lastChanged:
type: string
lastChecked:
type: string
previousHealth:
type: string
versions:
description: CephDaemonsVersions show the current ceph version for different ceph daemons
properties:
cephfs-mirror:
additionalProperties:
type: integer
description: CephFSMirror shows CephFSMirror Ceph version
type: object
mds:
additionalProperties:
type: integer
description: Mds shows Mds Ceph version
type: object
mgr:
additionalProperties:
type: integer
description: Mgr shows Mgr Ceph version
type: object
mon:
additionalProperties:
type: integer
description: Mon shows Mon Ceph version
type: object
osd:
additionalProperties:
type: integer
description: Osd shows Osd Ceph version
type: object
overall:
additionalProperties:
type: integer
description: Overall shows overall Ceph version
type: object
rbd-mirror:
additionalProperties:
type: integer
description: RbdMirror shows RbdMirror Ceph version
type: object
rgw:
additionalProperties:
type: integer
description: Rgw shows Rgw Ceph version
type: object
type: object
type: object
conditions:
items:
description: Condition represents a status condition on any Rook-Ceph Custom Resource.
properties:
lastHeartbeatTime:
format: date-time
type: string
lastTransitionTime:
format: date-time
type: string
message:
type: string
reason:
description: ConditionReason is a reason for a condition
type: string
status:
type: string
type:
description: ConditionType represent a resource's status
type: string
type: object
type: array
message:
type: string
observedGeneration:
description: ObservedGeneration is the latest generation observed by the controller.
format: int64
type: integer
phase:
description: ConditionType represent a resource's status
type: string
state:
description: ClusterState represents the state of a Ceph Cluster
type: string
storage:
description: CephStorage represents flavors of Ceph Cluster Storage
properties:
deviceClasses:
items:
description: DeviceClasses represents device classes of a Ceph Cluster
properties:
name:
type: string
type: object
type: array
osd:
description: OSDStatus represents OSD status of the ceph Cluster
properties:
storeType:
additionalProperties:
type: integer
description: StoreType is a mapping between the OSD backend stores and number of OSDs using these stores
type: object
type: object
type: object
version:
description: ClusterVersion represents the version of a Ceph Cluster
properties:
image:
type: string
version:
type: string
type: object
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- metadata
- spec
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.11.3
creationTimestamp: null
name: cephcosidrivers.ceph.rook.io
spec:
group: ceph.rook.io
names:
kind: CephCOSIDriver
listKind: CephCOSIDriverList
plural: cephcosidrivers
shortNames:
- cephcosi
singular: cephcosidriver
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
description: CephCOSIDriver represents the CRD for the Ceph COSI Driver Deployment
properties:
apiVersion:
description: APIVersion defines the versioned schema of this representation of an object.
type: string
kind:
description: Kind is a string value representing the REST resource this object represents.
type: string
metadata:
type: object
spec:
description: Spec represents the specification of a Ceph COSI Driver
properties:
deploymentStrategy:
description: DeploymentStrategy is the strategy to use to deploy the COSI driver.
enum:
- Never
- Auto
- Always
type: string
image:
description: Image is the container image to run the Ceph COSI driver
type: string
objectProvisionerImage:
description: ObjectProvisionerImage is the container image to run the COSI driver sidecar
type: string
placement:
description: Placement is the placement strategy to use for the COSI driver
properties:
nodeAffinity:
description: NodeAffinity is a group of node affinity scheduling rules
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
items:
description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op).
properties:
preference:
description: A node selector term, associated with the corresponding weight.
properties:
matchExpressions:
description: A list of node selector requirements by node's labels.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchFields:
description: A list of node selector requirements by node's fields.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
type: object
x-kubernetes-map-type: atomic
weight:
description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
format: int32
type: integer
required:
- preference
- weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
properties:
nodeSelectorTerms:
description: Required. A list of node selector terms. The terms are ORed.
items:
description: A null or empty node selector term matches no objects. The requirements of them are ANDed.
properties:
matchExpressions:
description: A list of node selector requirements by node's labels.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchFields:
description: A list of node selector requirements by node's fields.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
type: object
x-kubernetes-map-type: atomic
type: array
required:
- nodeSelectorTerms
type: object
x-kubernetes-map-type: atomic
type: object
podAffinity:
description: PodAffinity is a group of inter pod affinity scheduling rules
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
items:
description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
properties:
podAffinityTerm:
description: Required. A pod affinity term, associated with the corresponding weight.
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
weight:
description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
format: int32
type: integer
required:
- podAffinityTerm
- weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
items:
description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
type: array
type: object
podAntiAffinity:
description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions speci
items:
description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
properties:
podAffinityTerm:
description: Required. A pod affinity term, associated with the corresponding weight.
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
weight:
description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
format: int32
type: integer
required:
- podAffinityTerm
- weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod wi
items:
description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
type: array
type: object
tolerations:
description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
items:
description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
properties:
effect:
description: Effect indicates the taint effect to match. Empty means match all taint effects.
type: string
key:
description: Key is the taint key that the toleration applies to. Empty means match all taint keys.
type: string
operator:
description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal.
type: string
tolerationSeconds:
description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, o
format: int64
type: integer
value:
description: Value is the taint value the toleration matches to.
type: string
type: object
type: array
topologySpreadConstraints:
description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
items:
description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
properties:
labelSelector:
description: LabelSelector is used to find matching pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
matchLabelKeys:
description: MatchLabelKeys is a set of pod label keys to select the pods over which spreading will be calculated
items:
type: string
type: array
x-kubernetes-list-type: atomic
maxSkew:
description: MaxSkew describes the degree to which pods may be unevenly distributed.
format: int32
type: integer
minDomains:
description: MinDomains indicates a minimum number of eligible domains.
format: int32
type: integer
nodeAffinityPolicy:
description: 'NodeAffinityPolicy indicates how we will treat Pod''s nodeAffinity/nodeSelector when calculating pod '
type: string
nodeTaintsPolicy:
description: NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew.
type: string
topologyKey:
description: TopologyKey is the key of node labels.
type: string
whenUnsatisfiable:
description: WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy the spread constraint.
type: string
required:
- maxSkew
- topologyKey
- whenUnsatisfiable
type: object
type: array
type: object
resources:
description: Resources is the resource requirements for the COSI driver
properties:
claims:
description: Claims lists the names of resources, defined in spec.
items:
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
properties:
name:
description: Name must match the name of one entry in pod.spec.
type: string
required:
- name
type: object
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.'
type: object
requests:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: Requests describes the minimum amount of compute resources required.
type: object
type: object
type: object
required:
- metadata
- spec
type: object
served: true
storage: true
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.11.3
creationTimestamp: null
name: cephfilesystemmirrors.ceph.rook.io
spec:
group: ceph.rook.io
names:
kind: CephFilesystemMirror
listKind: CephFilesystemMirrorList
plural: cephfilesystemmirrors
singular: cephfilesystemmirror
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .status.phase
name: Phase
type: string
name: v1
schema:
openAPIV3Schema:
description: CephFilesystemMirror is the Ceph Filesystem Mirror object definition
properties:
apiVersion:
description: APIVersion defines the versioned schema of this representation of an object.
type: string
kind:
description: Kind is a string value representing the REST resource this object represents.
type: string
metadata:
type: object
spec:
description: FilesystemMirroringSpec is the filesystem mirroring specification
properties:
annotations:
additionalProperties:
type: string
description: The annotations-related configuration to add/set on each Pod related object.
nullable: true
type: object
labels:
additionalProperties:
type: string
description: The labels-related configuration to add/set on each Pod related object.
nullable: true
type: object
placement:
description: The affinity to place the rgw pods (default is to place on any available node)
nullable: true
properties:
nodeAffinity:
description: NodeAffinity is a group of node affinity scheduling rules
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
items:
description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op).
properties:
preference:
description: A node selector term, associated with the corresponding weight.
properties:
matchExpressions:
description: A list of node selector requirements by node's labels.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchFields:
description: A list of node selector requirements by node's fields.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
type: object
x-kubernetes-map-type: atomic
weight:
description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
format: int32
type: integer
required:
- preference
- weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
properties:
nodeSelectorTerms:
description: Required. A list of node selector terms. The terms are ORed.
items:
description: A null or empty node selector term matches no objects. The requirements of them are ANDed.
properties:
matchExpressions:
description: A list of node selector requirements by node's labels.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchFields:
description: A list of node selector requirements by node's fields.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
type: object
x-kubernetes-map-type: atomic
type: array
required:
- nodeSelectorTerms
type: object
x-kubernetes-map-type: atomic
type: object
podAffinity:
description: PodAffinity is a group of inter pod affinity scheduling rules
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
items:
description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
properties:
podAffinityTerm:
description: Required. A pod affinity term, associated with the corresponding weight.
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
weight:
description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
format: int32
type: integer
required:
- podAffinityTerm
- weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
items:
description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
type: array
type: object
podAntiAffinity:
description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions speci
items:
description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
properties:
podAffinityTerm:
description: Required. A pod affinity term, associated with the corresponding weight.
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
weight:
description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
format: int32
type: integer
required:
- podAffinityTerm
- weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod wi
items:
description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
type: array
type: object
tolerations:
description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
items:
description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
properties:
effect:
description: Effect indicates the taint effect to match. Empty means match all taint effects.
type: string
key:
description: Key is the taint key that the toleration applies to. Empty means match all taint keys.
type: string
operator:
description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal.
type: string
tolerationSeconds:
description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, o
format: int64
type: integer
value:
description: Value is the taint value the toleration matches to.
type: string
type: object
type: array
topologySpreadConstraints:
description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
items:
description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
properties:
labelSelector:
description: LabelSelector is used to find matching pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
matchLabelKeys:
description: MatchLabelKeys is a set of pod label keys to select the pods over which spreading will be calculated
items:
type: string
type: array
x-kubernetes-list-type: atomic
maxSkew:
description: MaxSkew describes the degree to which pods may be unevenly distributed.
format: int32
type: integer
minDomains:
description: MinDomains indicates a minimum number of eligible domains.
format: int32
type: integer
nodeAffinityPolicy:
description: 'NodeAffinityPolicy indicates how we will treat Pod''s nodeAffinity/nodeSelector when calculating pod '
type: string
nodeTaintsPolicy:
description: NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew.
type: string
topologyKey:
description: TopologyKey is the key of node labels.
type: string
whenUnsatisfiable:
description: WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy the spread constraint.
type: string
required:
- maxSkew
- topologyKey
- whenUnsatisfiable
type: object
type: array
type: object
priorityClassName:
description: PriorityClassName sets priority class on the cephfs-mirror pods
type: string
resources:
description: The resource requirements for the cephfs-mirror pods
nullable: true
properties:
claims:
description: Claims lists the names of resources, defined in spec.
items:
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
properties:
name:
description: Name must match the name of one entry in pod.spec.
type: string
required:
- name
type: object
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.'
type: object
requests:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: Requests describes the minimum amount of compute resources required.
type: object
type: object
type: object
status:
description: Status represents the status of an object
properties:
conditions:
items:
description: Condition represents a status condition on any Rook-Ceph Custom Resource.
properties:
lastHeartbeatTime:
format: date-time
type: string
lastTransitionTime:
format: date-time
type: string
message:
type: string
reason:
description: ConditionReason is a reason for a condition
type: string
status:
type: string
type:
description: ConditionType represent a resource's status
type: string
type: object
type: array
observedGeneration:
description: ObservedGeneration is the latest generation observed by the controller.
format: int64
type: integer
phase:
type: string
type: object
required:
- metadata
- spec
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.11.3
creationTimestamp: null
name: cephfilesystems.ceph.rook.io
spec:
group: ceph.rook.io
names:
kind: CephFilesystem
listKind: CephFilesystemList
plural: cephfilesystems
singular: cephfilesystem
scope: Namespaced
versions:
- additionalPrinterColumns:
- description: Number of desired active MDS daemons
jsonPath: .spec.metadataServer.activeCount
name: ActiveMDS
type: string
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
- jsonPath: .status.phase
name: Phase
type: string
name: v1
schema:
openAPIV3Schema:
description: CephFilesystem represents a Ceph Filesystem
properties:
apiVersion:
description: APIVersion defines the versioned schema of this representation of an object.
type: string
kind:
description: Kind is a string value representing the REST resource this object represents.
type: string
metadata:
type: object
spec:
description: FilesystemSpec represents the spec of a file system
properties:
dataPools:
description: The data pool settings, with optional predefined pool name.
items:
description: NamedPoolSpec represents the named ceph pool spec
properties:
compressionMode:
description: 'DEPRECATED: use Parameters instead, e.g.'
enum:
- none
- passive
- aggressive
- force
- ""
nullable: true
type: string
crushRoot:
description: The root of the crush hierarchy utilized by the pool
nullable: true
type: string
deviceClass:
description: The device class the OSD should set to for use in the pool
nullable: true
type: string
enableRBDStats:
description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
type: boolean
erasureCoded:
description: The erasure code settings
properties:
algorithm:
description: The algorithm for erasure coding
type: string
codingChunks:
description: Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool
minimum: 0
type: integer
dataChunks:
description: Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool t
minimum: 0
type: integer
required:
- codingChunks
- dataChunks
type: object
failureDomain:
description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush '
type: string
mirroring:
description: The mirroring settings
properties:
enabled:
description: Enabled whether this pool is mirrored or not
type: boolean
mode:
description: 'Mode is the mirroring mode: either pool or image'
type: string
peers:
description: Peers represents the peers spec
nullable: true
properties:
secretNames:
description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
items:
type: string
type: array
type: object
snapshotSchedules:
description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
items:
description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
properties:
interval:
description: Interval represent the periodicity of the snapshot.
type: string
path:
description: Path is the path to snapshot, only valid for CephFS
type: string
startTime:
description: StartTime indicates when to start the snapshot
type: string
type: object
type: array
type: object
name:
description: Name of the pool
type: string
parameters:
additionalProperties:
type: string
description: Parameters is a list of properties to enable on a given pool
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
quotas:
description: The quota settings
nullable: true
properties:
maxBytes:
description: MaxBytes represents the quota in bytes Deprecated in favor of MaxSize
format: int64
type: integer
maxObjects:
description: MaxObjects represents the quota in objects
format: int64
type: integer
maxSize:
description: MaxSize represents the quota in bytes as a string
pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
type: string
type: object
replicated:
description: The replication settings
properties:
hybridStorage:
description: HybridStorage represents hybrid storage tier settings
nullable: true
properties:
primaryDeviceClass:
description: PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD
minLength: 1
type: string
secondaryDeviceClass:
description: SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs
minLength: 1
type: string
required:
- primaryDeviceClass
- secondaryDeviceClass
type: object
replicasPerFailureDomain:
description: ReplicasPerFailureDomain the number of replica in the specified failure domain
minimum: 1
type: integer
requireSafeReplicaSize:
description: RequireSafeReplicaSize if false allows you to set replica 1
type: boolean
size:
description: Size - Number of copies per object in a replicated storage pool, including the object itself (requir
minimum: 0
type: integer
subFailureDomain:
description: SubFailureDomain the name of the sub-failure domain
type: string
targetSizeRatio:
description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capac
type: number
required:
- size
type: object
statusCheck:
description: The mirroring statusCheck
properties:
mirror:
description: HealthCheckSpec represents the health check of an object store bucket
nullable: true
properties:
disabled:
type: boolean
interval:
description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
type: string
timeout:
type: string
type: object
type: object
x-kubernetes-preserve-unknown-fields: true
type: object
nullable: true
type: array
metadataPool:
description: The metadata pool settings
nullable: true
properties:
compressionMode:
description: 'DEPRECATED: use Parameters instead, e.g.'
enum:
- none
- passive
- aggressive
- force
- ""
nullable: true
type: string
crushRoot:
description: The root of the crush hierarchy utilized by the pool
nullable: true
type: string
deviceClass:
description: The device class the OSD should set to for use in the pool
nullable: true
type: string
enableRBDStats:
description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
type: boolean
erasureCoded:
description: The erasure code settings
properties:
algorithm:
description: The algorithm for erasure coding
type: string
codingChunks:
description: Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool
minimum: 0
type: integer
dataChunks:
description: Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool t
minimum: 0
type: integer
required:
- codingChunks
- dataChunks
type: object
failureDomain:
description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush '
type: string
mirroring:
description: The mirroring settings
properties:
enabled:
description: Enabled whether this pool is mirrored or not
type: boolean
mode:
description: 'Mode is the mirroring mode: either pool or image'
type: string
peers:
description: Peers represents the peers spec
nullable: true
properties:
secretNames:
description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
items:
type: string
type: array
type: object
snapshotSchedules:
description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
items:
description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
properties:
interval:
description: Interval represent the periodicity of the snapshot.
type: string
path:
description: Path is the path to snapshot, only valid for CephFS
type: string
startTime:
description: StartTime indicates when to start the snapshot
type: string
type: object
type: array
type: object
parameters:
additionalProperties:
type: string
description: Parameters is a list of properties to enable on a given pool
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
quotas:
description: The quota settings
nullable: true
properties:
maxBytes:
description: MaxBytes represents the quota in bytes Deprecated in favor of MaxSize
format: int64
type: integer
maxObjects:
description: MaxObjects represents the quota in objects
format: int64
type: integer
maxSize:
description: MaxSize represents the quota in bytes as a string
pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
type: string
type: object
replicated:
description: The replication settings
properties:
hybridStorage:
description: HybridStorage represents hybrid storage tier settings
nullable: true
properties:
primaryDeviceClass:
description: PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD
minLength: 1
type: string
secondaryDeviceClass:
description: SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs
minLength: 1
type: string
required:
- primaryDeviceClass
- secondaryDeviceClass
type: object
replicasPerFailureDomain:
description: ReplicasPerFailureDomain the number of replica in the specified failure domain
minimum: 1
type: integer
requireSafeReplicaSize:
description: RequireSafeReplicaSize if false allows you to set replica 1
type: boolean
size:
description: Size - Number of copies per object in a replicated storage pool, including the object itself (requir
minimum: 0
type: integer
subFailureDomain:
description: SubFailureDomain the name of the sub-failure domain
type: string
targetSizeRatio:
description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capac
type: number
required:
- size
type: object
statusCheck:
description: The mirroring statusCheck
properties:
mirror:
description: HealthCheckSpec represents the health check of an object store bucket
nullable: true
properties:
disabled:
type: boolean
interval:
description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
type: string
timeout:
type: string
type: object
type: object
x-kubernetes-preserve-unknown-fields: true
type: object
metadataServer:
description: The mds pod info
properties:
activeCount:
description: The number of metadata servers that are active.
format: int32
maximum: 50
minimum: 1
type: integer
activeStandby:
description: Whether each active MDS instance will have an active standby with a warm metadata cache for faster f
type: boolean
annotations:
additionalProperties:
type: string
description: The annotations-related configuration to add/set on each Pod related object.
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
labels:
additionalProperties:
type: string
description: The labels-related configuration to add/set on each Pod related object.
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
livenessProbe:
description: ProbeSpec is a wrapper around Probe so it can be enabled or disabled for a Ceph daemon
properties:
disabled:
description: Disabled determines whether probe is disable or not
type: boolean
probe:
description: 'Probe describes a health check to be performed against a container to determine whether it is alive '
properties:
exec:
description: Exec specifies the action to take.
properties:
command:
description: 'Command is the command line to execute inside the container, the working directory for the command '
items:
type: string
type: array
type: object
failureThreshold:
description: Minimum consecutive failures for the probe to be considered failed after having succeeded.
format: int32
type: integer
grpc:
description: GRPC specifies an action involving a GRPC port.
properties:
port:
description: Port number of the gRPC service. Number must be in the range 1 to 65535.
format: int32
type: integer
service:
description: Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.
type: string
required:
- port
type: object
httpGet:
description: HTTPGet specifies the http request to perform.
properties:
host:
description: Host name to connect to, defaults to the pod IP.
type: string
httpHeaders:
description: Custom headers to set in the request. HTTP allows repeated headers.
items:
description: HTTPHeader describes a custom header to be used in HTTP probes
properties:
name:
description: The header field name.
type: string
value:
description: The header field value
type: string
required:
- name
- value
type: object
type: array
path:
description: Path to access on the HTTP server.
type: string
port:
anyOf:
- type: integer
- type: string
description: Name or number of the port to access on the container. Number must be in the range 1 to 65535.
x-kubernetes-int-or-string: true
scheme:
description: Scheme to use for connecting to the host. Defaults to HTTP.
type: string
required:
- port
type: object
initialDelaySeconds:
description: Number of seconds after the container has started before liveness probes are initiated.
format: int32
type: integer
periodSeconds:
description: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.
format: int32
type: integer
successThreshold:
description: Minimum consecutive successes for the probe to be considered successful after having failed.
format: int32
type: integer
tcpSocket:
description: TCPSocket specifies an action involving a TCP port.
properties:
host:
description: 'Optional: Host name to connect to, defaults to the pod IP.'
type: string
port:
anyOf:
- type: integer
- type: string
description: Number or name of the port to access on the container. Number must be in the range 1 to 65535.
x-kubernetes-int-or-string: true
required:
- port
type: object
terminationGracePeriodSeconds:
description: Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
format: int64
type: integer
timeoutSeconds:
description: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1.
format: int32
type: integer
type: object
type: object
placement:
description: The affinity to place the mds pods (default is to place on all available node) with a daemonset
nullable: true
properties:
nodeAffinity:
description: NodeAffinity is a group of node affinity scheduling rules
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
items:
description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op).
properties:
preference:
description: A node selector term, associated with the corresponding weight.
properties:
matchExpressions:
description: A list of node selector requirements by node's labels.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchFields:
description: A list of node selector requirements by node's fields.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
type: object
x-kubernetes-map-type: atomic
weight:
description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
format: int32
type: integer
required:
- preference
- weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
properties:
nodeSelectorTerms:
description: Required. A list of node selector terms. The terms are ORed.
items:
description: A null or empty node selector term matches no objects. The requirements of them are ANDed.
properties:
matchExpressions:
description: A list of node selector requirements by node's labels.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchFields:
description: A list of node selector requirements by node's fields.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
type: object
x-kubernetes-map-type: atomic
type: array
required:
- nodeSelectorTerms
type: object
x-kubernetes-map-type: atomic
type: object
podAffinity:
description: PodAffinity is a group of inter pod affinity scheduling rules
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
items:
description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
properties:
podAffinityTerm:
description: Required. A pod affinity term, associated with the corresponding weight.
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
weight:
description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
format: int32
type: integer
required:
- podAffinityTerm
- weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
items:
description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
type: array
type: object
podAntiAffinity:
description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions speci
items:
description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
properties:
podAffinityTerm:
description: Required. A pod affinity term, associated with the corresponding weight.
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
weight:
description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
format: int32
type: integer
required:
- podAffinityTerm
- weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod wi
items:
description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
type: array
type: object
tolerations:
description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
items:
description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
properties:
effect:
description: Effect indicates the taint effect to match. Empty means match all taint effects.
type: string
key:
description: Key is the taint key that the toleration applies to. Empty means match all taint keys.
type: string
operator:
description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal.
type: string
tolerationSeconds:
description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, o
format: int64
type: integer
value:
description: Value is the taint value the toleration matches to.
type: string
type: object
type: array
topologySpreadConstraints:
description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
items:
description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
properties:
labelSelector:
description: LabelSelector is used to find matching pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
matchLabelKeys:
description: MatchLabelKeys is a set of pod label keys to select the pods over which spreading will be calculated
items:
type: string
type: array
x-kubernetes-list-type: atomic
maxSkew:
description: MaxSkew describes the degree to which pods may be unevenly distributed.
format: int32
type: integer
minDomains:
description: MinDomains indicates a minimum number of eligible domains.
format: int32
type: integer
nodeAffinityPolicy:
description: 'NodeAffinityPolicy indicates how we will treat Pod''s nodeAffinity/nodeSelector when calculating pod '
type: string
nodeTaintsPolicy:
description: NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew.
type: string
topologyKey:
description: TopologyKey is the key of node labels.
type: string
whenUnsatisfiable:
description: WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy the spread constraint.
type: string
required:
- maxSkew
- topologyKey
- whenUnsatisfiable
type: object
type: array
type: object
x-kubernetes-preserve-unknown-fields: true
priorityClassName:
description: PriorityClassName sets priority classes on components
type: string
resources:
description: The resource requirements for the rgw pods
nullable: true
properties:
claims:
description: Claims lists the names of resources, defined in spec.
items:
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
properties:
name:
description: Name must match the name of one entry in pod.spec.
type: string
required:
- name
type: object
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.'
type: object
requests:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: Requests describes the minimum amount of compute resources required.
type: object
type: object
x-kubernetes-preserve-unknown-fields: true
startupProbe:
description: ProbeSpec is a wrapper around Probe so it can be enabled or disabled for a Ceph daemon
properties:
disabled:
description: Disabled determines whether probe is disable or not
type: boolean
probe:
description: 'Probe describes a health check to be performed against a container to determine whether it is alive '
properties:
exec:
description: Exec specifies the action to take.
properties:
command:
description: 'Command is the command line to execute inside the container, the working directory for the command '
items:
type: string
type: array
type: object
failureThreshold:
description: Minimum consecutive failures for the probe to be considered failed after having succeeded.
format: int32
type: integer
grpc:
description: GRPC specifies an action involving a GRPC port.
properties:
port:
description: Port number of the gRPC service. Number must be in the range 1 to 65535.
format: int32
type: integer
service:
description: Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.
type: string
required:
- port
type: object
httpGet:
description: HTTPGet specifies the http request to perform.
properties:
host:
description: Host name to connect to, defaults to the pod IP.
type: string
httpHeaders:
description: Custom headers to set in the request. HTTP allows repeated headers.
items:
description: HTTPHeader describes a custom header to be used in HTTP probes
properties:
name:
description: The header field name.
type: string
value:
description: The header field value
type: string
required:
- name
- value
type: object
type: array
path:
description: Path to access on the HTTP server.
type: string
port:
anyOf:
- type: integer
- type: string
description: Name or number of the port to access on the container. Number must be in the range 1 to 65535.
x-kubernetes-int-or-string: true
scheme:
description: Scheme to use for connecting to the host. Defaults to HTTP.
type: string
required:
- port
type: object
initialDelaySeconds:
description: Number of seconds after the container has started before liveness probes are initiated.
format: int32
type: integer
periodSeconds:
description: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.
format: int32
type: integer
successThreshold:
description: Minimum consecutive successes for the probe to be considered successful after having failed.
format: int32
type: integer
tcpSocket:
description: TCPSocket specifies an action involving a TCP port.
properties:
host:
description: 'Optional: Host name to connect to, defaults to the pod IP.'
type: string
port:
anyOf:
- type: integer
- type: string
description: Number or name of the port to access on the container. Number must be in the range 1 to 65535.
x-kubernetes-int-or-string: true
required:
- port
type: object
terminationGracePeriodSeconds:
description: Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
format: int64
type: integer
timeoutSeconds:
description: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1.
format: int32
type: integer
type: object
type: object
required:
- activeCount
type: object
mirroring:
description: The mirroring settings
nullable: true
properties:
enabled:
description: Enabled whether this filesystem is mirrored or not
type: boolean
peers:
description: Peers represents the peers spec
nullable: true
properties:
secretNames:
description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
items:
type: string
type: array
type: object
snapshotRetention:
description: Retention is the retention policy for a snapshot schedule One path has exactly one retention policy.
items:
description: SnapshotScheduleRetentionSpec is a retention policy
properties:
duration:
description: Duration represents the retention duration for a snapshot
type: string
path:
description: Path is the path to snapshot
type: string
type: object
type: array
snapshotSchedules:
description: SnapshotSchedules is the scheduling of snapshot for mirrored filesystems
items:
description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
properties:
interval:
description: Interval represent the periodicity of the snapshot.
type: string
path:
description: Path is the path to snapshot, only valid for CephFS
type: string
startTime:
description: StartTime indicates when to start the snapshot
type: string
type: object
type: array
type: object
preserveFilesystemOnDelete:
description: Preserve the fs in the cluster on CephFilesystem CR deletion.
type: boolean
preservePoolsOnDelete:
description: Preserve pools on filesystem deletion
type: boolean
statusCheck:
description: The mirroring statusCheck
properties:
mirror:
description: HealthCheckSpec represents the health check of an object store bucket
nullable: true
properties:
disabled:
type: boolean
interval:
description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
type: string
timeout:
type: string
type: object
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- dataPools
- metadataPool
- metadataServer
type: object
status:
description: CephFilesystemStatus represents the status of a Ceph Filesystem
properties:
conditions:
items:
description: Condition represents a status condition on any Rook-Ceph Custom Resource.
properties:
lastHeartbeatTime:
format: date-time
type: string
lastTransitionTime:
format: date-time
type: string
message:
type: string
reason:
description: ConditionReason is a reason for a condition
type: string
status:
type: string
type:
description: ConditionType represent a resource's status
type: string
type: object
type: array
info:
additionalProperties:
type: string
description: Use only info and put mirroringStatus in it?
nullable: true
type: object
mirroringStatus:
description: MirroringStatus is the filesystem mirroring status
properties:
daemonsStatus:
description: PoolMirroringStatus is the mirroring status of a filesystem
items:
description: FilesystemMirrorInfoSpec is the filesystem mirror status of a given filesystem
properties:
daemon_id:
description: DaemonID is the cephfs-mirror name
type: integer
filesystems:
description: Filesystems is the list of filesystems managed by a given cephfs-mirror daemon
items:
description: FilesystemsSpec is spec for the mirrored filesystem
properties:
directory_count:
description: DirectoryCount is the number of directories in the filesystem
type: integer
filesystem_id:
description: FilesystemID is the filesystem identifier
type: integer
name:
description: Name is name of the filesystem
type: string
peers:
description: Peers represents the mirroring peers
items:
description: FilesystemMirrorInfoPeerSpec is the specification of a filesystem peer mirror
properties:
remote:
description: Remote are the remote cluster information
properties:
client_name:
description: ClientName is cephx name
type: string
cluster_name:
description: ClusterName is the name of the cluster
type: string
fs_name:
description: FsName is the filesystem name
type: string
type: object
stats:
description: Stats are the stat a peer mirror
properties:
failure_count:
description: FailureCount is the number of mirroring failure
type: integer
recovery_count:
description: RecoveryCount is the number of recovery attempted after failures
type: integer
type: object
uuid:
description: UUID is the peer unique identifier
type: string
type: object
type: array
type: object
type: array
type: object
nullable: true
type: array
details:
description: Details contains potential status errors
type: string
lastChanged:
description: LastChanged is the last time time the status last changed
type: string
lastChecked:
description: LastChecked is the last time time the status was checked
type: string
type: object
observedGeneration:
description: ObservedGeneration is the latest generation observed by the controller.
format: int64
type: integer
phase:
description: ConditionType represent a resource's status
type: string
snapshotScheduleStatus:
description: FilesystemSnapshotScheduleStatusSpec is the status of the snapshot schedule
properties:
details:
description: Details contains potential status errors
type: string
lastChanged:
description: LastChanged is the last time time the status last changed
type: string
lastChecked:
description: LastChecked is the last time time the status was checked
type: string
snapshotSchedules:
description: SnapshotSchedules is the list of snapshots scheduled
items:
description: FilesystemSnapshotSchedulesSpec is the list of snapshot scheduled for images in a pool
properties:
fs:
description: Fs is the name of the Ceph Filesystem
type: string
path:
description: Path is the path on the filesystem
type: string
rel_path:
type: string
retention:
description: FilesystemSnapshotScheduleStatusRetention is the retention specification for a filesystem snapshot s
properties:
active:
description: Active is whether the scheduled is active or not
type: boolean
created:
description: Created is when the snapshot schedule was created
type: string
created_count:
description: CreatedCount is total amount of snapshots
type: integer
first:
description: First is when the first snapshot schedule was taken
type: string
last:
description: Last is when the last snapshot schedule was taken
type: string
last_pruned:
description: LastPruned is when the last snapshot schedule was pruned
type: string
pruned_count:
description: PrunedCount is total amount of pruned snapshots
type: integer
start:
description: Start is when the snapshot schedule starts
type: string
type: object
schedule:
type: string
subvol:
description: Subvol is the name of the sub volume
type: string
type: object
nullable: true
type: array
type: object
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- metadata
- spec
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.11.3
creationTimestamp: null
name: cephfilesystemsubvolumegroups.ceph.rook.io
spec:
group: ceph.rook.io
names:
kind: CephFilesystemSubVolumeGroup
listKind: CephFilesystemSubVolumeGroupList
plural: cephfilesystemsubvolumegroups
singular: cephfilesystemsubvolumegroup
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .status.phase
name: Phase
type: string
name: v1
schema:
openAPIV3Schema:
description: CephFilesystemSubVolumeGroup represents a Ceph Filesystem SubVolumeGroup
properties:
apiVersion:
description: APIVersion defines the versioned schema of this representation of an object.
type: string
kind:
description: Kind is a string value representing the REST resource this object represents.
type: string
metadata:
type: object
spec:
description: Spec represents the specification of a Ceph Filesystem SubVolumeGroup
properties:
filesystemName:
description: FilesystemName is the name of Ceph Filesystem SubVolumeGroup volume name.
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.
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))
required:
- filesystemName
type: object
status:
description: Status represents the status of a CephFilesystem SubvolumeGroup
properties:
info:
additionalProperties:
type: string
nullable: true
type: object
observedGeneration:
description: ObservedGeneration is the latest generation observed by the controller.
format: int64
type: integer
phase:
description: ConditionType represent a resource's status
type: string
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- metadata
- spec
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.11.3
creationTimestamp: null
name: cephnfses.ceph.rook.io
spec:
group: ceph.rook.io
names:
kind: CephNFS
listKind: CephNFSList
plural: cephnfses
shortNames:
- nfs
singular: cephnfs
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
description: CephNFS represents a Ceph NFS
properties:
apiVersion:
description: APIVersion defines the versioned schema of this representation of an object.
type: string
kind:
description: Kind is a string value representing the REST resource this object represents.
type: string
metadata:
type: object
spec:
description: NFSGaneshaSpec represents the spec of an nfs ganesha server
properties:
rados:
description: RADOS is the Ganesha RADOS specification
nullable: true
properties:
namespace:
description: The namespace inside the Ceph pool (set by 'pool') where shared NFS-Ganesha config is stored.
type: string
pool:
description: The Ceph pool used store the shared configuration for NFS-Ganesha daemons.
type: string
type: object
security:
description: Security allows specifying security configurations for the NFS cluster
nullable: true
properties:
kerberos:
description: Kerberos configures NFS-Ganesha to secure NFS client connections with Kerberos.
nullable: true
properties:
configFiles:
description: ConfigFiles defines where the Kerberos configuration should be sourced from.
properties:
volumeSource:
description: VolumeSource accepts a pared down version of the standard Kubernetes VolumeSource for Kerberos confi
properties:
configMap:
description: configMap represents a configMap that should populate this volume
properties:
defaultMode:
description: 'defaultMode is optional: mode bits used to set permissions on created files by default.'
format: int32
type: integer
items:
description: items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be proj
items:
description: Maps a string key to a path within a volume.
properties:
key:
description: key is the key to project.
type: string
mode:
description: 'mode is Optional: mode bits used to set permissions on this file.'
format: int32
type: integer
path:
description: path is the relative path of the file to map the key to. May not be an absolute path.
type: string
required:
- key
- path
type: object
type: array
name:
description: 'Name of the referent. More info: https://kubernetes.'
type: string
optional:
description: optional specify whether the ConfigMap or its keys must be defined
type: boolean
type: object
x-kubernetes-map-type: atomic
emptyDir:
description: emptyDir represents a temporary directory that shares a pod's lifetime.
properties:
medium:
description: medium represents what type of storage medium should back this directory.
type: string
sizeLimit:
anyOf:
- type: integer
- type: string
description: sizeLimit is the total amount of local storage required for this EmptyDir volume.
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
type: object
hostPath:
description: hostPath represents a pre-existing file or directory on the host machine that is directly exposed to
properties:
path:
description: path of the directory on the host.
type: string
type:
description: 'type for HostPath Volume Defaults to "" More info: https://kubernetes.'
type: string
required:
- path
type: object
persistentVolumeClaim:
description: persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same name
properties:
claimName:
description: claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.
type: string
readOnly:
description: readOnly Will force the ReadOnly setting in VolumeMounts. Default false.
type: boolean
required:
- claimName
type: object
projected:
description: projected items for all in one resources secrets, configmaps, and downward API
properties:
defaultMode:
description: defaultMode are the mode bits used to set permissions on created files by default.
format: int32
type: integer
sources:
description: sources is the list of volume projections
items:
description: Projection that may be projected along with other supported volume types
properties:
configMap:
description: configMap information about the configMap data to project
properties:
items:
description: items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be proj
items:
description: Maps a string key to a path within a volume.
properties:
key:
description: key is the key to project.
type: string
mode:
description: 'mode is Optional: mode bits used to set permissions on this file.'
format: int32
type: integer
path:
description: path is the relative path of the file to map the key to. May not be an absolute path.
type: string
required:
- key
- path
type: object
type: array
name:
description: 'Name of the referent. More info: https://kubernetes.'
type: string
optional:
description: optional specify whether the ConfigMap or its keys must be defined
type: boolean
type: object
x-kubernetes-map-type: atomic
downwardAPI:
description: downwardAPI information about the downwardAPI data to project
properties:
items:
description: Items is a list of DownwardAPIVolume file
items:
description: DownwardAPIVolumeFile represents information to create the file containing the pod field
properties:
fieldRef:
description: 'Required: Selects a field of the pod: only annotations, labels, name and namespace are supported.'
properties:
apiVersion:
description: Version of the schema the FieldPath is written in terms of, defaults to "v1".
type: string
fieldPath:
description: Path of the field to select in the specified API version.
type: string
required:
- fieldPath
type: object
x-kubernetes-map-type: atomic
mode:
description: 'Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 07'
format: int32
type: integer
path:
description: 'Required: Path is the relative path name of the file to be created.'
type: string
resourceFieldRef:
description: 'Selects a resource of the container: only resources limits and requests (limits.cpu, limits.'
properties:
containerName:
description: 'Container name: required for volumes, optional for env vars'
type: string
divisor:
anyOf:
- type: integer
- type: string
description: Specifies the output format of the exposed resources, defaults to "1"
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
resource:
description: 'Required: resource to select'
type: string
required:
- resource
type: object
x-kubernetes-map-type: atomic
required:
- path
type: object
type: array
type: object
secret:
description: secret information about the secret data to project
properties:
items:
description: items if unspecified, each key-value pair in the Data field of the referenced Secret will be project
items:
description: Maps a string key to a path within a volume.
properties:
key:
description: key is the key to project.
type: string
mode:
description: 'mode is Optional: mode bits used to set permissions on this file.'
format: int32
type: integer
path:
description: path is the relative path of the file to map the key to. May not be an absolute path.
type: string
required:
- key
- path
type: object
type: array
name:
description: 'Name of the referent. More info: https://kubernetes.'
type: string
optional:
description: optional field specify whether the Secret or its key must be defined
type: boolean
type: object
x-kubernetes-map-type: atomic
serviceAccountToken:
description: serviceAccountToken is information about the serviceAccountToken data to project
properties:
audience:
description: audience is the intended audience of the token.
type: string
expirationSeconds:
description: expirationSeconds is the requested duration of validity of the service account token.
format: int64
type: integer
path:
description: path is the path relative to the mount point of the file to project the token into.
type: string
required:
- path
type: object
type: object
type: array
type: object
secret:
description: 'secret represents a secret that should populate this volume. More info: https://kubernetes.'
properties:
defaultMode:
description: 'defaultMode is Optional: mode bits used to set permissions on created files by default.'
format: int32
type: integer
items:
description: items If unspecified, each key-value pair in the Data field of the referenced Secret will be project
items:
description: Maps a string key to a path within a volume.
properties:
key:
description: key is the key to project.
type: string
mode:
description: 'mode is Optional: mode bits used to set permissions on this file.'
format: int32
type: integer
path:
description: path is the relative path of the file to map the key to. May not be an absolute path.
type: string
required:
- key
- path
type: object
type: array
optional:
description: optional field specify whether the Secret or its keys must be defined
type: boolean
secretName:
description: 'secretName is the name of the secret in the pod''s namespace to use. More info: https://kubernetes.'
type: string
type: object
type: object
type: object
domainName:
description: DomainName should be set to the Kerberos Realm.
type: string
keytabFile:
description: KeytabFile defines where the Kerberos keytab should be sourced from.
properties:
volumeSource:
description: VolumeSource accepts a pared down version of the standard Kubernetes VolumeSource for the Kerberos k
properties:
configMap:
description: configMap represents a configMap that should populate this volume
properties:
defaultMode:
description: 'defaultMode is optional: mode bits used to set permissions on created files by default.'
format: int32
type: integer
items:
description: items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be proj
items:
description: Maps a string key to a path within a volume.
properties:
key:
description: key is the key to project.
type: string
mode:
description: 'mode is Optional: mode bits used to set permissions on this file.'
format: int32
type: integer
path:
description: path is the relative path of the file to map the key to. May not be an absolute path.
type: string
required:
- key
- path
type: object
type: array
name:
description: 'Name of the referent. More info: https://kubernetes.'
type: string
optional:
description: optional specify whether the ConfigMap or its keys must be defined
type: boolean
type: object
x-kubernetes-map-type: atomic
emptyDir:
description: emptyDir represents a temporary directory that shares a pod's lifetime.
properties:
medium:
description: medium represents what type of storage medium should back this directory.
type: string
sizeLimit:
anyOf:
- type: integer
- type: string
description: sizeLimit is the total amount of local storage required for this EmptyDir volume.
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
type: object
hostPath:
description: hostPath represents a pre-existing file or directory on the host machine that is directly exposed to
properties:
path:
description: path of the directory on the host.
type: string
type:
description: 'type for HostPath Volume Defaults to "" More info: https://kubernetes.'
type: string
required:
- path
type: object
persistentVolumeClaim:
description: persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same name
properties:
claimName:
description: claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.
type: string
readOnly:
description: readOnly Will force the ReadOnly setting in VolumeMounts. Default false.
type: boolean
required:
- claimName
type: object
projected:
description: projected items for all in one resources secrets, configmaps, and downward API
properties:
defaultMode:
description: defaultMode are the mode bits used to set permissions on created files by default.
format: int32
type: integer
sources:
description: sources is the list of volume projections
items:
description: Projection that may be projected along with other supported volume types
properties:
configMap:
description: configMap information about the configMap data to project
properties:
items:
description: items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be proj
items:
description: Maps a string key to a path within a volume.
properties:
key:
description: key is the key to project.
type: string
mode:
description: 'mode is Optional: mode bits used to set permissions on this file.'
format: int32
type: integer
path:
description: path is the relative path of the file to map the key to. May not be an absolute path.
type: string
required:
- key
- path
type: object
type: array
name:
description: 'Name of the referent. More info: https://kubernetes.'
type: string
optional:
description: optional specify whether the ConfigMap or its keys must be defined
type: boolean
type: object
x-kubernetes-map-type: atomic
downwardAPI:
description: downwardAPI information about the downwardAPI data to project
properties:
items:
description: Items is a list of DownwardAPIVolume file
items:
description: DownwardAPIVolumeFile represents information to create the file containing the pod field
properties:
fieldRef:
description: 'Required: Selects a field of the pod: only annotations, labels, name and namespace are supported.'
properties:
apiVersion:
description: Version of the schema the FieldPath is written in terms of, defaults to "v1".
type: string
fieldPath:
description: Path of the field to select in the specified API version.
type: string
required:
- fieldPath
type: object
x-kubernetes-map-type: atomic
mode:
description: 'Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 07'
format: int32
type: integer
path:
description: 'Required: Path is the relative path name of the file to be created.'
type: string
resourceFieldRef:
description: 'Selects a resource of the container: only resources limits and requests (limits.cpu, limits.'
properties:
containerName:
description: 'Container name: required for volumes, optional for env vars'
type: string
divisor:
anyOf:
- type: integer
- type: string
description: Specifies the output format of the exposed resources, defaults to "1"
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
resource:
description: 'Required: resource to select'
type: string
required:
- resource
type: object
x-kubernetes-map-type: atomic
required:
- path
type: object
type: array
type: object
secret:
description: secret information about the secret data to project
properties:
items:
description: items if unspecified, each key-value pair in the Data field of the referenced Secret will be project
items:
description: Maps a string key to a path within a volume.
properties:
key:
description: key is the key to project.
type: string
mode:
description: 'mode is Optional: mode bits used to set permissions on this file.'
format: int32
type: integer
path:
description: path is the relative path of the file to map the key to. May not be an absolute path.
type: string
required:
- key
- path
type: object
type: array
name:
description: 'Name of the referent. More info: https://kubernetes.'
type: string
optional:
description: optional field specify whether the Secret or its key must be defined
type: boolean
type: object
x-kubernetes-map-type: atomic
serviceAccountToken:
description: serviceAccountToken is information about the serviceAccountToken data to project
properties:
audience:
description: audience is the intended audience of the token.
type: string
expirationSeconds:
description: expirationSeconds is the requested duration of validity of the service account token.
format: int64
type: integer
path:
description: path is the path relative to the mount point of the file to project the token into.
type: string
required:
- path
type: object
type: object
type: array
type: object
secret:
description: 'secret represents a secret that should populate this volume. More info: https://kubernetes.'
properties:
defaultMode:
description: 'defaultMode is Optional: mode bits used to set permissions on created files by default.'
format: int32
type: integer
items:
description: items If unspecified, each key-value pair in the Data field of the referenced Secret will be project
items:
description: Maps a string key to a path within a volume.
properties:
key:
description: key is the key to project.
type: string
mode:
description: 'mode is Optional: mode bits used to set permissions on this file.'
format: int32
type: integer
path:
description: path is the relative path of the file to map the key to. May not be an absolute path.
type: string
required:
- key
- path
type: object
type: array
optional:
description: optional field specify whether the Secret or its keys must be defined
type: boolean
secretName:
description: 'secretName is the name of the secret in the pod''s namespace to use. More info: https://kubernetes.'
type: string
type: object
type: object
type: object
principalName:
default: nfs
description: PrincipalName corresponds directly to NFS-Ganesha's NFS_KRB5:PrincipalName config.
type: string
type: object
sssd:
description: SSSD enables integration with System Security Services Daemon (SSSD).
nullable: true
properties:
sidecar:
description: Sidecar tells Rook to run SSSD in a sidecar alongside the NFS-Ganesha server in each NFS pod.
properties:
additionalFiles:
description: AdditionalFiles defines any number of additional files that should be mounted into the SSSD sidecar.
items:
description: SSSDSidecarAdditionalFile represents the source from where additional files for the the SSSD configu
properties:
subPath:
description: SubPath defines the sub-path in `/etc/sssd/rook-additional/` where the additional file(s) will be pl
minLength: 1
pattern: ^[^:]+$
type: string
volumeSource:
description: VolumeSource accepts a pared down version of the standard Kubernetes VolumeSource for the additional
properties:
configMap:
description: configMap represents a configMap that should populate this volume
properties:
defaultMode:
description: 'defaultMode is optional: mode bits used to set permissions on created files by default.'
format: int32
type: integer
items:
description: items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be proj
items:
description: Maps a string key to a path within a volume.
properties:
key:
description: key is the key to project.
type: string
mode:
description: 'mode is Optional: mode bits used to set permissions on this file.'
format: int32
type: integer
path:
description: path is the relative path of the file to map the key to. May not be an absolute path.
type: string
required:
- key
- path
type: object
type: array
name:
description: 'Name of the referent. More info: https://kubernetes.'
type: string
optional:
description: optional specify whether the ConfigMap or its keys must be defined
type: boolean
type: object
x-kubernetes-map-type: atomic
emptyDir:
description: emptyDir represents a temporary directory that shares a pod's lifetime.
properties:
medium:
description: medium represents what type of storage medium should back this directory.
type: string
sizeLimit:
anyOf:
- type: integer
- type: string
description: sizeLimit is the total amount of local storage required for this EmptyDir volume.
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
type: object
hostPath:
description: hostPath represents a pre-existing file or directory on the host machine that is directly exposed to
properties:
path:
description: path of the directory on the host.
type: string
type:
description: 'type for HostPath Volume Defaults to "" More info: https://kubernetes.'
type: string
required:
- path
type: object
persistentVolumeClaim:
description: persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same name
properties:
claimName:
description: claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.
type: string
readOnly:
description: readOnly Will force the ReadOnly setting in VolumeMounts. Default false.
type: boolean
required:
- claimName
type: object
projected:
description: projected items for all in one resources secrets, configmaps, and downward API
properties:
defaultMode:
description: defaultMode are the mode bits used to set permissions on created files by default.
format: int32
type: integer
sources:
description: sources is the list of volume projections
items:
description: Projection that may be projected along with other supported volume types
properties:
configMap:
description: configMap information about the configMap data to project
properties:
items:
description: items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be proj
items:
description: Maps a string key to a path within a volume.
properties:
key:
description: key is the key to project.
type: string
mode:
description: 'mode is Optional: mode bits used to set permissions on this file.'
format: int32
type: integer
path:
description: path is the relative path of the file to map the key to. May not be an absolute path.
type: string
required:
- key
- path
type: object
type: array
name:
description: 'Name of the referent. More info: https://kubernetes.'
type: string
optional:
description: optional specify whether the ConfigMap or its keys must be defined
type: boolean
type: object
x-kubernetes-map-type: atomic
downwardAPI:
description: downwardAPI information about the downwardAPI data to project
properties:
items:
description: Items is a list of DownwardAPIVolume file
items:
description: DownwardAPIVolumeFile represents information to create the file containing the pod field
properties:
fieldRef:
description: 'Required: Selects a field of the pod: only annotations, labels, name and namespace are supported.'
properties:
apiVersion:
description: Version of the schema the FieldPath is written in terms of, defaults to "v1".
type: string
fieldPath:
description: Path of the field to select in the specified API version.
type: string
required:
- fieldPath
type: object
x-kubernetes-map-type: atomic
mode:
description: 'Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 07'
format: int32
type: integer
path:
description: 'Required: Path is the relative path name of the file to be created.'
type: string
resourceFieldRef:
description: 'Selects a resource of the container: only resources limits and requests (limits.cpu, limits.'
properties:
containerName:
description: 'Container name: required for volumes, optional for env vars'
type: string
divisor:
anyOf:
- type: integer
- type: string
description: Specifies the output format of the exposed resources, defaults to "1"
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
resource:
description: 'Required: resource to select'
type: string
required:
- resource
type: object
x-kubernetes-map-type: atomic
required:
- path
type: object
type: array
type: object
secret:
description: secret information about the secret data to project
properties:
items:
description: items if unspecified, each key-value pair in the Data field of the referenced Secret will be project
items:
description: Maps a string key to a path within a volume.
properties:
key:
description: key is the key to project.
type: string
mode:
description: 'mode is Optional: mode bits used to set permissions on this file.'
format: int32
type: integer
path:
description: path is the relative path of the file to map the key to. May not be an absolute path.
type: string
required:
- key
- path
type: object
type: array
name:
description: 'Name of the referent. More info: https://kubernetes.'
type: string
optional:
description: optional field specify whether the Secret or its key must be defined
type: boolean
type: object
x-kubernetes-map-type: atomic
serviceAccountToken:
description: serviceAccountToken is information about the serviceAccountToken data to project
properties:
audience:
description: audience is the intended audience of the token.
type: string
expirationSeconds:
description: expirationSeconds is the requested duration of validity of the service account token.
format: int64
type: integer
path:
description: path is the path relative to the mount point of the file to project the token into.
type: string
required:
- path
type: object
type: object
type: array
type: object
secret:
description: 'secret represents a secret that should populate this volume. More info: https://kubernetes.'
properties:
defaultMode:
description: 'defaultMode is Optional: mode bits used to set permissions on created files by default.'
format: int32
type: integer
items:
description: items If unspecified, each key-value pair in the Data field of the referenced Secret will be project
items:
description: Maps a string key to a path within a volume.
properties:
key:
description: key is the key to project.
type: string
mode:
description: 'mode is Optional: mode bits used to set permissions on this file.'
format: int32
type: integer
path:
description: path is the relative path of the file to map the key to. May not be an absolute path.
type: string
required:
- key
- path
type: object
type: array
optional:
description: optional field specify whether the Secret or its keys must be defined
type: boolean
secretName:
description: 'secretName is the name of the secret in the pod''s namespace to use. More info: https://kubernetes.'
type: string
type: object
type: object
required:
- subPath
- volumeSource
type: object
type: array
debugLevel:
description: DebugLevel sets the debug level for SSSD. If unset or set to 0, Rook does nothing.
maximum: 10
minimum: 0
type: integer
image:
description: Image defines the container image that should be used for the SSSD sidecar.
minLength: 1
type: string
resources:
description: Resources allow specifying resource requests/limits on the SSSD sidecar container.
properties:
claims:
description: Claims lists the names of resources, defined in spec.
items:
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
properties:
name:
description: Name must match the name of one entry in pod.spec.
type: string
required:
- name
type: object
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.'
type: object
requests:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: Requests describes the minimum amount of compute resources required.
type: object
type: object
sssdConfigFile:
description: SSSDConfigFile defines where the SSSD configuration should be sourced from.
properties:
volumeSource:
description: VolumeSource accepts a pared down version of the standard Kubernetes VolumeSource for the SSSD confi
properties:
configMap:
description: configMap represents a configMap that should populate this volume
properties:
defaultMode:
description: 'defaultMode is optional: mode bits used to set permissions on created files by default.'
format: int32
type: integer
items:
description: items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be proj
items:
description: Maps a string key to a path within a volume.
properties:
key:
description: key is the key to project.
type: string
mode:
description: 'mode is Optional: mode bits used to set permissions on this file.'
format: int32
type: integer
path:
description: path is the relative path of the file to map the key to. May not be an absolute path.
type: string
required:
- key
- path
type: object
type: array
name:
description: 'Name of the referent. More info: https://kubernetes.'
type: string
optional:
description: optional specify whether the ConfigMap or its keys must be defined
type: boolean
type: object
x-kubernetes-map-type: atomic
emptyDir:
description: emptyDir represents a temporary directory that shares a pod's lifetime.
properties:
medium:
description: medium represents what type of storage medium should back this directory.
type: string
sizeLimit:
anyOf:
- type: integer
- type: string
description: sizeLimit is the total amount of local storage required for this EmptyDir volume.
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
type: object
hostPath:
description: hostPath represents a pre-existing file or directory on the host machine that is directly exposed to
properties:
path:
description: path of the directory on the host.
type: string
type:
description: 'type for HostPath Volume Defaults to "" More info: https://kubernetes.'
type: string
required:
- path
type: object
persistentVolumeClaim:
description: persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same name
properties:
claimName:
description: claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.
type: string
readOnly:
description: readOnly Will force the ReadOnly setting in VolumeMounts. Default false.
type: boolean
required:
- claimName
type: object
projected:
description: projected items for all in one resources secrets, configmaps, and downward API
properties:
defaultMode:
description: defaultMode are the mode bits used to set permissions on created files by default.
format: int32
type: integer
sources:
description: sources is the list of volume projections
items:
description: Projection that may be projected along with other supported volume types
properties:
configMap:
description: configMap information about the configMap data to project
properties:
items:
description: items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be proj
items:
description: Maps a string key to a path within a volume.
properties:
key:
description: key is the key to project.
type: string
mode:
description: 'mode is Optional: mode bits used to set permissions on this file.'
format: int32
type: integer
path:
description: path is the relative path of the file to map the key to. May not be an absolute path.
type: string
required:
- key
- path
type: object
type: array
name:
description: 'Name of the referent. More info: https://kubernetes.'
type: string
optional:
description: optional specify whether the ConfigMap or its keys must be defined
type: boolean
type: object
x-kubernetes-map-type: atomic
downwardAPI:
description: downwardAPI information about the downwardAPI data to project
properties:
items:
description: Items is a list of DownwardAPIVolume file
items:
description: DownwardAPIVolumeFile represents information to create the file containing the pod field
properties:
fieldRef:
description: 'Required: Selects a field of the pod: only annotations, labels, name and namespace are supported.'
properties:
apiVersion:
description: Version of the schema the FieldPath is written in terms of, defaults to "v1".
type: string
fieldPath:
description: Path of the field to select in the specified API version.
type: string
required:
- fieldPath
type: object
x-kubernetes-map-type: atomic
mode:
description: 'Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 07'
format: int32
type: integer
path:
description: 'Required: Path is the relative path name of the file to be created.'
type: string
resourceFieldRef:
description: 'Selects a resource of the container: only resources limits and requests (limits.cpu, limits.'
properties:
containerName:
description: 'Container name: required for volumes, optional for env vars'
type: string
divisor:
anyOf:
- type: integer
- type: string
description: Specifies the output format of the exposed resources, defaults to "1"
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
resource:
description: 'Required: resource to select'
type: string
required:
- resource
type: object
x-kubernetes-map-type: atomic
required:
- path
type: object
type: array
type: object
secret:
description: secret information about the secret data to project
properties:
items:
description: items if unspecified, each key-value pair in the Data field of the referenced Secret will be project
items:
description: Maps a string key to a path within a volume.
properties:
key:
description: key is the key to project.
type: string
mode:
description: 'mode is Optional: mode bits used to set permissions on this file.'
format: int32
type: integer
path:
description: path is the relative path of the file to map the key to. May not be an absolute path.
type: string
required:
- key
- path
type: object
type: array
name:
description: 'Name of the referent. More info: https://kubernetes.'
type: string
optional:
description: optional field specify whether the Secret or its key must be defined
type: boolean
type: object
x-kubernetes-map-type: atomic
serviceAccountToken:
description: serviceAccountToken is information about the serviceAccountToken data to project
properties:
audience:
description: audience is the intended audience of the token.
type: string
expirationSeconds:
description: expirationSeconds is the requested duration of validity of the service account token.
format: int64
type: integer
path:
description: path is the path relative to the mount point of the file to project the token into.
type: string
required:
- path
type: object
type: object
type: array
type: object
secret:
description: 'secret represents a secret that should populate this volume. More info: https://kubernetes.'
properties:
defaultMode:
description: 'defaultMode is Optional: mode bits used to set permissions on created files by default.'
format: int32
type: integer
items:
description: items If unspecified, each key-value pair in the Data field of the referenced Secret will be project
items:
description: Maps a string key to a path within a volume.
properties:
key:
description: key is the key to project.
type: string
mode:
description: 'mode is Optional: mode bits used to set permissions on this file.'
format: int32
type: integer
path:
description: path is the relative path of the file to map the key to. May not be an absolute path.
type: string
required:
- key
- path
type: object
type: array
optional:
description: optional field specify whether the Secret or its keys must be defined
type: boolean
secretName:
description: 'secretName is the name of the secret in the pod''s namespace to use. More info: https://kubernetes.'
type: string
type: object
type: object
type: object
required:
- image
type: object
type: object
type: object
server:
description: Server is the Ganesha Server specification
properties:
active:
description: The number of active Ganesha servers
type: integer
annotations:
additionalProperties:
type: string
description: The annotations-related configuration to add/set on each Pod related object.
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
hostNetwork:
description: Whether host networking is enabled for the Ganesha server.
nullable: true
type: boolean
labels:
additionalProperties:
type: string
description: The labels-related configuration to add/set on each Pod related object.
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
livenessProbe:
description: A liveness-probe to verify that Ganesha server has valid run-time state. If LivenessProbe.
properties:
disabled:
description: Disabled determines whether probe is disable or not
type: boolean
probe:
description: 'Probe describes a health check to be performed against a container to determine whether it is alive '
properties:
exec:
description: Exec specifies the action to take.
properties:
command:
description: 'Command is the command line to execute inside the container, the working directory for the command '
items:
type: string
type: array
type: object
failureThreshold:
description: Minimum consecutive failures for the probe to be considered failed after having succeeded.
format: int32
type: integer
grpc:
description: GRPC specifies an action involving a GRPC port.
properties:
port:
description: Port number of the gRPC service. Number must be in the range 1 to 65535.
format: int32
type: integer
service:
description: Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.
type: string
required:
- port
type: object
httpGet:
description: HTTPGet specifies the http request to perform.
properties:
host:
description: Host name to connect to, defaults to the pod IP.
type: string
httpHeaders:
description: Custom headers to set in the request. HTTP allows repeated headers.
items:
description: HTTPHeader describes a custom header to be used in HTTP probes
properties:
name:
description: The header field name.
type: string
value:
description: The header field value
type: string
required:
- name
- value
type: object
type: array
path:
description: Path to access on the HTTP server.
type: string
port:
anyOf:
- type: integer
- type: string
description: Name or number of the port to access on the container. Number must be in the range 1 to 65535.
x-kubernetes-int-or-string: true
scheme:
description: Scheme to use for connecting to the host. Defaults to HTTP.
type: string
required:
- port
type: object
initialDelaySeconds:
description: Number of seconds after the container has started before liveness probes are initiated.
format: int32
type: integer
periodSeconds:
description: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.
format: int32
type: integer
successThreshold:
description: Minimum consecutive successes for the probe to be considered successful after having failed.
format: int32
type: integer
tcpSocket:
description: TCPSocket specifies an action involving a TCP port.
properties:
host:
description: 'Optional: Host name to connect to, defaults to the pod IP.'
type: string
port:
anyOf:
- type: integer
- type: string
description: Number or name of the port to access on the container. Number must be in the range 1 to 65535.
x-kubernetes-int-or-string: true
required:
- port
type: object
terminationGracePeriodSeconds:
description: Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
format: int64
type: integer
timeoutSeconds:
description: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1.
format: int32
type: integer
type: object
type: object
logLevel:
description: LogLevel set logging level
type: string
placement:
description: The affinity to place the ganesha pods
nullable: true
properties:
nodeAffinity:
description: NodeAffinity is a group of node affinity scheduling rules
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
items:
description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op).
properties:
preference:
description: A node selector term, associated with the corresponding weight.
properties:
matchExpressions:
description: A list of node selector requirements by node's labels.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchFields:
description: A list of node selector requirements by node's fields.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
type: object
x-kubernetes-map-type: atomic
weight:
description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
format: int32
type: integer
required:
- preference
- weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
properties:
nodeSelectorTerms:
description: Required. A list of node selector terms. The terms are ORed.
items:
description: A null or empty node selector term matches no objects. The requirements of them are ANDed.
properties:
matchExpressions:
description: A list of node selector requirements by node's labels.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchFields:
description: A list of node selector requirements by node's fields.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
type: object
x-kubernetes-map-type: atomic
type: array
required:
- nodeSelectorTerms
type: object
x-kubernetes-map-type: atomic
type: object
podAffinity:
description: PodAffinity is a group of inter pod affinity scheduling rules
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
items:
description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
properties:
podAffinityTerm:
description: Required. A pod affinity term, associated with the corresponding weight.
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
weight:
description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
format: int32
type: integer
required:
- podAffinityTerm
- weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
items:
description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
type: array
type: object
podAntiAffinity:
description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions speci
items:
description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
properties:
podAffinityTerm:
description: Required. A pod affinity term, associated with the corresponding weight.
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
weight:
description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
format: int32
type: integer
required:
- podAffinityTerm
- weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod wi
items:
description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
type: array
type: object
tolerations:
description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
items:
description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
properties:
effect:
description: Effect indicates the taint effect to match. Empty means match all taint effects.
type: string
key:
description: Key is the taint key that the toleration applies to. Empty means match all taint keys.
type: string
operator:
description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal.
type: string
tolerationSeconds:
description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, o
format: int64
type: integer
value:
description: Value is the taint value the toleration matches to.
type: string
type: object
type: array
topologySpreadConstraints:
description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
items:
description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
properties:
labelSelector:
description: LabelSelector is used to find matching pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
matchLabelKeys:
description: MatchLabelKeys is a set of pod label keys to select the pods over which spreading will be calculated
items:
type: string
type: array
x-kubernetes-list-type: atomic
maxSkew:
description: MaxSkew describes the degree to which pods may be unevenly distributed.
format: int32
type: integer
minDomains:
description: MinDomains indicates a minimum number of eligible domains.
format: int32
type: integer
nodeAffinityPolicy:
description: 'NodeAffinityPolicy indicates how we will treat Pod''s nodeAffinity/nodeSelector when calculating pod '
type: string
nodeTaintsPolicy:
description: NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew.
type: string
topologyKey:
description: TopologyKey is the key of node labels.
type: string
whenUnsatisfiable:
description: WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy the spread constraint.
type: string
required:
- maxSkew
- topologyKey
- whenUnsatisfiable
type: object
type: array
type: object
x-kubernetes-preserve-unknown-fields: true
priorityClassName:
description: PriorityClassName sets the priority class on the pods
type: string
resources:
description: Resources set resource requests and limits
nullable: true
properties:
claims:
description: Claims lists the names of resources, defined in spec.
items:
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
properties:
name:
description: Name must match the name of one entry in pod.spec.
type: string
required:
- name
type: object
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.'
type: object
requests:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: Requests describes the minimum amount of compute resources required.
type: object
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- active
type: object
required:
- server
type: object
status:
description: Status represents the status of an object
properties:
conditions:
items:
description: Condition represents a status condition on any Rook-Ceph Custom Resource.
properties:
lastHeartbeatTime:
format: date-time
type: string
lastTransitionTime:
format: date-time
type: string
message:
type: string
reason:
description: ConditionReason is a reason for a condition
type: string
status:
type: string
type:
description: ConditionType represent a resource's status
type: string
type: object
type: array
observedGeneration:
description: ObservedGeneration is the latest generation observed by the controller.
format: int64
type: integer
phase:
type: string
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- metadata
- spec
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.11.3
creationTimestamp: null
name: cephobjectrealms.ceph.rook.io
spec:
group: ceph.rook.io
names:
kind: CephObjectRealm
listKind: CephObjectRealmList
plural: cephobjectrealms
singular: cephobjectrealm
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
description: CephObjectRealm represents a Ceph Object Store Gateway Realm
properties:
apiVersion:
description: APIVersion defines the versioned schema of this representation of an object.
type: string
kind:
description: Kind is a string value representing the REST resource this object represents.
type: string
metadata:
type: object
spec:
description: ObjectRealmSpec represent the spec of an ObjectRealm
nullable: true
properties:
pull:
description: PullSpec represents the pulling specification of a Ceph Object Storage Gateway Realm
properties:
endpoint:
pattern: ^https*://
type: string
type: object
type: object
status:
description: Status represents the status of an object
properties:
conditions:
items:
description: Condition represents a status condition on any Rook-Ceph Custom Resource.
properties:
lastHeartbeatTime:
format: date-time
type: string
lastTransitionTime:
format: date-time
type: string
message:
type: string
reason:
description: ConditionReason is a reason for a condition
type: string
status:
type: string
type:
description: ConditionType represent a resource's status
type: string
type: object
type: array
observedGeneration:
description: ObservedGeneration is the latest generation observed by the controller.
format: int64
type: integer
phase:
type: string
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- metadata
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.11.3
creationTimestamp: null
name: cephobjectstores.ceph.rook.io
spec:
group: ceph.rook.io
names:
kind: CephObjectStore
listKind: CephObjectStoreList
plural: cephobjectstores
singular: cephobjectstore
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .status.phase
name: Phase
type: string
name: v1
schema:
openAPIV3Schema:
description: CephObjectStore represents a Ceph Object Store Gateway
properties:
apiVersion:
description: APIVersion defines the versioned schema of this representation of an object.
type: string
kind:
description: Kind is a string value representing the REST resource this object represents.
type: string
metadata:
type: object
spec:
description: ObjectStoreSpec represent the spec of a pool
properties:
allowUsersInNamespaces:
description: The list of allowed namespaces in addition to the object store namespace where ceph object store use
items:
type: string
type: array
dataPool:
description: The data pool settings
nullable: true
properties:
compressionMode:
description: 'DEPRECATED: use Parameters instead, e.g.'
enum:
- none
- passive
- aggressive
- force
- ""
nullable: true
type: string
crushRoot:
description: The root of the crush hierarchy utilized by the pool
nullable: true
type: string
deviceClass:
description: The device class the OSD should set to for use in the pool
nullable: true
type: string
enableRBDStats:
description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
type: boolean
erasureCoded:
description: The erasure code settings
properties:
algorithm:
description: The algorithm for erasure coding
type: string
codingChunks:
description: Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool
minimum: 0
type: integer
dataChunks:
description: Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool t
minimum: 0
type: integer
required:
- codingChunks
- dataChunks
type: object
failureDomain:
description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush '
type: string
mirroring:
description: The mirroring settings
properties:
enabled:
description: Enabled whether this pool is mirrored or not
type: boolean
mode:
description: 'Mode is the mirroring mode: either pool or image'
type: string
peers:
description: Peers represents the peers spec
nullable: true
properties:
secretNames:
description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
items:
type: string
type: array
type: object
snapshotSchedules:
description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
items:
description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
properties:
interval:
description: Interval represent the periodicity of the snapshot.
type: string
path:
description: Path is the path to snapshot, only valid for CephFS
type: string
startTime:
description: StartTime indicates when to start the snapshot
type: string
type: object
type: array
type: object
parameters:
additionalProperties:
type: string
description: Parameters is a list of properties to enable on a given pool
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
quotas:
description: The quota settings
nullable: true
properties:
maxBytes:
description: MaxBytes represents the quota in bytes Deprecated in favor of MaxSize
format: int64
type: integer
maxObjects:
description: MaxObjects represents the quota in objects
format: int64
type: integer
maxSize:
description: MaxSize represents the quota in bytes as a string
pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
type: string
type: object
replicated:
description: The replication settings
properties:
hybridStorage:
description: HybridStorage represents hybrid storage tier settings
nullable: true
properties:
primaryDeviceClass:
description: PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD
minLength: 1
type: string
secondaryDeviceClass:
description: SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs
minLength: 1
type: string
required:
- primaryDeviceClass
- secondaryDeviceClass
type: object
replicasPerFailureDomain:
description: ReplicasPerFailureDomain the number of replica in the specified failure domain
minimum: 1
type: integer
requireSafeReplicaSize:
description: RequireSafeReplicaSize if false allows you to set replica 1
type: boolean
size:
description: Size - Number of copies per object in a replicated storage pool, including the object itself (requir
minimum: 0
type: integer
subFailureDomain:
description: SubFailureDomain the name of the sub-failure domain
type: string
targetSizeRatio:
description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capac
type: number
required:
- size
type: object
statusCheck:
description: The mirroring statusCheck
properties:
mirror:
description: HealthCheckSpec represents the health check of an object store bucket
nullable: true
properties:
disabled:
type: boolean
interval:
description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
type: string
timeout:
type: string
type: object
type: object
x-kubernetes-preserve-unknown-fields: true
type: object
gateway:
description: The rgw pod info
nullable: true
properties:
annotations:
additionalProperties:
type: string
description: The annotations-related configuration to add/set on each Pod related object.
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
caBundleRef:
description: The name of the secret that stores custom ca-bundle with root and intermediate certificates.
nullable: true
type: string
dashboardEnabled:
description: Whether rgw dashboard is enabled for the rgw daemon. If not set, the rgw dashboard will be enabled.
nullable: true
type: boolean
x-kubernetes-preserve-unknown-fields: true
disableMultisiteSyncTraffic:
description: DisableMultisiteSyncTraffic, when true, prevents this object store's gateways from transmitting mult
type: boolean
externalRgwEndpoints:
description: ExternalRgwEndpoints points to external RGW endpoint(s).
items:
description: EndpointAddress is a tuple that describes a single IP address or host name.
properties:
hostname:
description: The DNS-addressable Hostname of this endpoint.
type: string
ip:
description: The IP of this endpoint.
type: string
type: object
x-kubernetes-map-type: atomic
nullable: true
type: array
hostNetwork:
description: Whether host networking is enabled for the rgw daemon.
nullable: true
type: boolean
x-kubernetes-preserve-unknown-fields: true
instances:
description: The number of pods in the rgw replicaset.
format: int32
nullable: true
type: integer
labels:
additionalProperties:
type: string
description: The labels-related configuration to add/set on each Pod related object.
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
placement:
description: The affinity to place the rgw pods (default is to place on any available node)
nullable: true
properties:
nodeAffinity:
description: NodeAffinity is a group of node affinity scheduling rules
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
items:
description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op).
properties:
preference:
description: A node selector term, associated with the corresponding weight.
properties:
matchExpressions:
description: A list of node selector requirements by node's labels.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchFields:
description: A list of node selector requirements by node's fields.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
type: object
x-kubernetes-map-type: atomic
weight:
description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
format: int32
type: integer
required:
- preference
- weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
properties:
nodeSelectorTerms:
description: Required. A list of node selector terms. The terms are ORed.
items:
description: A null or empty node selector term matches no objects. The requirements of them are ANDed.
properties:
matchExpressions:
description: A list of node selector requirements by node's labels.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchFields:
description: A list of node selector requirements by node's fields.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
type: object
x-kubernetes-map-type: atomic
type: array
required:
- nodeSelectorTerms
type: object
x-kubernetes-map-type: atomic
type: object
podAffinity:
description: PodAffinity is a group of inter pod affinity scheduling rules
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
items:
description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
properties:
podAffinityTerm:
description: Required. A pod affinity term, associated with the corresponding weight.
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
weight:
description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
format: int32
type: integer
required:
- podAffinityTerm
- weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
items:
description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
type: array
type: object
podAntiAffinity:
description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions speci
items:
description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
properties:
podAffinityTerm:
description: Required. A pod affinity term, associated with the corresponding weight.
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
weight:
description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
format: int32
type: integer
required:
- podAffinityTerm
- weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod wi
items:
description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
type: array
type: object
tolerations:
description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
items:
description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
properties:
effect:
description: Effect indicates the taint effect to match. Empty means match all taint effects.
type: string
key:
description: Key is the taint key that the toleration applies to. Empty means match all taint keys.
type: string
operator:
description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal.
type: string
tolerationSeconds:
description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, o
format: int64
type: integer
value:
description: Value is the taint value the toleration matches to.
type: string
type: object
type: array
topologySpreadConstraints:
description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
items:
description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
properties:
labelSelector:
description: LabelSelector is used to find matching pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
matchLabelKeys:
description: MatchLabelKeys is a set of pod label keys to select the pods over which spreading will be calculated
items:
type: string
type: array
x-kubernetes-list-type: atomic
maxSkew:
description: MaxSkew describes the degree to which pods may be unevenly distributed.
format: int32
type: integer
minDomains:
description: MinDomains indicates a minimum number of eligible domains.
format: int32
type: integer
nodeAffinityPolicy:
description: 'NodeAffinityPolicy indicates how we will treat Pod''s nodeAffinity/nodeSelector when calculating pod '
type: string
nodeTaintsPolicy:
description: NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew.
type: string
topologyKey:
description: TopologyKey is the key of node labels.
type: string
whenUnsatisfiable:
description: WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy the spread constraint.
type: string
required:
- maxSkew
- topologyKey
- whenUnsatisfiable
type: object
type: array
type: object
x-kubernetes-preserve-unknown-fields: true
port:
description: The port the rgw service will be listening on (http)
format: int32
type: integer
priorityClassName:
description: PriorityClassName sets priority classes on the rgw pods
type: string
resources:
description: The resource requirements for the rgw pods
nullable: true
properties:
claims:
description: Claims lists the names of resources, defined in spec.
items:
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
properties:
name:
description: Name must match the name of one entry in pod.spec.
type: string
required:
- name
type: object
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.'
type: object
requests:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: Requests describes the minimum amount of compute resources required.
type: object
type: object
x-kubernetes-preserve-unknown-fields: true
securePort:
description: The port the rgw service will be listening on (https)
format: int32
maximum: 65535
minimum: 0
nullable: true
type: integer
service:
description: The configuration related to add/set on each rgw service.
nullable: true
properties:
annotations:
additionalProperties:
type: string
description: The annotations-related configuration to add/set on each rgw service. nullable optional
type: object
type: object
sslCertificateRef:
description: The name of the secret that stores the ssl certificate for secure rgw connections
nullable: true
type: string
type: object
healthCheck:
description: The RGW health probes
nullable: true
properties:
readinessProbe:
description: ProbeSpec is a wrapper around Probe so it can be enabled or disabled for a Ceph daemon
properties:
disabled:
description: Disabled determines whether probe is disable or not
type: boolean
probe:
description: 'Probe describes a health check to be performed against a container to determine whether it is alive '
properties:
exec:
description: Exec specifies the action to take.
properties:
command:
description: 'Command is the command line to execute inside the container, the working directory for the command '
items:
type: string
type: array
type: object
failureThreshold:
description: Minimum consecutive failures for the probe to be considered failed after having succeeded.
format: int32
type: integer
grpc:
description: GRPC specifies an action involving a GRPC port.
properties:
port:
description: Port number of the gRPC service. Number must be in the range 1 to 65535.
format: int32
type: integer
service:
description: Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.
type: string
required:
- port
type: object
httpGet:
description: HTTPGet specifies the http request to perform.
properties:
host:
description: Host name to connect to, defaults to the pod IP.
type: string
httpHeaders:
description: Custom headers to set in the request. HTTP allows repeated headers.
items:
description: HTTPHeader describes a custom header to be used in HTTP probes
properties:
name:
description: The header field name.
type: string
value:
description: The header field value
type: string
required:
- name
- value
type: object
type: array
path:
description: Path to access on the HTTP server.
type: string
port:
anyOf:
- type: integer
- type: string
description: Name or number of the port to access on the container. Number must be in the range 1 to 65535.
x-kubernetes-int-or-string: true
scheme:
description: Scheme to use for connecting to the host. Defaults to HTTP.
type: string
required:
- port
type: object
initialDelaySeconds:
description: Number of seconds after the container has started before liveness probes are initiated.
format: int32
type: integer
periodSeconds:
description: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.
format: int32
type: integer
successThreshold:
description: Minimum consecutive successes for the probe to be considered successful after having failed.
format: int32
type: integer
tcpSocket:
description: TCPSocket specifies an action involving a TCP port.
properties:
host:
description: 'Optional: Host name to connect to, defaults to the pod IP.'
type: string
port:
anyOf:
- type: integer
- type: string
description: Number or name of the port to access on the container. Number must be in the range 1 to 65535.
x-kubernetes-int-or-string: true
required:
- port
type: object
terminationGracePeriodSeconds:
description: Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
format: int64
type: integer
timeoutSeconds:
description: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1.
format: int32
type: integer
type: object
type: object
x-kubernetes-preserve-unknown-fields: true
startupProbe:
description: ProbeSpec is a wrapper around Probe so it can be enabled or disabled for a Ceph daemon
properties:
disabled:
description: Disabled determines whether probe is disable or not
type: boolean
probe:
description: 'Probe describes a health check to be performed against a container to determine whether it is alive '
properties:
exec:
description: Exec specifies the action to take.
properties:
command:
description: 'Command is the command line to execute inside the container, the working directory for the command '
items:
type: string
type: array
type: object
failureThreshold:
description: Minimum consecutive failures for the probe to be considered failed after having succeeded.
format: int32
type: integer
grpc:
description: GRPC specifies an action involving a GRPC port.
properties:
port:
description: Port number of the gRPC service. Number must be in the range 1 to 65535.
format: int32
type: integer
service:
description: Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.
type: string
required:
- port
type: object
httpGet:
description: HTTPGet specifies the http request to perform.
properties:
host:
description: Host name to connect to, defaults to the pod IP.
type: string
httpHeaders:
description: Custom headers to set in the request. HTTP allows repeated headers.
items:
description: HTTPHeader describes a custom header to be used in HTTP probes
properties:
name:
description: The header field name.
type: string
value:
description: The header field value
type: string
required:
- name
- value
type: object
type: array
path:
description: Path to access on the HTTP server.
type: string
port:
anyOf:
- type: integer
- type: string
description: Name or number of the port to access on the container. Number must be in the range 1 to 65535.
x-kubernetes-int-or-string: true
scheme:
description: Scheme to use for connecting to the host. Defaults to HTTP.
type: string
required:
- port
type: object
initialDelaySeconds:
description: Number of seconds after the container has started before liveness probes are initiated.
format: int32
type: integer
periodSeconds:
description: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.
format: int32
type: integer
successThreshold:
description: Minimum consecutive successes for the probe to be considered successful after having failed.
format: int32
type: integer
tcpSocket:
description: TCPSocket specifies an action involving a TCP port.
properties:
host:
description: 'Optional: Host name to connect to, defaults to the pod IP.'
type: string
port:
anyOf:
- type: integer
- type: string
description: Number or name of the port to access on the container. Number must be in the range 1 to 65535.
x-kubernetes-int-or-string: true
required:
- port
type: object
terminationGracePeriodSeconds:
description: Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
format: int64
type: integer
timeoutSeconds:
description: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1.
format: int32
type: integer
type: object
type: object
type: object
metadataPool:
description: The metadata pool settings
nullable: true
properties:
compressionMode:
description: 'DEPRECATED: use Parameters instead, e.g.'
enum:
- none
- passive
- aggressive
- force
- ""
nullable: true
type: string
crushRoot:
description: The root of the crush hierarchy utilized by the pool
nullable: true
type: string
deviceClass:
description: The device class the OSD should set to for use in the pool
nullable: true
type: string
enableRBDStats:
description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
type: boolean
erasureCoded:
description: The erasure code settings
properties:
algorithm:
description: The algorithm for erasure coding
type: string
codingChunks:
description: Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool
minimum: 0
type: integer
dataChunks:
description: Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool t
minimum: 0
type: integer
required:
- codingChunks
- dataChunks
type: object
failureDomain:
description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush '
type: string
mirroring:
description: The mirroring settings
properties:
enabled:
description: Enabled whether this pool is mirrored or not
type: boolean
mode:
description: 'Mode is the mirroring mode: either pool or image'
type: string
peers:
description: Peers represents the peers spec
nullable: true
properties:
secretNames:
description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
items:
type: string
type: array
type: object
snapshotSchedules:
description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
items:
description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
properties:
interval:
description: Interval represent the periodicity of the snapshot.
type: string
path:
description: Path is the path to snapshot, only valid for CephFS
type: string
startTime:
description: StartTime indicates when to start the snapshot
type: string
type: object
type: array
type: object
parameters:
additionalProperties:
type: string
description: Parameters is a list of properties to enable on a given pool
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
quotas:
description: The quota settings
nullable: true
properties:
maxBytes:
description: MaxBytes represents the quota in bytes Deprecated in favor of MaxSize
format: int64
type: integer
maxObjects:
description: MaxObjects represents the quota in objects
format: int64
type: integer
maxSize:
description: MaxSize represents the quota in bytes as a string
pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
type: string
type: object
replicated:
description: The replication settings
properties:
hybridStorage:
description: HybridStorage represents hybrid storage tier settings
nullable: true
properties:
primaryDeviceClass:
description: PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD
minLength: 1
type: string
secondaryDeviceClass:
description: SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs
minLength: 1
type: string
required:
- primaryDeviceClass
- secondaryDeviceClass
type: object
replicasPerFailureDomain:
description: ReplicasPerFailureDomain the number of replica in the specified failure domain
minimum: 1
type: integer
requireSafeReplicaSize:
description: RequireSafeReplicaSize if false allows you to set replica 1
type: boolean
size:
description: Size - Number of copies per object in a replicated storage pool, including the object itself (requir
minimum: 0
type: integer
subFailureDomain:
description: SubFailureDomain the name of the sub-failure domain
type: string
targetSizeRatio:
description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capac
type: number
required:
- size
type: object
statusCheck:
description: The mirroring statusCheck
properties:
mirror:
description: HealthCheckSpec represents the health check of an object store bucket
nullable: true
properties:
disabled:
type: boolean
interval:
description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
type: string
timeout:
type: string
type: object
type: object
x-kubernetes-preserve-unknown-fields: true
type: object
preservePoolsOnDelete:
description: Preserve pools on object store deletion
type: boolean
security:
description: Security represents security settings
nullable: true
properties:
keyRotation:
description: KeyRotation defines options for Key Rotation.
nullable: true
properties:
enabled:
default: false
description: Enabled represents whether the key rotation is enabled.
type: boolean
schedule:
description: Schedule represents the cron schedule for key rotation.
type: string
type: object
kms:
description: KeyManagementService is the main Key Management option
nullable: true
properties:
connectionDetails:
additionalProperties:
type: string
description: ConnectionDetails contains the KMS connection details (address, port etc)
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
tokenSecretName:
description: TokenSecretName is the kubernetes secret containing the KMS token
type: string
type: object
s3:
description: The settings for supporting AWS-SSE:S3 with RGW
nullable: true
properties:
connectionDetails:
additionalProperties:
type: string
description: ConnectionDetails contains the KMS connection details (address, port etc)
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
tokenSecretName:
description: TokenSecretName is the kubernetes secret containing the KMS token
type: string
type: object
type: object
zone:
description: The multisite info
nullable: true
properties:
name:
description: RGW Zone the Object Store is in
type: string
required:
- name
type: object
type: object
status:
description: ObjectStoreStatus represents the status of a Ceph Object Store resource
properties:
conditions:
items:
description: Condition represents a status condition on any Rook-Ceph Custom Resource.
properties:
lastHeartbeatTime:
format: date-time
type: string
lastTransitionTime:
format: date-time
type: string
message:
type: string
reason:
description: ConditionReason is a reason for a condition
type: string
status:
type: string
type:
description: ConditionType represent a resource's status
type: string
type: object
type: array
endpoints:
properties:
insecure:
items:
type: string
nullable: true
type: array
secure:
items:
type: string
nullable: true
type: array
type: object
info:
additionalProperties:
type: string
nullable: true
type: object
message:
type: string
observedGeneration:
description: ObservedGeneration is the latest generation observed by the controller.
format: int64
type: integer
phase:
description: ConditionType represent a resource's status
type: string
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- metadata
- spec
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.11.3
creationTimestamp: null
name: cephobjectstoreusers.ceph.rook.io
spec:
group: ceph.rook.io
names:
kind: CephObjectStoreUser
listKind: CephObjectStoreUserList
plural: cephobjectstoreusers
shortNames:
- rcou
- objectuser
singular: cephobjectstoreuser
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .status.phase
name: Phase
type: string
name: v1
schema:
openAPIV3Schema:
description: CephObjectStoreUser represents a Ceph Object Store Gateway User
properties:
apiVersion:
description: APIVersion defines the versioned schema of this representation of an object.
type: string
kind:
description: Kind is a string value representing the REST resource this object represents.
type: string
metadata:
type: object
spec:
description: ObjectStoreUserSpec represent the spec of an Objectstoreuser
properties:
capabilities:
description: Additional admin-level capabilities for the Ceph object store user
nullable: true
properties:
amz-cache:
description: Add capabilities for user to send request to RGW Cache API header. Documented in https://docs.ceph.
enum:
- '*'
- read
- write
- read, write
type: string
bilog:
description: Add capabilities for user to change bucket index logging. Documented in https://docs.ceph.
enum:
- '*'
- read
- write
- read, write
type: string
bucket:
description: Admin capabilities to read/write Ceph object store buckets. Documented in https://docs.ceph.
enum:
- '*'
- read
- write
- read, write
type: string
buckets:
description: Admin capabilities to read/write Ceph object store buckets. Documented in https://docs.ceph.
enum:
- '*'
- read
- write
- read, write
type: string
datalog:
description: Add capabilities for user to change data logging. Documented in https://docs.ceph.
enum:
- '*'
- read
- write
- read, write
type: string
info:
description: Admin capabilities to read/write information about the user. Documented in https://docs.ceph.
enum:
- '*'
- read
- write
- read, write
type: string
mdlog:
description: Add capabilities for user to change metadata logging. Documented in https://docs.ceph.
enum:
- '*'
- read
- write
- read, write
type: string
metadata:
description: Admin capabilities to read/write Ceph object store metadata. Documented in https://docs.ceph.
enum:
- '*'
- read
- write
- read, write
type: string
oidc-provider:
description: Add capabilities for user to change oidc provider. Documented in https://docs.ceph.
enum:
- '*'
- read
- write
- read, write
type: string
ratelimit:
description: Add capabilities for user to set rate limiter for user and bucket. Documented in https://docs.ceph.
enum:
- '*'
- read
- write
- read, write
type: string
roles:
description: Admin capabilities to read/write roles for user. Documented in https://docs.ceph.
enum:
- '*'
- read
- write
- read, write
type: string
usage:
description: Admin capabilities to read/write Ceph object store usage. Documented in https://docs.ceph.
enum:
- '*'
- read
- write
- read, write
type: string
user:
description: Admin capabilities to read/write Ceph object store users. Documented in https://docs.ceph.
enum:
- '*'
- read
- write
- read, write
type: string
user-policy:
description: Add capabilities for user to change user policies. Documented in https://docs.ceph.
enum:
- '*'
- read
- write
- read, write
type: string
users:
description: Admin capabilities to read/write Ceph object store users. Documented in https://docs.ceph.
enum:
- '*'
- read
- write
- read, write
type: string
zone:
description: Admin capabilities to read/write Ceph object store zones. Documented in https://docs.ceph.
enum:
- '*'
- read
- write
- read, write
type: string
type: object
clusterNamespace:
description: The namespace where the parent CephCluster and CephObjectStore are found
type: string
displayName:
description: The display name for the ceph users
type: string
quotas:
description: ObjectUserQuotaSpec can be used to set quotas for the object store user to limit their usage.
nullable: true
properties:
maxBuckets:
description: Maximum bucket limit for the ceph user
nullable: true
type: integer
maxObjects:
description: Maximum number of objects across all the user's buckets
format: int64
nullable: true
type: integer
maxSize:
anyOf:
- type: integer
- type: string
description: Maximum size limit of all objects across all the user's buckets See https://pkg.go.dev/k8s.
nullable: true
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
type: object
store:
description: The store the user will be created in
type: string
type: object
status:
description: ObjectStoreUserStatus represents the status Ceph Object Store Gateway User
properties:
info:
additionalProperties:
type: string
nullable: true
type: object
observedGeneration:
description: ObservedGeneration is the latest generation observed by the controller.
format: int64
type: integer
phase:
type: string
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- metadata
- spec
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.11.3
creationTimestamp: null
name: cephobjectzonegroups.ceph.rook.io
spec:
group: ceph.rook.io
names:
kind: CephObjectZoneGroup
listKind: CephObjectZoneGroupList
plural: cephobjectzonegroups
singular: cephobjectzonegroup
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .status.phase
name: Phase
type: string
name: v1
schema:
openAPIV3Schema:
description: CephObjectZoneGroup represents a Ceph Object Store Gateway Zone Group
properties:
apiVersion:
description: APIVersion defines the versioned schema of this representation of an object.
type: string
kind:
description: Kind is a string value representing the REST resource this object represents.
type: string
metadata:
type: object
spec:
description: ObjectZoneGroupSpec represent the spec of an ObjectZoneGroup
properties:
realm:
description: The display name for the ceph users
type: string
required:
- realm
type: object
status:
description: Status represents the status of an object
properties:
conditions:
items:
description: Condition represents a status condition on any Rook-Ceph Custom Resource.
properties:
lastHeartbeatTime:
format: date-time
type: string
lastTransitionTime:
format: date-time
type: string
message:
type: string
reason:
description: ConditionReason is a reason for a condition
type: string
status:
type: string
type:
description: ConditionType represent a resource's status
type: string
type: object
type: array
observedGeneration:
description: ObservedGeneration is the latest generation observed by the controller.
format: int64
type: integer
phase:
type: string
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- metadata
- spec
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.11.3
creationTimestamp: null
name: cephobjectzones.ceph.rook.io
spec:
group: ceph.rook.io
names:
kind: CephObjectZone
listKind: CephObjectZoneList
plural: cephobjectzones
singular: cephobjectzone
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .status.phase
name: Phase
type: string
name: v1
schema:
openAPIV3Schema:
description: CephObjectZone represents a Ceph Object Store Gateway Zone
properties:
apiVersion:
description: APIVersion defines the versioned schema of this representation of an object.
type: string
kind:
description: Kind is a string value representing the REST resource this object represents.
type: string
metadata:
type: object
spec:
description: ObjectZoneSpec represent the spec of an ObjectZone
properties:
customEndpoints:
description: If this zone cannot be accessed from other peer Ceph clusters via the ClusterIP Service endpoint cre
items:
type: string
nullable: true
type: array
dataPool:
description: The data pool settings
nullable: true
properties:
compressionMode:
description: 'DEPRECATED: use Parameters instead, e.g.'
enum:
- none
- passive
- aggressive
- force
- ""
nullable: true
type: string
crushRoot:
description: The root of the crush hierarchy utilized by the pool
nullable: true
type: string
deviceClass:
description: The device class the OSD should set to for use in the pool
nullable: true
type: string
enableRBDStats:
description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
type: boolean
erasureCoded:
description: The erasure code settings
properties:
algorithm:
description: The algorithm for erasure coding
type: string
codingChunks:
description: Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool
minimum: 0
type: integer
dataChunks:
description: Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool t
minimum: 0
type: integer
required:
- codingChunks
- dataChunks
type: object
failureDomain:
description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush '
type: string
mirroring:
description: The mirroring settings
properties:
enabled:
description: Enabled whether this pool is mirrored or not
type: boolean
mode:
description: 'Mode is the mirroring mode: either pool or image'
type: string
peers:
description: Peers represents the peers spec
nullable: true
properties:
secretNames:
description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
items:
type: string
type: array
type: object
snapshotSchedules:
description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
items:
description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
properties:
interval:
description: Interval represent the periodicity of the snapshot.
type: string
path:
description: Path is the path to snapshot, only valid for CephFS
type: string
startTime:
description: StartTime indicates when to start the snapshot
type: string
type: object
type: array
type: object
parameters:
additionalProperties:
type: string
description: Parameters is a list of properties to enable on a given pool
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
quotas:
description: The quota settings
nullable: true
properties:
maxBytes:
description: MaxBytes represents the quota in bytes Deprecated in favor of MaxSize
format: int64
type: integer
maxObjects:
description: MaxObjects represents the quota in objects
format: int64
type: integer
maxSize:
description: MaxSize represents the quota in bytes as a string
pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
type: string
type: object
replicated:
description: The replication settings
properties:
hybridStorage:
description: HybridStorage represents hybrid storage tier settings
nullable: true
properties:
primaryDeviceClass:
description: PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD
minLength: 1
type: string
secondaryDeviceClass:
description: SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs
minLength: 1
type: string
required:
- primaryDeviceClass
- secondaryDeviceClass
type: object
replicasPerFailureDomain:
description: ReplicasPerFailureDomain the number of replica in the specified failure domain
minimum: 1
type: integer
requireSafeReplicaSize:
description: RequireSafeReplicaSize if false allows you to set replica 1
type: boolean
size:
description: Size - Number of copies per object in a replicated storage pool, including the object itself (requir
minimum: 0
type: integer
subFailureDomain:
description: SubFailureDomain the name of the sub-failure domain
type: string
targetSizeRatio:
description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capac
type: number
required:
- size
type: object
statusCheck:
description: The mirroring statusCheck
properties:
mirror:
description: HealthCheckSpec represents the health check of an object store bucket
nullable: true
properties:
disabled:
type: boolean
interval:
description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
type: string
timeout:
type: string
type: object
type: object
x-kubernetes-preserve-unknown-fields: true
type: object
metadataPool:
description: The metadata pool settings
nullable: true
properties:
compressionMode:
description: 'DEPRECATED: use Parameters instead, e.g.'
enum:
- none
- passive
- aggressive
- force
- ""
nullable: true
type: string
crushRoot:
description: The root of the crush hierarchy utilized by the pool
nullable: true
type: string
deviceClass:
description: The device class the OSD should set to for use in the pool
nullable: true
type: string
enableRBDStats:
description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
type: boolean
erasureCoded:
description: The erasure code settings
properties:
algorithm:
description: The algorithm for erasure coding
type: string
codingChunks:
description: Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool
minimum: 0
type: integer
dataChunks:
description: Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool t
minimum: 0
type: integer
required:
- codingChunks
- dataChunks
type: object
failureDomain:
description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush '
type: string
mirroring:
description: The mirroring settings
properties:
enabled:
description: Enabled whether this pool is mirrored or not
type: boolean
mode:
description: 'Mode is the mirroring mode: either pool or image'
type: string
peers:
description: Peers represents the peers spec
nullable: true
properties:
secretNames:
description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
items:
type: string
type: array
type: object
snapshotSchedules:
description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
items:
description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
properties:
interval:
description: Interval represent the periodicity of the snapshot.
type: string
path:
description: Path is the path to snapshot, only valid for CephFS
type: string
startTime:
description: StartTime indicates when to start the snapshot
type: string
type: object
type: array
type: object
parameters:
additionalProperties:
type: string
description: Parameters is a list of properties to enable on a given pool
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
quotas:
description: The quota settings
nullable: true
properties:
maxBytes:
description: MaxBytes represents the quota in bytes Deprecated in favor of MaxSize
format: int64
type: integer
maxObjects:
description: MaxObjects represents the quota in objects
format: int64
type: integer
maxSize:
description: MaxSize represents the quota in bytes as a string
pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
type: string
type: object
replicated:
description: The replication settings
properties:
hybridStorage:
description: HybridStorage represents hybrid storage tier settings
nullable: true
properties:
primaryDeviceClass:
description: PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD
minLength: 1
type: string
secondaryDeviceClass:
description: SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs
minLength: 1
type: string
required:
- primaryDeviceClass
- secondaryDeviceClass
type: object
replicasPerFailureDomain:
description: ReplicasPerFailureDomain the number of replica in the specified failure domain
minimum: 1
type: integer
requireSafeReplicaSize:
description: RequireSafeReplicaSize if false allows you to set replica 1
type: boolean
size:
description: Size - Number of copies per object in a replicated storage pool, including the object itself (requir
minimum: 0
type: integer
subFailureDomain:
description: SubFailureDomain the name of the sub-failure domain
type: string
targetSizeRatio:
description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capac
type: number
required:
- size
type: object
statusCheck:
description: The mirroring statusCheck
properties:
mirror:
description: HealthCheckSpec represents the health check of an object store bucket
nullable: true
properties:
disabled:
type: boolean
interval:
description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
type: string
timeout:
type: string
type: object
type: object
x-kubernetes-preserve-unknown-fields: true
type: object
preservePoolsOnDelete:
default: true
description: Preserve pools on object zone deletion
type: boolean
zoneGroup:
description: The display name for the ceph users
type: string
required:
- dataPool
- metadataPool
- zoneGroup
type: object
status:
description: Status represents the status of an object
properties:
conditions:
items:
description: Condition represents a status condition on any Rook-Ceph Custom Resource.
properties:
lastHeartbeatTime:
format: date-time
type: string
lastTransitionTime:
format: date-time
type: string
message:
type: string
reason:
description: ConditionReason is a reason for a condition
type: string
status:
type: string
type:
description: ConditionType represent a resource's status
type: string
type: object
type: array
observedGeneration:
description: ObservedGeneration is the latest generation observed by the controller.
format: int64
type: integer
phase:
type: string
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- metadata
- spec
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.11.3
creationTimestamp: null
name: cephrbdmirrors.ceph.rook.io
spec:
group: ceph.rook.io
names:
kind: CephRBDMirror
listKind: CephRBDMirrorList
plural: cephrbdmirrors
singular: cephrbdmirror
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .status.phase
name: Phase
type: string
name: v1
schema:
openAPIV3Schema:
description: CephRBDMirror represents a Ceph RBD Mirror
properties:
apiVersion:
description: APIVersion defines the versioned schema of this representation of an object.
type: string
kind:
description: Kind is a string value representing the REST resource this object represents.
type: string
metadata:
type: object
spec:
description: RBDMirroringSpec represents the specification of an RBD mirror daemon
properties:
annotations:
additionalProperties:
type: string
description: The annotations-related configuration to add/set on each Pod related object.
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
count:
description: Count represents the number of rbd mirror instance to run
minimum: 1
type: integer
labels:
additionalProperties:
type: string
description: The labels-related configuration to add/set on each Pod related object.
nullable: true
type: object
x-kubernetes-preserve-unknown-fields: true
peers:
description: Peers represents the peers spec
nullable: true
properties:
secretNames:
description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
items:
type: string
type: array
type: object
placement:
description: The affinity to place the rgw pods (default is to place on any available node)
nullable: true
properties:
nodeAffinity:
description: NodeAffinity is a group of node affinity scheduling rules
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
items:
description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op).
properties:
preference:
description: A node selector term, associated with the corresponding weight.
properties:
matchExpressions:
description: A list of node selector requirements by node's labels.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchFields:
description: A list of node selector requirements by node's fields.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
type: object
x-kubernetes-map-type: atomic
weight:
description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
format: int32
type: integer
required:
- preference
- weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
properties:
nodeSelectorTerms:
description: Required. A list of node selector terms. The terms are ORed.
items:
description: A null or empty node selector term matches no objects. The requirements of them are ANDed.
properties:
matchExpressions:
description: A list of node selector requirements by node's labels.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchFields:
description: A list of node selector requirements by node's fields.
items:
description: 'A node selector requirement is a selector that contains values, a key, and an operator that relates '
properties:
key:
description: The label key that the selector applies to.
type: string
operator:
description: Represents a key's relationship to a set of values.
type: string
values:
description: An array of string values. If the operator is In or NotIn, the values array must be non-empty.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
type: object
x-kubernetes-map-type: atomic
type: array
required:
- nodeSelectorTerms
type: object
x-kubernetes-map-type: atomic
type: object
podAffinity:
description: PodAffinity is a group of inter pod affinity scheduling rules
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: 'The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified '
items:
description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
properties:
podAffinityTerm:
description: Required. A pod affinity term, associated with the corresponding weight.
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
weight:
description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
format: int32
type: integer
required:
- podAffinityTerm
- weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the affinity requirements specified by this field are not met at scheduling time, the pod will no
items:
description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
type: array
type: object
podAntiAffinity:
description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
properties:
preferredDuringSchedulingIgnoredDuringExecution:
description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions speci
items:
description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most
properties:
podAffinityTerm:
description: Required. A pod affinity term, associated with the corresponding weight.
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
weight:
description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
format: int32
type: integer
required:
- podAffinityTerm
- weight
type: object
type: array
requiredDuringSchedulingIgnoredDuringExecution:
description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod wi
items:
description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) t
properties:
labelSelector:
description: A label query over a set of resources, in this case pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaceSelector:
description: A label query over the set of namespaces that the term applies to.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
namespaces:
description: namespaces specifies a static list of namespace names that the term applies to.
items:
type: string
type: array
topologyKey:
description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching th
type: string
required:
- topologyKey
type: object
type: array
type: object
tolerations:
description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
items:
description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect
properties:
effect:
description: Effect indicates the taint effect to match. Empty means match all taint effects.
type: string
key:
description: Key is the taint key that the toleration applies to. Empty means match all taint keys.
type: string
operator:
description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal.
type: string
tolerationSeconds:
description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, o
format: int64
type: integer
value:
description: Value is the taint value the toleration matches to.
type: string
type: object
type: array
topologySpreadConstraints:
description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
items:
description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
properties:
labelSelector:
description: LabelSelector is used to find matching pods.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
items:
description: A label selector requirement is a selector that contains values, a key, and an operator that relates
properties:
key:
description: key is the label key that the selector applies to.
type: string
operator:
description: operator represents a key's relationship to a set of values.
type: string
values:
description: values is an array of string values.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs.
type: object
type: object
x-kubernetes-map-type: atomic
matchLabelKeys:
description: MatchLabelKeys is a set of pod label keys to select the pods over which spreading will be calculated
items:
type: string
type: array
x-kubernetes-list-type: atomic
maxSkew:
description: MaxSkew describes the degree to which pods may be unevenly distributed.
format: int32
type: integer
minDomains:
description: MinDomains indicates a minimum number of eligible domains.
format: int32
type: integer
nodeAffinityPolicy:
description: 'NodeAffinityPolicy indicates how we will treat Pod''s nodeAffinity/nodeSelector when calculating pod '
type: string
nodeTaintsPolicy:
description: NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew.
type: string
topologyKey:
description: TopologyKey is the key of node labels.
type: string
whenUnsatisfiable:
description: WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy the spread constraint.
type: string
required:
- maxSkew
- topologyKey
- whenUnsatisfiable
type: object
type: array
type: object
x-kubernetes-preserve-unknown-fields: true
priorityClassName:
description: PriorityClassName sets priority class on the rbd mirror pods
type: string
resources:
description: The resource requirements for the rbd mirror pods
nullable: true
properties:
claims:
description: Claims lists the names of resources, defined in spec.
items:
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
properties:
name:
description: Name must match the name of one entry in pod.spec.
type: string
required:
- name
type: object
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.'
type: object
requests:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: Requests describes the minimum amount of compute resources required.
type: object
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- count
type: object
status:
description: Status represents the status of an object
properties:
conditions:
items:
description: Condition represents a status condition on any Rook-Ceph Custom Resource.
properties:
lastHeartbeatTime:
format: date-time
type: string
lastTransitionTime:
format: date-time
type: string
message:
type: string
reason:
description: ConditionReason is a reason for a condition
type: string
status:
type: string
type:
description: ConditionType represent a resource's status
type: string
type: object
type: array
observedGeneration:
description: ObservedGeneration is the latest generation observed by the controller.
format: int64
type: integer
phase:
type: string
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- metadata
- spec
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: objectbucketclaims.objectbucket.io
spec:
group: objectbucket.io
names:
kind: ObjectBucketClaim
listKind: ObjectBucketClaimList
plural: objectbucketclaims
singular: objectbucketclaim
shortNames:
- obc
- obcs
scope: Namespaced
versions:
- name: v1alpha1
served: true
storage: true
schema:
openAPIV3Schema:
type: object
properties:
spec:
type: object
properties:
storageClassName:
type: string
bucketName:
type: string
generateBucketName:
type: string
additionalConfig:
type: object
nullable: true
x-kubernetes-preserve-unknown-fields: true
objectBucketName:
type: string
status:
type: object
x-kubernetes-preserve-unknown-fields: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: objectbuckets.objectbucket.io
spec:
group: objectbucket.io
names:
kind: ObjectBucket
listKind: ObjectBucketList
plural: objectbuckets
singular: objectbucket
shortNames:
- ob
- obs
scope: Cluster
versions:
- name: v1alpha1
served: true
storage: true
schema:
openAPIV3Schema:
type: object
properties:
spec:
type: object
properties:
storageClassName:
type: string
endpoint:
type: object
nullable: true
properties:
bucketHost:
type: string
bucketPort:
type: integer
format: int32
bucketName:
type: string
region:
type: string
subRegion:
type: string
additionalConfig:
type: object
nullable: true
x-kubernetes-preserve-unknown-fields: true
authentication:
type: object
nullable: true
items:
type: object
x-kubernetes-preserve-unknown-fields: true
additionalState:
type: object
nullable: true
x-kubernetes-preserve-unknown-fields: true
reclaimPolicy:
type: string
claimRef:
type: object
nullable: true
x-kubernetes-preserve-unknown-fields: true
status:
type: object
x-kubernetes-preserve-unknown-fields: true
subresources:
status: {}