diff --git a/.travis.yml b/.travis.yml index c6aca1bd64..b4fa4c8a90 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,7 +18,7 @@ jobs: - os: linux arch: amd64 env: - - RELEASE_TAG_DOWNSTREAM=1 + - RELEASE_TAG_DOWNSTREAM=0 services: - docker diff --git a/pkg/install/v1alpha1/openebs_crds.go b/pkg/install/v1alpha1/openebs_crds.go index 24eaf94520..db04eb5a2d 100644 --- a/pkg/install/v1alpha1/openebs_crds.go +++ b/pkg/install/v1alpha1/openebs_crds.go @@ -20,7 +20,7 @@ package v1alpha1 const openEBSCRDYamls = ` --- -apiVersion: apiextensions.k8s.io/v1beta1 +apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: # name must match the spec fields below, and be in the form: . @@ -29,7 +29,13 @@ spec: # group name to use for REST API: /apis// group: openebs.io # version name to use for REST API: /apis// - version: v1alpha1 + versions: + - name: v1alpha1 + storage: true + served: true + schema: + openAPIV3Schema: + x-kubernetes-preserve-unknown-fields: true # either Namespaced or Cluster scope: Cluster names: @@ -43,7 +49,7 @@ spec: shortNames: - cast --- -apiVersion: apiextensions.k8s.io/v1beta1 +apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: # name must match the spec fields below, and be in the form: . @@ -52,7 +58,13 @@ spec: # group name to use for REST API: /apis// group: openebs.io # version name to use for REST API: /apis// - version: v1alpha1 + versions: + - name: v1alpha1 + storage: true + served: true + schema: + openAPIV3Schema: + x-kubernetes-preserve-unknown-fields: true # either Namespaced or Cluster scope: Namespaced names: @@ -66,7 +78,7 @@ spec: shortNames: - rtask --- -apiVersion: apiextensions.k8s.io/v1beta1 +apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: # name must match the spec fields below, and be in the form: . @@ -76,7 +88,13 @@ spec: # group name to use for REST API: /apis// group: openebs.io # version name to use for REST API: /apis// - version: v1alpha1 + versions: + - name: v1alpha1 + storage: true + served: true + schema: + openAPIV3Schema: + x-kubernetes-preserve-unknown-fields: true # either Namespaced or Cluster scope: Cluster names: @@ -90,54 +108,7 @@ spec: shortNames: - spc --- -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - # name must match the spec fields below, and be in the form: . - name: cstorpoolinstances.openebs.io -spec: - # group name to use for REST API: /apis// - group: openebs.io - # version name to use for REST API: /apis// - version: v1alpha1 - # either Namespaced or Cluster - scope: Namespaced - names: - # plural name to be used in the URL: /apis/// - plural: cstorpoolinstances - # singular name to be used as an alias on the CLI and for display - singular: cstorpoolinstance - # kind is normally the CamelCased singular type. Your resource manifests use this. - kind: CStorPoolInstance - # shortNames allow shorter string to match your resource on the CLI - shortNames: - - cspi - additionalPrinterColumns: - - JSONPath: .spec.hostName - name: HostName - description: Host name where cstorpool instances scheduled - type: string - - JSONPath: .status.capacity.used - name: Allocated - description: The amount of storage space within the pool that has been physically allocated - type: string - - JSONPath: .status.capacity.free - name: Free - description: The amount of free space available in the pool - type: string - - JSONPath: .status.capacity.total - name: Capacity - description: Total size of the storage pool - type: string - - JSONPath: .status.phase - name: Status - description: Identifies the current health of the pool - type: string - - JSONPath: .metadata.creationTimestamp - name: Age - type: date ---- -apiVersion: apiextensions.k8s.io/v1beta1 +apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: # name must match the spec fields below, and be in the form: . @@ -146,7 +117,13 @@ spec: # group name to use for REST API: /apis// group: openebs.io # version name to use for REST API: /apis// - version: v1alpha1 + versions: + - name: v1alpha1 + storage: true + served: true + schema: + openAPIV3Schema: + x-kubernetes-preserve-unknown-fields: true # either Namespaced or Cluster scope: Cluster names: @@ -160,7 +137,7 @@ spec: shortNames: - sp --- -apiVersion: apiextensions.k8s.io/v1beta1 +apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: # name must match the spec fields below, and be in the form: . @@ -169,7 +146,41 @@ spec: # group name to use for REST API: /apis// group: openebs.io # version name to use for REST API: /apis// - version: v1alpha1 + versions: + - name: v1alpha1 + storage: true + served: true + schema: + openAPIV3Schema: + x-kubernetes-preserve-unknown-fields: true + additionalPrinterColumns: + - jsonPath: .status.capacity.used + name: Allocated + description: The amount of storage space within the pool that has been physically allocated + type: string + - jsonPath: .status.capacity.free + name: Free + description: The amount of free space available in the pool + type: string + - jsonPath: .status.capacity.total + name: Capacity + description: Total size of the storage pool + type: string + - jsonPath: .status.phase + name: Status + description: Identifies the current health of the pool + type: string + - jsonPath: .status.readOnly + description: Identifies the pool read only mode + name: ReadOnly + type: boolean + - jsonPath: .spec.poolSpec.poolType + name: Type + description: The type of the storage pool + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date # either Namespaced or Cluster scope: Cluster names: @@ -182,36 +193,8 @@ spec: # shortNames allow shorter string to match your resource on the CLI shortNames: - csp - additionalPrinterColumns: - - JSONPath: .status.capacity.used - name: Allocated - description: The amount of storage space within the pool that has been physically allocated - type: string - - JSONPath: .status.capacity.free - name: Free - description: The amount of free space available in the pool - type: string - - JSONPath: .status.capacity.total - name: Capacity - description: Total size of the storage pool - type: string - - JSONPath: .status.phase - name: Status - description: Identifies the current health of the pool - type: string - - JSONPath: .status.readOnly - description: Identifies the pool read only mode - name: ReadOnly - type: boolean - - JSONPath: .spec.poolSpec.poolType - name: Type - description: The type of the storage pool - type: string - - JSONPath: .metadata.creationTimestamp - name: Age - type: date --- -apiVersion: apiextensions.k8s.io/v1beta1 +apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: # name must match the spec fields below, and be in the form: . @@ -220,7 +203,25 @@ spec: # group name to use for REST API: /apis// group: openebs.io # version name to use for REST API: /apis// - version: v1alpha1 + versions: + - name: v1alpha1 + storage: true + served: true + schema: + openAPIV3Schema: + x-kubernetes-preserve-unknown-fields: true + additionalPrinterColumns: + - jsonPath: .status.phase + name: Status + description: Identifies the current health of the target + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.capacity + description: Current volume capacity + name: Capacity + type: string # either Namespaced or Cluster scope: Namespaced names: @@ -233,85 +234,8 @@ spec: # shortNames allow shorter string to match your resource on the CLI shortNames: - cstorvolume - additionalPrinterColumns: - - JSONPath: .status.phase - name: Status - description: Identifies the current health of the target - type: string - - JSONPath: .metadata.creationTimestamp - name: Age - type: date - - JSONPath: .status.capacity - description: Current volume capacity - name: Capacity - type: string --- -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - # name must match the spec fields below, and be in the form: . - name: cstorvolumeclaims.openebs.io -spec: - # group name to use for REST API: /apis// - group: openebs.io - # version name to use for REST API: /apis// - version: v1alpha1 - # either Namespaced or Cluster - scope: Namespaced - names: - # kind is normally the CamelCased singular type. Your resource manifests use this. - kind: CStorVolumeClaim - # plural name to be used in the URL: /apis/// - plural: cstorvolumeclaims - # singular name to be used as an alias on the CLI and for display - singular: cstorvolumeclaim - # shortNames allow shorter string to match your resource on the CLI - shortNames: - - cstorvolumeclaim - - cvc - additionalPrinterColumns: - - JSONPath: .status.phase - name: Status - description: Identifies the current health of the target - type: string - - JSONPath: .metadata.creationTimestamp - name: Age - type: date ---- -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - # name must match the spec fields below, and be in the form: . - name: cstorvolumepolicies.openebs.io -spec: - # group name to use for REST API: /apis// - group: openebs.io - # version name to use for REST API: /apis// - version: v1alpha1 - # either Namespaced or Cluster - scope: Namespaced - names: - # kind is normally the CamelCased singular type. Your resource manifests use this. - kind: CStorVolumePolicy - # plural name to be used in the URL: /apis/// - plural: cstorvolumepolicies - # singular name to be used as an alias on the CLI and for display - singular: cstorvolumepolicy - # shortNames allow shorter string to match your resource on the CLI - shortNames: - - cstorvolumepolicies - - cvp - - policy - additionalPrinterColumns: - - JSONPath: .status.phase - name: Status - description: Identifies the current health of the target - type: string - - JSONPath: .metadata.creationTimestamp - name: Age - type: date ---- -apiVersion: apiextensions.k8s.io/v1beta1 +apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: # name must match the spec fields below, and be in the form: . @@ -320,8 +244,29 @@ spec: # group name to use for REST API: /apis// group: openebs.io # version name to use for REST API: /apis// - version: v1alpha1 - # either Namespaced or Cluster + versions: + - name: v1alpha1 + storage: true + served: true + schema: + openAPIV3Schema: + x-kubernetes-preserve-unknown-fields: true + additionalPrinterColumns: + - jsonPath: .status.capacity.used + name: Used + description: The amount of space that is "logically" consumed by this dataset + type: string + - jsonPath: .status.capacity.totalAllocated + name: Allocated + description: The amount of disk space consumed by a dataset and all its descendents + type: string + - jsonPath: .status.phase + name: Status + description: Identifies the current health of the replicas + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date scope: Namespaced names: # kind is normally the CamelCased singular type. Your resource manifests use this. @@ -333,30 +278,34 @@ spec: # shortNames allow shorter string to match your resource on the CLI shortNames: - cvr - additionalPrinterColumns: - - JSONPath: .status.capacity.used - name: Used - description: The amount of space that is "logically" consumed by this dataset - type: string - - JSONPath: .status.capacity.totalAllocated - name: Allocated - description: The amount of disk space consumed by a dataset and all its descendents - type: string - - JSONPath: .status.phase - name: Status - description: Identifies the current health of the replicas - type: string - - JSONPath: .metadata.creationTimestamp - name: Age - type: date --- -apiVersion: apiextensions.k8s.io/v1beta1 +apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: name: cstorbackups.openebs.io + # either Namespaced or Cluster spec: group: openebs.io - version: v1alpha1 + versions: + - name: v1alpha1 + storage: true + served: true + schema: + openAPIV3Schema: + x-kubernetes-preserve-unknown-fields: true + additionalPrinterColumns: + - jsonPath: .spec.volumeName + name: volume + description: volume on which backup performed + type: string + - jsonPath: .spec.backupName + name: backup/schedule + description: Backup/schedule name + type: string + - jsonPath: .status + name: Status + description: Backup status + type: string scope: Namespaced names: plural: cstorbackups @@ -367,57 +316,68 @@ spec: - cbkps - cbackups - cbackup - additionalPrinterColumns: - - JSONPath: .spec.volumeName - name: volume - description: volume on which backup performed - type: string - - JSONPath: .spec.backupName - name: backup/schedule - description: Backup/schedule name - type: string - - JSONPath: .status - name: Status - description: Backup status - type: string - --- -apiVersion: apiextensions.k8s.io/v1beta1 +apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: name: cstorcompletedbackups.openebs.io spec: group: openebs.io - version: v1alpha1 - scope: Namespaced - names: - plural: cstorcompletedbackups - singular: cstorcompletedbackup - kind: CStorCompletedBackup - shortNames: - - cbkpc - - cbackupcompleted - additionalPrinterColumns: - - JSONPath: .spec.volumeName + versions: + - name: v1alpha1 + storage: true + served: true + schema: + openAPIV3Schema: + x-kubernetes-preserve-unknown-fields: true + additionalPrinterColumns: + - jsonPath: .spec.volumeName name: volume description: volume on which backup performed type: string - - JSONPath: .spec.backupName + - jsonPath: .spec.backupName name: backup/schedule description: Backup/schedule name type: string - - JSONPath: .spec.prevSnapName + - jsonPath: .spec.prevSnapName name: lastSnap description: Last successful backup snapshot type: string + scope: Namespaced + names: + plural: cstorcompletedbackups + singular: cstorcompletedbackup + kind: CStorCompletedBackup + shortNames: + - cbkpc + - cbackupcompleted --- -apiVersion: apiextensions.k8s.io/v1beta1 +apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: name: cstorrestores.openebs.io spec: group: openebs.io - version: v1alpha1 + versions: + - name: v1alpha1 + storage: true + served: true + schema: + openAPIV3Schema: + x-kubernetes-preserve-unknown-fields: true + additionalPrinterColumns: + - jsonPath: .spec.restoreName + name: backup + description: backup name which is restored + type: string + - jsonPath: .spec.volumeName + name: volume + description: volume on which restore performed + type: string + - jsonPath: .status + name: Status + description: Restore status + type: string scope: Namespaced names: plural: cstorrestores @@ -428,21 +388,8 @@ spec: - crsts - crestores - crestore - additionalPrinterColumns: - - JSONPath: .spec.restoreName - name: backup - description: backup name which is restored - type: string - - JSONPath: .spec.volumeName - name: volume - description: volume on which restore performed - type: string - - JSONPath: .status - name: Status - description: Restore status - type: string --- -apiVersion: apiextensions.k8s.io/v1beta1 +apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: # name must match the spec fields below, and be in the form: . @@ -451,7 +398,13 @@ spec: # group name to use for REST API: /apis// group: openebs.io # version name to use for REST API: /apis// - version: v1alpha1 + versions: + - name: v1alpha1 + storage: true + served: true + schema: + openAPIV3Schema: + x-kubernetes-preserve-unknown-fields: true # either Namespaced or Cluster scope: Namespaced names: @@ -465,6 +418,7 @@ spec: shortNames: - utask --- +--- ` // OpenEBSCRDArtifacts returns the CRDs required for latest version diff --git a/tests/artifacts/crds.yaml b/tests/artifacts/crds.yaml new file mode 100644 index 0000000000..3fc85546f4 --- /dev/null +++ b/tests/artifacts/crds.yaml @@ -0,0 +1,398 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + # name must match the spec fields below, and be in the form: . + name: castemplates.openebs.io +spec: + # group name to use for REST API: /apis// + group: openebs.io + # version name to use for REST API: /apis// + versions: + - name: v1alpha1 + storage: true + served: true + schema: + openAPIV3Schema: + x-kubernetes-preserve-unknown-fields: true + # either Namespaced or Cluster + scope: Cluster + names: + # plural name to be used in the URL: /apis/// + plural: castemplates + # singular name to be used as an alias on the CLI and for display + singular: castemplate + # kind is normally the CamelCased singular type. Your resource manifests use this. + kind: CASTemplate + # shortNames allow shorter string to match your resource on the CLI + shortNames: + - cast +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + # name must match the spec fields below, and be in the form: . + name: runtasks.openebs.io +spec: + # group name to use for REST API: /apis// + group: openebs.io + # version name to use for REST API: /apis// + versions: + - name: v1alpha1 + storage: true + served: true + schema: + openAPIV3Schema: + x-kubernetes-preserve-unknown-fields: true + # either Namespaced or Cluster + scope: Namespaced + names: + # plural name to be used in the URL: /apis/// + plural: runtasks + # singular name to be used as an alias on the CLI and for display + singular: runtask + # kind is normally the CamelCased singular type. Your resource manifests use this. + kind: RunTask + # shortNames allow shorter string to match your resource on the CLI + shortNames: + - rtask +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + # name must match the spec fields below, and be in the form: . + # storagepoolclaim will be deprecated + name: storagepoolclaims.openebs.io +spec: + # group name to use for REST API: /apis// + group: openebs.io + # version name to use for REST API: /apis// + versions: + - name: v1alpha1 + storage: true + served: true + schema: + openAPIV3Schema: + x-kubernetes-preserve-unknown-fields: true + # either Namespaced or Cluster + scope: Cluster + names: + # plural name to be used in the URL: /apis/// + plural: storagepoolclaims + # singular name to be used as an alias on the CLI and for display + singular: storagepoolclaim + # kind is normally the CamelCased singular type. Your resource manifests use this. + kind: StoragePoolClaim + # shortNames allow shorter string to match your resource on the CLI + shortNames: + - spc +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + # name must match the spec fields below, and be in the form: . + name: storagepools.openebs.io +spec: + # group name to use for REST API: /apis// + group: openebs.io + # version name to use for REST API: /apis// + versions: + - name: v1alpha1 + storage: true + served: true + schema: + openAPIV3Schema: + x-kubernetes-preserve-unknown-fields: true + # either Namespaced or Cluster + scope: Cluster + names: + # plural name to be used in the URL: /apis/// + plural: storagepools + # singular name to be used as an alias on the CLI and for display + singular: storagepool + # kind is normally the CamelCased singular type. Your resource manifests use this. + kind: StoragePool + # shortNames allow shorter string to match your resource on the CLI + shortNames: + - sp +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + # name must match the spec fields below, and be in the form: . + name: cstorpools.openebs.io +spec: + # group name to use for REST API: /apis// + group: openebs.io + # version name to use for REST API: /apis// + versions: + - name: v1alpha1 + storage: true + served: true + schema: + openAPIV3Schema: + x-kubernetes-preserve-unknown-fields: true + additionalPrinterColumns: + - jsonPath: .status.capacity.used + name: Allocated + description: The amount of storage space within the pool that has been physically allocated + type: string + - jsonPath: .status.capacity.free + name: Free + description: The amount of free space available in the pool + type: string + - jsonPath: .status.capacity.total + name: Capacity + description: Total size of the storage pool + type: string + - jsonPath: .status.phase + name: Status + description: Identifies the current health of the pool + type: string + - jsonPath: .status.readOnly + description: Identifies the pool read only mode + name: ReadOnly + type: boolean + - jsonPath: .spec.poolSpec.poolType + name: Type + description: The type of the storage pool + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + # either Namespaced or Cluster + scope: Cluster + names: + # plural name to be used in the URL: /apis/// + plural: cstorpools + # singular name to be used as an alias on the CLI and for display + singular: cstorpool + # kind is normally the CamelCased singular type. Your resource manifests use this. + kind: CStorPool + # shortNames allow shorter string to match your resource on the CLI + shortNames: + - csp +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + # name must match the spec fields below, and be in the form: . + name: cstorvolumes.openebs.io +spec: + # group name to use for REST API: /apis// + group: openebs.io + # version name to use for REST API: /apis// + versions: + - name: v1alpha1 + storage: true + served: true + schema: + openAPIV3Schema: + x-kubernetes-preserve-unknown-fields: true + additionalPrinterColumns: + - jsonPath: .status.phase + name: Status + description: Identifies the current health of the target + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .status.capacity + description: Current volume capacity + name: Capacity + type: string + # either Namespaced or Cluster + scope: Namespaced + names: + # kind is normally the CamelCased singular type. Your resource manifests use this. + kind: CStorVolume + # plural name to be used in the URL: /apis/// + plural: cstorvolumes + # singular name to be used as an alias on the CLI and for display + singular: cstorvolume + # shortNames allow shorter string to match your resource on the CLI + shortNames: + - cstorvolume +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + # name must match the spec fields below, and be in the form: . + name: cstorvolumereplicas.openebs.io +spec: + # group name to use for REST API: /apis// + group: openebs.io + # version name to use for REST API: /apis// + versions: + - name: v1alpha1 + storage: true + served: true + schema: + openAPIV3Schema: + x-kubernetes-preserve-unknown-fields: true + additionalPrinterColumns: + - jsonPath: .status.capacity.used + name: Used + description: The amount of space that is "logically" consumed by this dataset + type: string + - jsonPath: .status.capacity.totalAllocated + name: Allocated + description: The amount of disk space consumed by a dataset and all its descendents + type: string + - jsonPath: .status.phase + name: Status + description: Identifies the current health of the replicas + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + scope: Namespaced + names: + # kind is normally the CamelCased singular type. Your resource manifests use this. + kind: CStorVolumeReplica + # plural name to be used in the URL: /apis/// + plural: cstorvolumereplicas + # singular name to be used as an alias on the CLI and for display + singular: cstorvolumereplica + # shortNames allow shorter string to match your resource on the CLI + shortNames: + - cvr +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: cstorbackups.openebs.io + # either Namespaced or Cluster +spec: + group: openebs.io + versions: + - name: v1alpha1 + storage: true + served: true + schema: + openAPIV3Schema: + x-kubernetes-preserve-unknown-fields: true + additionalPrinterColumns: + - jsonPath: .spec.volumeName + name: volume + description: volume on which backup performed + type: string + - jsonPath: .spec.backupName + name: backup/schedule + description: Backup/schedule name + type: string + - jsonPath: .status + name: Status + description: Backup status + type: string + scope: Namespaced + names: + plural: cstorbackups + singular: cstorbackup + kind: CStorBackup + shortNames: + - cbkp + - cbkps + - cbackups + - cbackup +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: cstorcompletedbackups.openebs.io +spec: + group: openebs.io + versions: + - name: v1alpha1 + storage: true + served: true + schema: + openAPIV3Schema: + x-kubernetes-preserve-unknown-fields: true + additionalPrinterColumns: + - jsonPath: .spec.volumeName + name: volume + description: volume on which backup performed + type: string + - jsonPath: .spec.backupName + name: backup/schedule + description: Backup/schedule name + type: string + - jsonPath: .spec.prevSnapName + name: lastSnap + description: Last successful backup snapshot + type: string + scope: Namespaced + names: + plural: cstorcompletedbackups + singular: cstorcompletedbackup + kind: CStorCompletedBackup + shortNames: + - cbkpc + - cbackupcompleted +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: cstorrestores.openebs.io +spec: + group: openebs.io + versions: + - name: v1alpha1 + storage: true + served: true + schema: + openAPIV3Schema: + x-kubernetes-preserve-unknown-fields: true + additionalPrinterColumns: + - jsonPath: .spec.restoreName + name: backup + description: backup name which is restored + type: string + - jsonPath: .spec.volumeName + name: volume + description: volume on which restore performed + type: string + - jsonPath: .status + name: Status + description: Restore status + type: string + scope: Namespaced + names: + plural: cstorrestores + singular: cstorrestore + kind: CStorRestore + shortNames: + - crst + - crsts + - crestores + - crestore +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + # name must match the spec fields below, and be in the form: . + name: upgradetasks.openebs.io +spec: + # group name to use for REST API: /apis// + group: openebs.io + # version name to use for REST API: /apis// + versions: + - name: v1alpha1 + storage: true + served: true + schema: + openAPIV3Schema: + x-kubernetes-preserve-unknown-fields: true + # either Namespaced or Cluster + scope: Namespaced + names: + # plural name to be used in the URL: /apis/// + plural: upgradetasks + # singular name to be used as an alias on the CLI and for display + singular: upgradetask + # kind is normally the CamelCased singular type. Your resource manifests use this. + kind: UpgradeTask + # shortNames allow shorter string to match your resource on the CLI + shortNames: + - utask +---