디렉토리 구조 및 각 서비스 추가
This commit is contained in:
177
helm/openebs/charts/lvm-localpv/crds/lvmnode.yaml
Normal file
177
helm/openebs/charts/lvm-localpv/crds/lvmnode.yaml
Normal file
@@ -0,0 +1,177 @@
|
||||
|
||||
|
||||
##############################################
|
||||
########### ############
|
||||
########### 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: []
|
||||
85
helm/openebs/charts/lvm-localpv/crds/lvmsnapshot.yaml
Normal file
85
helm/openebs/charts/lvm-localpv/crds/lvmsnapshot.yaml
Normal file
@@ -0,0 +1,85 @@
|
||||
|
||||
|
||||
##############################################
|
||||
########### ############
|
||||
########### LVMSnapshot CRD ############
|
||||
########### ############
|
||||
##############################################
|
||||
|
||||
# LVMSnapshot 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: lvmsnapshots.local.openebs.io
|
||||
spec:
|
||||
group: local.openebs.io
|
||||
names:
|
||||
kind: LVMSnapshot
|
||||
listKind: LVMSnapshotList
|
||||
plural: lvmsnapshots
|
||||
singular: lvmsnapshot
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: LVMSnapshot represents an LVM Snapshot of the lvm 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/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: LVMSnapshotSpec defines LVMSnapshot spec
|
||||
properties:
|
||||
ownerNodeID:
|
||||
description: OwnerNodeID is the Node ID where the volume group is
|
||||
present which is where the snapshot has been provisioned. OwnerNodeID
|
||||
can not be edited after the snapshot has been provisioned.
|
||||
minLength: 1
|
||||
type: string
|
||||
snapSize:
|
||||
description: SnapSize specifies the space reserved for the snapshot
|
||||
type: string
|
||||
volGroup:
|
||||
description: VolGroup specifies the name of the volume group where
|
||||
the snapshot has been created.
|
||||
type: string
|
||||
required:
|
||||
- ownerNodeID
|
||||
- volGroup
|
||||
type: object
|
||||
status:
|
||||
description: SnapStatus string that reflects if the snapshot was created
|
||||
successfully
|
||||
properties:
|
||||
state:
|
||||
type: string
|
||||
type: object
|
||||
required:
|
||||
- spec
|
||||
- status
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ""
|
||||
plural: ""
|
||||
conditions: []
|
||||
storedVersions: []
|
||||
153
helm/openebs/charts/lvm-localpv/crds/lvmvolume.yaml
Normal file
153
helm/openebs/charts/lvm-localpv/crds/lvmvolume.yaml
Normal file
@@ -0,0 +1,153 @@
|
||||
|
||||
|
||||
##############################################
|
||||
########### ############
|
||||
########### LVMVolume CRD ############
|
||||
########### ############
|
||||
##############################################
|
||||
|
||||
# LVMVolume 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: lvmvolumes.local.openebs.io
|
||||
spec:
|
||||
group: local.openebs.io
|
||||
names:
|
||||
kind: LVMVolume
|
||||
listKind: LVMVolumeList
|
||||
plural: lvmvolumes
|
||||
shortNames:
|
||||
- lvmvol
|
||||
singular: lvmvolume
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- additionalPrinterColumns:
|
||||
- description: volume group where the volume is created
|
||||
jsonPath: .spec.volGroup
|
||||
name: VolGroup
|
||||
type: string
|
||||
- description: Node where the volume is created
|
||||
jsonPath: .spec.ownerNodeID
|
||||
name: Node
|
||||
type: string
|
||||
- description: Size of the volume
|
||||
jsonPath: .spec.capacity
|
||||
name: Size
|
||||
type: string
|
||||
- description: Status of the volume
|
||||
jsonPath: .status.state
|
||||
name: Status
|
||||
type: string
|
||||
- description: Age of the volume
|
||||
jsonPath: .metadata.creationTimestamp
|
||||
name: Age
|
||||
type: date
|
||||
name: v1alpha1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: LVMVolume represents a LVM 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/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: VolumeInfo defines LVM info
|
||||
properties:
|
||||
capacity:
|
||||
description: Capacity of the volume
|
||||
minLength: 1
|
||||
type: string
|
||||
ownerNodeID:
|
||||
description: OwnerNodeID is the Node ID where the volume group is
|
||||
present which is where the volume has been provisioned. OwnerNodeID
|
||||
can not be edited after the volume has been provisioned.
|
||||
minLength: 1
|
||||
type: string
|
||||
shared:
|
||||
description: Shared specifies whether the volume can be shared among
|
||||
multiple pods. If it is not set to "yes", then the LVM LocalPV Driver
|
||||
will not allow the volumes to be mounted by more than one pods.
|
||||
enum:
|
||||
- "yes"
|
||||
- "no"
|
||||
type: string
|
||||
thinProvision:
|
||||
description: ThinProvision specifies whether logical volumes can be
|
||||
thinly provisioned. If it is set to "yes", then the LVM LocalPV
|
||||
Driver will create thinProvision i.e. logical volumes that are larger
|
||||
than the available extents.
|
||||
enum:
|
||||
- "yes"
|
||||
- "no"
|
||||
type: string
|
||||
vgPattern:
|
||||
description: VgPattern specifies the regex to choose volume groups
|
||||
where volume needs to be created.
|
||||
type: string
|
||||
volGroup:
|
||||
description: VolGroup specifies the name of the volume group where
|
||||
the volume has been created.
|
||||
type: string
|
||||
required:
|
||||
- capacity
|
||||
- ownerNodeID
|
||||
- vgPattern
|
||||
- volGroup
|
||||
type: object
|
||||
status:
|
||||
description: VolStatus string that specifies the current state of the
|
||||
volume provisioning request.
|
||||
properties:
|
||||
error:
|
||||
description: Error denotes the error occurred during provisioning/expanding
|
||||
a volume. Error field should only be set when State becomes Failed.
|
||||
properties:
|
||||
code:
|
||||
description: VolumeErrorCode represents the error code to represent
|
||||
specific class of errors.
|
||||
type: string
|
||||
message:
|
||||
type: string
|
||||
type: object
|
||||
state:
|
||||
description: State specifies the current state of the volume provisioning
|
||||
request. The state "Pending" means that the volume creation request
|
||||
has not processed yet. The state "Ready" means that the volume has
|
||||
been created and it is ready for the use. "Failed" means that volume
|
||||
provisioning has been failed and will not be retried by node agent
|
||||
controller.
|
||||
enum:
|
||||
- Pending
|
||||
- Ready
|
||||
- Failed
|
||||
type: string
|
||||
type: object
|
||||
required:
|
||||
- spec
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
||||
subresources: {}
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ""
|
||||
plural: ""
|
||||
conditions: []
|
||||
storedVersions: []
|
||||
Reference in New Issue
Block a user