kubezero/charts/kubezero-storage/charts/lvm-localpv/charts/crds/templates/lvmnode.yaml

180 lines
7.4 KiB
YAML

{{- if .Values.lvmLocalPv.enabled -}}
{{- $crdName := "lvmnodes.local.openebs.io" -}}
{{- if (include "crdIsAbsent" (list $crdName)) -}}
##############################################
########### ############
########### LVMNode CRD ############
########### ############
##############################################
# LVMNode CRD is autogenerated via `make manifests` command.
# Do the modification in the code and run the `make manifests` command
# to generate the CRD definition
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.4.0
creationTimestamp: null
name: lvmnodes.local.openebs.io
spec:
group: local.openebs.io
names:
kind: LVMNode
listKind: LVMNodeList
plural: lvmnodes
shortNames:
- lvmnode
singular: lvmnode
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: LVMNode records information about all lvm volume groups available
in a node. In general, the openebs node-agent creates the LVMNode object
& periodically synchronizing the volume groups available in the node. LVMNode
has an owner reference pointing to the corresponding node object.
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
volumeGroups:
items:
description: VolumeGroup specifies attributes of a given vg exists on
node.
properties:
allocationPolicy:
description: 'AllocationPolicy indicates the volume group allocation
policy. AllocationPolicy has the following mapping between int
and string for its value: [-1: "", 0: "normal", 1: "contiguous",
2: "cling", 3: "anywhere", 4: "inherited"]'
type: integer
free:
anyOf:
- type: integer
- type: string
description: Free specifies the available capacity of volume group.
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
lvCount:
description: LVCount denotes total number of logical volumes in
volume group.
format: int32
minimum: 0
type: integer
maxLv:
description: MaxLV denotes maximum number of logical volumes allowed
in volume group or 0 if unlimited.
format: int32
type: integer
maxPv:
description: MaxPV denotes maximum number of physical volumes allowed
in volume group or 0 if unlimited.
format: int32
type: integer
metadataCount:
description: MetadataCount denotes number of metadata areas on the
volume group.
format: int32
type: integer
metadataFree:
anyOf:
- type: integer
- type: string
description: MetadataFree specifies the available metadata area
space for the volume group
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
metadataSize:
anyOf:
- type: integer
- type: string
description: MetadataSize specifies size of smallest metadata area
for the volume group
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
metadataUsedCount:
description: MetadataUsedCount denotes number of used metadata areas
in volume group
format: int32
type: integer
missingPvCount:
description: MissingPVCount denotes number of physical volumes in
volume group which are missing.
format: int32
type: integer
name:
description: Name of the lvm volume group.
minLength: 1
type: string
permissions:
description: 'Permission indicates the volume group permission which
can be writable or read-only. Permission has the following mapping
between int and string for its value: [-1: "", 0: "writeable",
1: "read-only"]'
type: integer
pvCount:
description: PVCount denotes total number of physical volumes constituting
the volume group.
format: int32
minimum: 0
type: integer
size:
anyOf:
- type: integer
- type: string
description: Size specifies the total size of volume group.
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
snapCount:
description: SnapCount denotes number of snapshots in volume group.
format: int32
type: integer
uuid:
description: UUID denotes a unique identity of a lvm volume group.
minLength: 1
type: string
required:
- allocationPolicy
- free
- lvCount
- maxLv
- maxPv
- metadataCount
- metadataFree
- metadataSize
- metadataUsedCount
- missingPvCount
- name
- permissions
- pvCount
- size
- snapCount
- uuid
type: object
type: array
required:
- volumeGroups
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
{{- end -}}
{{- end -}}