mirror of
https://github.com/TECHNOFAB11/zfs-localpv.git
synced 2025-12-12 06:20:11 +01:00
182 lines
7.1 KiB
YAML
182 lines
7.1 KiB
YAML
|
|
|
||
|
|
---
|
||
|
|
apiVersion: apiextensions.k8s.io/v1beta1
|
||
|
|
kind: CustomResourceDefinition
|
||
|
|
metadata:
|
||
|
|
annotations:
|
||
|
|
controller-gen.kubebuilder.io/version: v0.2.8
|
||
|
|
creationTimestamp: null
|
||
|
|
name: zfsvolumes.zfs.openebs.io
|
||
|
|
spec:
|
||
|
|
additionalPrinterColumns:
|
||
|
|
- JSONPath: .spec.poolName
|
||
|
|
description: ZFS Pool where the volume is created
|
||
|
|
name: ZPool
|
||
|
|
type: string
|
||
|
|
- JSONPath: .spec.ownerNodeID
|
||
|
|
description: Node where the volume is created
|
||
|
|
name: Node
|
||
|
|
type: string
|
||
|
|
- JSONPath: .spec.capacity
|
||
|
|
description: Size of the volume
|
||
|
|
name: Size
|
||
|
|
type: string
|
||
|
|
- JSONPath: .spec.volblocksize
|
||
|
|
description: volblocksize of volume
|
||
|
|
name: volblocksize
|
||
|
|
type: string
|
||
|
|
- JSONPath: .spec.recordsize
|
||
|
|
description: recordsize of created zfs dataset
|
||
|
|
name: recordsize
|
||
|
|
type: string
|
||
|
|
- JSONPath: .spec.fsType
|
||
|
|
description: filesystem created on the volume
|
||
|
|
name: Filesystem
|
||
|
|
type: string
|
||
|
|
- JSONPath: .status.creationTime
|
||
|
|
description: Timestamp when the volume has been created.
|
||
|
|
name: CreationTime
|
||
|
|
type: date
|
||
|
|
- JSONPath: .metadata.creationTimestamp
|
||
|
|
name: Age
|
||
|
|
type: date
|
||
|
|
group: zfs.openebs.io
|
||
|
|
names:
|
||
|
|
kind: ZFSVolume
|
||
|
|
listKind: ZFSVolumeList
|
||
|
|
plural: zfsvolumes
|
||
|
|
shortNames:
|
||
|
|
- zfsvol
|
||
|
|
- zv
|
||
|
|
singular: zfsvolume
|
||
|
|
preserveUnknownFields: false
|
||
|
|
scope: Namespaced
|
||
|
|
subresources: {}
|
||
|
|
validation:
|
||
|
|
openAPIV3Schema:
|
||
|
|
description: ZFSVolume represents a ZFS based volume
|
||
|
|
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/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/api-conventions.md#types-kinds'
|
||
|
|
type: string
|
||
|
|
metadata:
|
||
|
|
type: object
|
||
|
|
spec:
|
||
|
|
description: VolumeInfo contains the volume related info for all types of
|
||
|
|
volumes in ZFSVolume
|
||
|
|
properties:
|
||
|
|
capacity:
|
||
|
|
description: Capacity of the volume
|
||
|
|
minLength: 1
|
||
|
|
type: string
|
||
|
|
compression:
|
||
|
|
description: Controls the compression algorithm used for this dataset.
|
||
|
|
Compression specifies if the it should enabled on the zvol. Setting
|
||
|
|
compression to on indicates that the current default compression algorithm
|
||
|
|
should be used. The current default compression algorithm is either
|
||
|
|
lzjb or, if the lz4_compress feature is enabled, lz4. Changing this
|
||
|
|
property affects only newly-written data.
|
||
|
|
pattern: ^(on|off|lzjb|gzip|gzip-[1-9]|zle|lz4)$
|
||
|
|
type: string
|
||
|
|
dedup:
|
||
|
|
description: Deduplication is the process for removing redundant data
|
||
|
|
at the block level, reducing the total amount of data stored. If a
|
||
|
|
file system has the dedup property enabled, duplicate data blocks
|
||
|
|
are removed synchronously. The result is that only unique data is
|
||
|
|
stored and common components are shared among files. Deduplication
|
||
|
|
can consume significant processing power (CPU) and memory as well
|
||
|
|
as generate additional disk IO. Before creating a pool with deduplication
|
||
|
|
enabled, ensure that you have planned your hardware requirements appropriately
|
||
|
|
and implemented appropriate recovery practices, such as regular backups.
|
||
|
|
As an alternative to deduplication consider using compression=lz4,
|
||
|
|
as a less resource-intensive alternative. should be enabled on the
|
||
|
|
zvol
|
||
|
|
enum:
|
||
|
|
- "on"
|
||
|
|
- "off"
|
||
|
|
type: string
|
||
|
|
encryption:
|
||
|
|
description: Enabling the encryption feature allows for the creation
|
||
|
|
of encrypted filesystems and volumes. ZFS will encrypt file and zvol
|
||
|
|
data, file attributes, ACLs, permission bits, directory listings,
|
||
|
|
FUID mappings, and userused / groupused data. ZFS will not encrypt
|
||
|
|
metadata related to the pool structure, including dataset and snapshot
|
||
|
|
names, dataset hierarchy, properties, file size, file holes, and deduplication
|
||
|
|
tables (though the deduplicated data itself is encrypted).
|
||
|
|
pattern: ^(on|off|aes-128-[c,g]cm|aes-192-[c,g]cm|aes-256-[c,g]cm)$
|
||
|
|
type: string
|
||
|
|
fsType:
|
||
|
|
description: FsType specifies filesystem type for the zfs volume/dataset
|
||
|
|
type: string
|
||
|
|
keyformat:
|
||
|
|
description: KeyFormat specifies format of the encryption key
|
||
|
|
type: string
|
||
|
|
keylocation:
|
||
|
|
description: KeyLocation is the location of key for the encryption
|
||
|
|
type: string
|
||
|
|
ownerNodeID:
|
||
|
|
minLength: 1
|
||
|
|
type: string
|
||
|
|
poolName:
|
||
|
|
description: poolName specifies the name of the pool where this volume
|
||
|
|
should be created
|
||
|
|
minLength: 1
|
||
|
|
type: string
|
||
|
|
recordsize:
|
||
|
|
description: RecordSize specifies the record size for the zfs dataset
|
||
|
|
minLength: 1
|
||
|
|
type: string
|
||
|
|
snapname:
|
||
|
|
description: SnapName specifies the name of the snapshot where this
|
||
|
|
volume should be cloned
|
||
|
|
type: string
|
||
|
|
thinProvision:
|
||
|
|
description: Thinprovision specifies if we should thin provisioned the
|
||
|
|
volume or not
|
||
|
|
enum:
|
||
|
|
- "Yes"
|
||
|
|
- "no"
|
||
|
|
type: string
|
||
|
|
volblocksize:
|
||
|
|
description: VolBlockSize specifies the block size for the zvol
|
||
|
|
minLength: 1
|
||
|
|
type: string
|
||
|
|
volumeType:
|
||
|
|
description: volumeType determines whether the volume is of type "DATASET"
|
||
|
|
or "ZVOL". if fsttype provided in the storageclass is "zfs", then
|
||
|
|
it will create a volume of type "DATASET". If "ext4", "ext3", "ext2"
|
||
|
|
or "xfs" is mentioned as fstype in the storageclass, it will create
|
||
|
|
a volume of type "ZVOL" so that it can be further formatted with the
|
||
|
|
fstype provided in the storageclass.
|
||
|
|
enum:
|
||
|
|
- ZVOL
|
||
|
|
- DATASET
|
||
|
|
type: string
|
||
|
|
required:
|
||
|
|
- capacity
|
||
|
|
- ownerNodeID
|
||
|
|
- poolName
|
||
|
|
- volumeType
|
||
|
|
type: object
|
||
|
|
required:
|
||
|
|
- spec
|
||
|
|
type: object
|
||
|
|
version: v1alpha1
|
||
|
|
versions:
|
||
|
|
- name: v1alpha1
|
||
|
|
served: true
|
||
|
|
storage: true
|
||
|
|
status:
|
||
|
|
acceptedNames:
|
||
|
|
kind: ""
|
||
|
|
plural: ""
|
||
|
|
conditions: []
|
||
|
|
storedVersions: []
|