Files
dsk-devops-toolchains/helm/openebs/charts/cstor/crds/cstorpoolinstance.yaml
2024-01-03 17:29:11 +09:00

450 lines
21 KiB
YAML

apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.10.0
creationTimestamp: null
name: cstorpoolinstances.cstor.openebs.io
spec:
group: cstor.openebs.io
names:
kind: CStorPoolInstance
listKind: CStorPoolInstanceList
plural: cstorpoolinstances
shortNames:
- cspi
singular: cstorpoolinstance
scope: Namespaced
versions:
- additionalPrinterColumns:
- description: Host name where cstorpool instances scheduled
jsonPath: .spec.hostName
name: HostName
type: string
- description: The amount of storage space within the pool that has been physically
allocated
jsonPath: .status.capacity.used
name: Allocated
priority: 1
type: string
- description: The amount of usable free space available in the pool
jsonPath: .status.capacity.free
name: Free
type: string
- description: Total amount of usable space in pool
jsonPath: .status.capacity.total
name: Capacity
type: string
- description: Identifies the pool read only mode
jsonPath: .status.readOnly
name: ReadOnly
type: boolean
- description: Represents no.of replicas present in the pool
jsonPath: .status.provisionedReplicas
name: ProvisionedReplicas
type: integer
- description: Represents no.of healthy replicas present in the pool
jsonPath: .status.healthyReplicas
name: HealthyReplicas
type: integer
- description: Represents the type of the storage pool
jsonPath: .spec.poolConfig.dataRaidGroupType
name: Type
priority: 1
type: string
- description: Identifies the current health of the pool
jsonPath: .status.phase
name: Status
type: string
- description: Age of CStorPoolInstance
jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1
schema:
openAPIV3Schema:
description: CStorPoolInstance describes a cstor pool instance resource.
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 is the specification of the cstorpoolinstance resource.
properties:
dataRaidGroups:
description: DataRaidGroups is the raid group configuration for the
given pool.
items:
description: RaidGroup contains the details of a raid group for
the pool
properties:
blockDevices:
items:
description: CStorPoolInstanceBlockDevice contains the details
of block devices that constitutes a raid group.
properties:
blockDeviceName:
description: BlockDeviceName is the name of the block
device.
type: string
capacity:
description: Capacity is the capacity of the block device.
It is system generated
format: int64
type: integer
devLink:
description: DevLink is the dev link for block devices
type: string
required:
- blockDeviceName
type: object
type: array
required:
- blockDevices
type: object
type: array
hostName:
description: HostName is the name of kubernetes node where the pool
should be created.
type: string
nodeSelector:
additionalProperties:
type: string
description: NodeSelector is the labels that will be used to select
a node for pool provisioning. Required field
type: object
poolConfig:
description: PoolConfig is the default pool config that applies to
the pool on node.
properties:
auxResources:
description: AuxResources are the compute resources required by
the cstor-pool pod side car containers.
nullable: true
properties:
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.io/docs/concepts/configuration/manage-resources-containers/'
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. If Requests is omitted for a container,
it defaults to Limits if that is explicitly specified, otherwise
to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type: object
type: object
compression:
description: 'Compression to enable compression Optional -- defaults
to off Possible values : lz, off'
type: string
dataRaidGroupType:
description: DataRaidGroupType is the raid type.
type: string
priorityClassName:
description: PriorityClassName if specified applies to this pool
pod If left empty, DefaultPriorityClassName is applied. (See
CStorPoolClusterSpec.DefaultPriorityClassName) If both are empty,
not priority class is applied.
nullable: true
type: string
resources:
description: Resources are the compute resources required by the
cstor-pool container.
nullable: true
properties:
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.io/docs/concepts/configuration/manage-resources-containers/'
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. If Requests is omitted for a container,
it defaults to Limits if that is explicitly specified, otherwise
to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type: object
type: object
roThresholdLimit:
description: 'ROThresholdLimit is threshold(percentage base) limit
for pool read only mode. If ROThresholdLimit(%) amount of pool
storage is reached then pool will set to readonly. NOTE: 1.
If ROThresholdLimit is set to 100 then entire pool storage will
be used by default it will be set to 85%. 2. ROThresholdLimit
value will be 0 <= ROThresholdLimit <= 100.'
nullable: true
type: integer
thickProvision:
description: ThickProvision to enable thick provisioning Optional
-- defaults to false
type: boolean
tolerations:
description: Tolerations, if specified, the pool pod's tolerations.
items:
description: The pod this Toleration is attached to tolerates
any taint that matches the triple <key,value,effect> using
the matching operator <operator>.
properties:
effect:
description: Effect indicates the taint effect to match.
Empty means match all taint effects. When specified, allowed
values are NoSchedule, PreferNoSchedule and NoExecute.
type: string
key:
description: Key is the taint key that the toleration applies
to. Empty means match all taint keys. If the key is empty,
operator must be Exists; this combination means to match
all values and all keys.
type: string
operator:
description: Operator represents a key's relationship to
the value. Valid operators are Exists and Equal. Defaults
to Equal. Exists is equivalent to wildcard for value,
so that a pod can tolerate all taints of a particular
category.
type: string
tolerationSeconds:
description: TolerationSeconds represents the period of
time the toleration (which must be of effect NoExecute,
otherwise this field is ignored) tolerates the taint.
By default, it is not set, which means tolerate the taint
forever (do not evict). Zero and negative values will
be treated as 0 (evict immediately) by the system.
format: int64
type: integer
value:
description: Value is the taint value the toleration matches
to. If the operator is Exists, the value should be empty,
otherwise just a regular string.
type: string
type: object
nullable: true
type: array
writeCacheGroupType:
description: WriteCacheGroupType is the write cache raid type.
type: string
required:
- dataRaidGroupType
type: object
writeCacheRaidGroups:
description: WriteCacheRaidGroups is the write cache raid group.
items:
description: RaidGroup contains the details of a raid group for
the pool
properties:
blockDevices:
items:
description: CStorPoolInstanceBlockDevice contains the details
of block devices that constitutes a raid group.
properties:
blockDeviceName:
description: BlockDeviceName is the name of the block
device.
type: string
capacity:
description: Capacity is the capacity of the block device.
It is system generated
format: int64
type: integer
devLink:
description: DevLink is the dev link for block devices
type: string
required:
- blockDeviceName
type: object
type: array
required:
- blockDevices
type: object
nullable: true
type: array
required:
- dataRaidGroups
- nodeSelector
type: object
status:
description: Status is the possible statuses of the cstorpoolinstance
resource.
properties:
capacity:
description: Capacity describes the capacity details of a cstor pool
properties:
free:
anyOf:
- type: integer
- type: string
description: Amount of usable space in the pool after excluding
metadata and raid parity
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
total:
anyOf:
- type: integer
- type: string
description: Sum of usable capacity in all the data raidgroups
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
used:
anyOf:
- type: integer
- type: string
description: Amount of physical data (and its metadata) written
to pool after applying compression, etc..,
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
zfs:
description: ZFSCapacityAttributes contains advanced information
about pool capacity details
properties:
logicalUsed:
anyOf:
- type: integer
- type: string
description: LogicalUsed is the amount of space that is "logically"
consumed by this pool and all its descendents. The logical
space ignores the effect of the compression and copies properties,
giving a quantity closer to the amount of data that applications
see. However, it does include space consumed by metadata.
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
required:
- logicalUsed
type: object
required:
- free
- total
- used
- zfs
type: object
conditions:
description: Current state of CSPI with details.
items:
description: CSPIConditionType describes the state of a CSPI at
a certain point.
properties:
lastTransitionTime:
description: Last time the condition transitioned from one status
to another.
format: date-time
type: string
lastUpdateTime:
description: The last time this condition was updated.
format: date-time
type: string
message:
description: A human readable message indicating details about
the transition.
type: string
reason:
description: The reason for the condition's last transition.
type: string
status:
description: Status of the condition, one of True, False, Unknown.
type: string
type:
description: Type of CSPC condition.
type: string
required:
- status
- type
type: object
type: array
healthyReplicas:
description: HealthyReplicas describes the total count of healthy
Volume Replicas in the cstor pool
format: int32
type: integer
phase:
description: The phase of a CStorPool is a simple, high-level summary
of the pool state on the node.
type: string
provisionedReplicas:
description: ProvisionedReplicas describes the total count of Volume
Replicas present in the cstor pool
format: int32
type: integer
readOnly:
description: ReadOnly if pool is readOnly or not
type: boolean
required:
- healthyReplicas
- provisionedReplicas
- readOnly
type: object
versionDetails:
description: VersionDetails is the openebs version.
properties:
autoUpgrade:
description: If AutoUpgrade is set to true then the resource is upgraded
automatically without any manual steps
type: boolean
desired:
description: Desired is the version that we want to upgrade or the
control plane version
type: string
status:
description: Status gives the status of reconciliation triggered when
the desired and current version are not same
properties:
current:
description: Current is the version of resource
type: string
dependentsUpgraded:
description: DependentsUpgraded gives the details whether all
children of a resource are upgraded to desired version or not
type: boolean
lastUpdateTime:
description: LastUpdateTime is the time the status was last updated
format: date-time
nullable: true
type: string
message:
description: Message is a human readable message if some error
occurs
type: string
reason:
description: Reason is the actual reason for the error state
type: string
state:
description: State is the state of reconciliation
type: string
type: object
type: object
required:
- spec
type: object
served: true
storage: true
subresources: {}