97 lines
4.7 KiB
YAML
97 lines
4.7 KiB
YAML
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.11.3
|
|
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. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
|
type: string
|
|
kind:
|
|
description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
|
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. Typically it's the name of the CephFilesystem CR. If not coming from the CephFilesystem CR, it can be retrieved from the list of Ceph Filesystem volumes with `ceph fs volume ls`. To learn more about Ceph Filesystem abstractions see https://docs.ceph.com/en/latest/cephfs/fs-volumes/#fs-volumes-and-subvolumes
|
|
type: string
|
|
x-kubernetes-validations:
|
|
- message: filesystemName is immutable
|
|
rule: self == oldSelf
|
|
name:
|
|
description: The name of the subvolume group. If not set, the default is the name of the subvolumeGroup CR.
|
|
type: string
|
|
x-kubernetes-validations:
|
|
- message: name is immutable
|
|
rule: self == oldSelf
|
|
pinning:
|
|
description: Pinning configuration of CephFilesystemSubVolumeGroup, reference https://docs.ceph.com/en/latest/cephfs/fs-volumes/#pinning-subvolumes-and-subvolume-groups only one out of (export, distributed, random) can be set at a time
|
|
properties:
|
|
distributed:
|
|
maximum: 1
|
|
minimum: 0
|
|
nullable: true
|
|
type: integer
|
|
export:
|
|
maximum: 256
|
|
minimum: -1
|
|
nullable: true
|
|
type: integer
|
|
random:
|
|
maximum: 1
|
|
minimum: 0
|
|
nullable: true
|
|
type: number
|
|
type: object
|
|
x-kubernetes-validations:
|
|
- message: only one pinning type should be set
|
|
rule: (has(self.export) && !has(self.distributed) && !has(self.random)) || (!has(self.export) && has(self.distributed) && !has(self.random)) || (!has(self.export) && !has(self.distributed) && has(self.random)) || (!has(self.export) && !has(self.distributed) && !has(self.random))
|
|
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: {} |