Generated changes
parent
92b849562d
commit
37d594af16
Binary file not shown.
|
@ -306,6 +306,29 @@ entries:
|
||||||
- assets/haproxy/haproxy-1.4.300.tgz
|
- assets/haproxy/haproxy-1.4.300.tgz
|
||||||
version: 1.4.300
|
version: 1.4.300
|
||||||
hpe-csi-driver:
|
hpe-csi-driver:
|
||||||
|
- annotations:
|
||||||
|
catalog.cattle.io/certified: partner
|
||||||
|
catalog.cattle.io/release-name: hpe-csi-driver
|
||||||
|
apiVersion: v1
|
||||||
|
appVersion: 1.4.0
|
||||||
|
created: "2021-02-25T22:46:37.811643961Z"
|
||||||
|
description: A Helm chart for installing the HPE CSI Driver for Kubernetes
|
||||||
|
digest: 487dca3d6bdf6961bf29425945b40974667a67723d2a8d9edbca87285e628793
|
||||||
|
home: https://hpe.com/storage/containers
|
||||||
|
icon: https://raw.githubusercontent.com/hpe-storage/co-deployments/master/docs/assets/hpedev.png
|
||||||
|
keywords:
|
||||||
|
- HPE
|
||||||
|
- Storage
|
||||||
|
- StorageClass
|
||||||
|
maintainers:
|
||||||
|
- email: hpe-containers-dev@hpe.com
|
||||||
|
name: raunakkumar
|
||||||
|
name: hpe-csi-driver
|
||||||
|
sources:
|
||||||
|
- https://scod.hpedev.io/csi_driver
|
||||||
|
urls:
|
||||||
|
- assets/hpe-csi-driver/hpe-csi-driver-1.4.200.tgz
|
||||||
|
version: 1.4.200
|
||||||
- annotations:
|
- annotations:
|
||||||
catalog.cattle.io/certified: partner
|
catalog.cattle.io/certified: partner
|
||||||
catalog.cattle.io/release-name: hpe-csi-driver
|
catalog.cattle.io/release-name: hpe-csi-driver
|
||||||
|
@ -527,4 +550,4 @@ entries:
|
||||||
urls:
|
urls:
|
||||||
- assets/sysdig/sysdig-1.9.200.tgz
|
- assets/sysdig/sysdig-1.9.200.tgz
|
||||||
version: 1.9.200
|
version: 1.9.200
|
||||||
generated: "2021-02-25T20:17:31.425563557Z"
|
generated: "2021-02-25T22:46:37.810270792Z"
|
||||||
|
|
|
@ -1,22 +1,19 @@
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
appVersion: "1.3.0"
|
appVersion: 1.4.0
|
||||||
description: A Helm chart for installing the HPE CSI Driver for Kubernetes
|
description: A Helm chart for installing the HPE CSI Driver for Kubernetes
|
||||||
icon: https://raw.githubusercontent.com/hpe-storage/co-deployments/master/docs/assets/hpedev.png
|
|
||||||
maintainers:
|
|
||||||
- name: shivamerla
|
|
||||||
email: hpe-containers-dev@hpe.com
|
|
||||||
sources:
|
|
||||||
- https://scod.hpedev.io/csi_driver
|
|
||||||
name: hpe-csi-driver
|
|
||||||
home: https://hpe.com/storage/containers
|
home: https://hpe.com/storage/containers
|
||||||
version: 1.3.000
|
icon: https://raw.githubusercontent.com/hpe-storage/co-deployments/master/docs/assets/hpedev.png
|
||||||
keywords:
|
keywords:
|
||||||
- HPE
|
- HPE
|
||||||
- Storage
|
- Storage
|
||||||
- StorageClass
|
- StorageClass
|
||||||
- CentOS
|
maintainers:
|
||||||
- Ubuntu
|
- email: hpe-containers-dev@hpe.com
|
||||||
- RHEL
|
name: raunakkumar
|
||||||
|
name: hpe-csi-driver
|
||||||
|
sources:
|
||||||
|
- https://scod.hpedev.io/csi_driver
|
||||||
|
version: 1.4.200
|
||||||
annotations:
|
annotations:
|
||||||
catalog.cattle.io/certified: partner
|
catalog.cattle.io/certified: partner
|
||||||
catalog.cattle.io/release-name: hpe-csi-driver
|
catalog.cattle.io/release-name: hpe-csi-driver
|
||||||
|
|
|
@ -25,6 +25,7 @@ The following table lists the configurable parameters of the HPE-CSI chart and t
|
||||||
| disableNodeConformance | Disable automatic installation of iSCSI/Multipath Packages. | false |
|
| disableNodeConformance | Disable automatic installation of iSCSI/Multipath Packages. | false |
|
||||||
| iscsi.chapUser | Username for iSCSI CHAP authentication. | "" |
|
| iscsi.chapUser | Username for iSCSI CHAP authentication. | "" |
|
||||||
| iscsi.chapPassword | Password for iSCSI CHAP authentication. | "" |
|
| iscsi.chapPassword | Password for iSCSI CHAP authentication. | "" |
|
||||||
|
| registry | Registry to pull HPE CSI Driver container images from. | quay.io |
|
||||||
|
|
||||||
It's recommended to create a [values.yaml](https://github.com/hpe-storage/co-deployments/blob/master/helm/values/csi-driver) file from the corresponding release of the chart and edit it to fit the environment the chart is being deployed to. Download and edit [a sample file](https://github.com/hpe-storage/co-deployments/blob/master/helm/values/csi-driver).
|
It's recommended to create a [values.yaml](https://github.com/hpe-storage/co-deployments/blob/master/helm/values/csi-driver) file from the corresponding release of the chart and edit it to fit the environment the chart is being deployed to. Download and edit [a sample file](https://github.com/hpe-storage/co-deployments/blob/master/helm/values/csi-driver).
|
||||||
|
|
||||||
|
@ -32,54 +33,43 @@ These are the bare minimum required parameters for a successful deployment to an
|
||||||
|
|
||||||
```
|
```
|
||||||
iscsi:
|
iscsi:
|
||||||
chapUser: <username>
|
chapUser: "<username>"
|
||||||
chapPassword: <password>
|
chapPassword: "<password>"
|
||||||
```
|
```
|
||||||
|
|
||||||
Tweak any additional parameters to suit the environment or as prescribed by HPE.
|
Tweak any additional parameters to suit the environment or as prescribed by HPE.
|
||||||
|
|
||||||
### Installing the chart
|
### Installing the chart
|
||||||
|
|
||||||
To install the chart with the name `hpe-csi`:
|
To install the chart with the name `my-hpe-csi-driver`:
|
||||||
|
|
||||||
Add HPE helm repo:
|
Add HPE helm repo:
|
||||||
|
|
||||||
```
|
```
|
||||||
helm repo add hpe https://hpe-storage.github.io/co-deployments
|
helm repo add hpe-storage https://hpe-storage.github.io/co-deployments/
|
||||||
helm repo update
|
helm repo update
|
||||||
```
|
```
|
||||||
|
|
||||||
Install the latest chart:
|
Install the latest chart:
|
||||||
|
|
||||||
```
|
```
|
||||||
helm install hpe-csi hpe/hpe-csi-driver --namespace kube-system -f myvalues.yaml
|
kubectl create ns hpe-storage
|
||||||
|
helm install my-hpe-csi-driver hpe-storage/hpe-csi-driver -n hpe-storage -f myvalues.yaml
|
||||||
```
|
```
|
||||||
|
|
||||||
**Note**: values.yaml is optional if no parameters are overridden from defaults.
|
**Note**: `values.yaml` is optional if no parameters are overridden from defaults.
|
||||||
|
|
||||||
### Upgrading the Chart
|
### Upgrading the chart
|
||||||
|
|
||||||
To upgrade the chart, specify the version you want to upgrade to as below. Please do NOT re-use a full blown `values.yaml` from prior versions to upgrade to later versions. Always use `values.yaml` from corresponding release from [values.yaml](https://github.com/hpe-storage/co-deployments/blob/master/helm/values/csi-driver)
|
Due to the [helm limitation](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/#some-caveats-and-explanations) to not support upgrade of CRDs between different chart versions, `hpe-csi-driver` helm chart upgrade is not supported.
|
||||||
|
Our recommendation is to uninstall the existing chart and install the chart with the desired version. CRDs will be preserved between uninstall and install.
|
||||||
|
|
||||||
List the avaiable version of the plugin:
|
### Uninstalling the chart
|
||||||
|
|
||||||
|
To uninstall the `my-hpe-csi-driver` chart:
|
||||||
|
|
||||||
```
|
```
|
||||||
helm repo update
|
helm uninstall my-hpe-csi-driver -n hpe-storage
|
||||||
helm search repo hpe-csi-driver -l
|
|
||||||
```
|
|
||||||
|
|
||||||
Select the target version to upgrade as below:
|
|
||||||
|
|
||||||
```
|
|
||||||
helm upgrade hpe-csi hpe/hpe-csi-driver --namespace kube-system --version=x.x.x.x -f myvalues.yaml
|
|
||||||
```
|
|
||||||
|
|
||||||
### Uninstalling the Chart
|
|
||||||
|
|
||||||
To uninstall the `hpe-csi` chart:
|
|
||||||
|
|
||||||
```
|
|
||||||
helm uninstall hpe-csi --namespace kube-system
|
|
||||||
```
|
```
|
||||||
|
|
||||||
**Note**: Due to a limitation in Helm, CRDs are not deleted as part of the chart uninstall.
|
**Note**: Due to a limitation in Helm, CRDs are not deleted as part of the chart uninstall.
|
||||||
|
@ -89,8 +79,9 @@ helm uninstall hpe-csi --namespace kube-system
|
||||||
In some cases it's more practical to provide the local configuration via the `helm` CLI directly. Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. These will take precedence over entries in [values.yaml](https://github.com/hpe-storage/co-deployments/blob/master/helm/values/csi-driver). For example:
|
In some cases it's more practical to provide the local configuration via the `helm` CLI directly. Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. These will take precedence over entries in [values.yaml](https://github.com/hpe-storage/co-deployments/blob/master/helm/values/csi-driver). For example:
|
||||||
|
|
||||||
```
|
```
|
||||||
helm install hpe-csi hpe/hpe-csi-driver --namespace kube-system --set iscsi.chapUsername=admin \
|
helm install my-hpe-csi-driver hpe-storage/hpe-csi-driver -n hpe-storage \
|
||||||
--set iscsi.chapPassword=xxxxxxxx
|
--set iscsi.chapUsername=admin \
|
||||||
|
--set iscsi.chapPassword=xxxxxxxx
|
||||||
```
|
```
|
||||||
|
|
||||||
## Using persistent storage with Kubernetes
|
## Using persistent storage with Kubernetes
|
||||||
|
|
|
@ -2,52 +2,68 @@
|
||||||
#############################################
|
#############################################
|
||||||
############ HPE Node Info CRD ############
|
############ HPE Node Info CRD ############
|
||||||
#############################################
|
#############################################
|
||||||
apiVersion: apiextensions.k8s.io/v1beta1
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
kind: CustomResourceDefinition
|
kind: CustomResourceDefinition
|
||||||
metadata:
|
metadata:
|
||||||
creationTimestamp: null
|
creationTimestamp: null
|
||||||
name: hpenodeinfos.storage.hpe.com
|
name: hpenodeinfos.storage.hpe.com
|
||||||
spec:
|
spec:
|
||||||
group: storage.hpe.com
|
group: storage.hpe.com
|
||||||
names:
|
names:
|
||||||
kind: HPENodeInfo
|
kind: HPENodeInfo
|
||||||
plural: hpenodeinfos
|
plural: hpenodeinfos
|
||||||
scope: Cluster
|
scope: Cluster
|
||||||
validation:
|
versions:
|
||||||
openAPIV3Schema:
|
- name: v1
|
||||||
properties:
|
# Each version can be enabled/disabled by Served flag.
|
||||||
hpeNodes:
|
served: true
|
||||||
description: List of HPE nodes configured for storage access.
|
# One and only one version must be marked as the storage version.
|
||||||
items:
|
storage: true
|
||||||
properties:
|
schema:
|
||||||
uuid:
|
openAPIV3Schema:
|
||||||
description: The UUID of the node.
|
properties:
|
||||||
type: string
|
apiVersion:
|
||||||
iqns:
|
description: "APIVersion defines the versioned schema of this representation of an object."
|
||||||
description: List of IQNs configured on the node.
|
type: string
|
||||||
items:
|
kind:
|
||||||
|
description: "Kind is a string value representing the REST resource this object represents"
|
||||||
|
type: string
|
||||||
|
spec:
|
||||||
|
description: "spec defines the desired characteristics of a HPE nodeinfo requested by a user."
|
||||||
|
properties:
|
||||||
|
chapPassword:
|
||||||
|
description: "The CHAP Password"
|
||||||
type: string
|
type: string
|
||||||
type: array
|
chapUser:
|
||||||
chapUser:
|
description: "The CHAP User Name"
|
||||||
description: The CHAP User Name
|
|
||||||
type: string
|
type: string
|
||||||
chapPassword:
|
iqns:
|
||||||
description: The CHAP Password
|
description: "List of IQNs configured on the node."
|
||||||
type: string
|
items:
|
||||||
networks:
|
type: string
|
||||||
description: List of networks configured on the node.
|
type: array
|
||||||
items:
|
networks:
|
||||||
|
description: "List of networks configured on the node."
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
uuid:
|
||||||
|
description: "The UUID of the node."
|
||||||
type: string
|
type: string
|
||||||
type: array
|
wwpns:
|
||||||
wwpns:
|
description: "List of WWPNs configured on the node."
|
||||||
description: List of WWPNs configured on the node.
|
items:
|
||||||
items:
|
type: string
|
||||||
type: string
|
type: array
|
||||||
type: array
|
required:
|
||||||
type: array
|
- uuid
|
||||||
version: v1
|
- networks
|
||||||
status:
|
type: object
|
||||||
acceptedNames:
|
required:
|
||||||
|
- spec
|
||||||
|
type: object
|
||||||
|
status:
|
||||||
|
acceptedNames:
|
||||||
kind: ""
|
kind: ""
|
||||||
plural: ""
|
plural: ""
|
||||||
conditions: []
|
conditions: []
|
||||||
|
|
|
@ -24,7 +24,7 @@ spec:
|
||||||
type: array
|
type: array
|
||||||
items:
|
items:
|
||||||
properties:
|
properties:
|
||||||
targetName:
|
targetName:
|
||||||
description: Target Name of the array
|
description: Target Name of the array
|
||||||
type: string
|
type: string
|
||||||
targetCpg:
|
targetCpg:
|
||||||
|
@ -34,11 +34,11 @@ spec:
|
||||||
description: Target Snap CPG of the array
|
description: Target Snap CPG of the array
|
||||||
type: string
|
type: string
|
||||||
targetSecret:
|
targetSecret:
|
||||||
description: Secret of the replicated array
|
description: Secret of the replicated array
|
||||||
type: string
|
type: string
|
||||||
targetMode:
|
targetMode:
|
||||||
description: Replication Mode
|
description: Replication Mode
|
||||||
type: string
|
type: string
|
||||||
targetSecretNamespace:
|
targetSecretNamespace:
|
||||||
description: Namespace of secret
|
description: Namespace of secret
|
||||||
type: string
|
type: string
|
||||||
|
|
|
@ -0,0 +1,57 @@
|
||||||
|
apiVersion: apiextensions.k8s.io/v1beta1
|
||||||
|
kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
creationTimestamp: null
|
||||||
|
name: hpesnapshotgroupinfos.storage.hpe.com
|
||||||
|
spec:
|
||||||
|
group: storage.hpe.com
|
||||||
|
names:
|
||||||
|
kind: HPESnapshotGroupInfo
|
||||||
|
plural: hpesnapshotgroupinfos
|
||||||
|
shortNames:
|
||||||
|
- hpesgi
|
||||||
|
scope: Cluster
|
||||||
|
version: v1
|
||||||
|
validation:
|
||||||
|
openAPIV3Schema:
|
||||||
|
properties:
|
||||||
|
hpeSnapshotGroupInfos:
|
||||||
|
description: List of HPE snapshot groups created for 3PAR/Primera arrays.
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
properties:
|
||||||
|
uuid:
|
||||||
|
description: The UUID of the node.
|
||||||
|
type: string
|
||||||
|
|
||||||
|
record:
|
||||||
|
description: Metadata for the volume group
|
||||||
|
type: map[string]string
|
||||||
|
|
||||||
|
snapshotVolumes:
|
||||||
|
description: Snapshot volumes that are part of this snapshot group
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
properties:
|
||||||
|
srcVolumeId:
|
||||||
|
description: ID of the volume that is the source of this snapshot volume
|
||||||
|
type: string
|
||||||
|
|
||||||
|
srcVolumeName:
|
||||||
|
description: Name of the volume that is the source of this snapshot volume
|
||||||
|
type: string
|
||||||
|
|
||||||
|
snapshotId:
|
||||||
|
description: Snapshot volume Id
|
||||||
|
type: string
|
||||||
|
|
||||||
|
snapshotName:
|
||||||
|
description: Snapshot volume name
|
||||||
|
type: string
|
||||||
|
|
||||||
|
status:
|
||||||
|
acceptedNames:
|
||||||
|
kind: ""
|
||||||
|
plural: ""
|
||||||
|
conditions: []
|
||||||
|
storedVersions: []
|
|
@ -0,0 +1,64 @@
|
||||||
|
apiVersion: apiextensions.k8s.io/v1beta1
|
||||||
|
kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
creationTimestamp: null
|
||||||
|
name: hpevolumegroupinfos.storage.hpe.com
|
||||||
|
spec:
|
||||||
|
group: storage.hpe.com
|
||||||
|
names:
|
||||||
|
kind: HPEVolumeGroupInfo
|
||||||
|
plural: hpevolumegroupinfos
|
||||||
|
shortNames:
|
||||||
|
- hpevgi
|
||||||
|
scope: Cluster
|
||||||
|
version: v1
|
||||||
|
validation:
|
||||||
|
openAPIV3Schema:
|
||||||
|
properties:
|
||||||
|
hpeVolumeGroupInfos:
|
||||||
|
description: List of HPE volume groups configured for 3PAR/Primera arrays.
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
properties:
|
||||||
|
uuid:
|
||||||
|
description: The UUID of the node.
|
||||||
|
type: string
|
||||||
|
|
||||||
|
record:
|
||||||
|
description: Metadata for the volume group
|
||||||
|
type: map[string]string
|
||||||
|
|
||||||
|
snapshotGroups:
|
||||||
|
description: Snapshot groups that are linked to this volume group
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
properties:
|
||||||
|
id:
|
||||||
|
description: ID of the snapshot group
|
||||||
|
type: string
|
||||||
|
|
||||||
|
name:
|
||||||
|
description: Name of the snapshot group
|
||||||
|
type: string
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
description: Volumes that are members in this volume group
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
properties:
|
||||||
|
volumeId:
|
||||||
|
description: ID of the member volume
|
||||||
|
type: string
|
||||||
|
|
||||||
|
volumeName:
|
||||||
|
description: Name of the member volume
|
||||||
|
type: string
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
status:
|
||||||
|
acceptedNames:
|
||||||
|
kind: ""
|
||||||
|
plural: ""
|
||||||
|
conditions: []
|
||||||
|
storedVersions: []
|
|
@ -0,0 +1,60 @@
|
||||||
|
---
|
||||||
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
|
kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
name: snapshotgroupclasses.storage.hpe.com
|
||||||
|
spec:
|
||||||
|
conversion:
|
||||||
|
strategy: None
|
||||||
|
group: storage.hpe.com
|
||||||
|
names:
|
||||||
|
kind: SnapshotGroupClass
|
||||||
|
listKind: SnapshotGroupClassList
|
||||||
|
plural: snapshotgroupclasses
|
||||||
|
singular: snapshotgroupclass
|
||||||
|
scope: Cluster
|
||||||
|
versions:
|
||||||
|
- name: v1
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
description: SnapshotGroupClass specifies parameters that a underlying
|
||||||
|
storage system uses when creating a volumegroup snapshot. A specific SnapshotGroupClass
|
||||||
|
is used by specifying its name in a VolumeGroupSnapshot object. SnapshotGroupClasses
|
||||||
|
are non-namespaced
|
||||||
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
description: APIVersion defines the versioned schema of this representation
|
||||||
|
of an object.
|
||||||
|
type: string
|
||||||
|
deletionPolicy:
|
||||||
|
description: deletionPolicy determines whether a SnapshotGroupContent
|
||||||
|
created through the SnapshotGroupClass should be deleted when its
|
||||||
|
bound SnapshotGroup is deleted. Supported values are "Retain" and
|
||||||
|
"Delete". "Retain" means that the SnapshotGroupContent and its physical
|
||||||
|
snapshotGroup on underlying storage system are kept. "Delete" means that
|
||||||
|
the SnapshotGroupContent and its physical snapshotGroup on underlying
|
||||||
|
storage system are deleted. Required.
|
||||||
|
enum:
|
||||||
|
- Delete
|
||||||
|
- Retain
|
||||||
|
type: string
|
||||||
|
snapshotter:
|
||||||
|
description: snapshotter is the name of the storage driver that handles this
|
||||||
|
SnapshotGroupClass. Required.
|
||||||
|
type: string
|
||||||
|
kind:
|
||||||
|
description: Kind is a string value representing the REST resource
|
||||||
|
this object represents.
|
||||||
|
type: string
|
||||||
|
parameters:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
description: parameters is a key-value map with storage driver specific
|
||||||
|
parameters for creating snapshotGroups. These values are opaque to Kubernetes.
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- deletionPolicy
|
||||||
|
- snapshotter
|
||||||
|
type: object
|
||||||
|
served: true
|
||||||
|
storage: true
|
|
@ -0,0 +1,104 @@
|
||||||
|
---
|
||||||
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
|
kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
name: snapshotgroupcontents.storage.hpe.com
|
||||||
|
spec:
|
||||||
|
conversion:
|
||||||
|
strategy: None
|
||||||
|
group: storage.hpe.com
|
||||||
|
names:
|
||||||
|
kind: SnapshotGroupContent
|
||||||
|
listKind: SnapshotGroupContentList
|
||||||
|
plural: snapshotgroupcontents
|
||||||
|
singular: snapshotgroupcontent
|
||||||
|
scope: Cluster
|
||||||
|
versions:
|
||||||
|
- name: v1
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
description: SnapshotGroupContent represents the actual "on-disk" snapshotGroup
|
||||||
|
object in the underlying storage system
|
||||||
|
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
|
||||||
|
spec:
|
||||||
|
description: spec defines properties of a SnapshotGroupContent created
|
||||||
|
by the underlying storage system. Required.
|
||||||
|
properties:
|
||||||
|
deletionPolicy:
|
||||||
|
description: deletionPolicy determines whether this SnapshotGroupContent
|
||||||
|
and its physical snapshotgroup on the underlying storage system should
|
||||||
|
be deleted when its bound SnapshotGroup is deleted. Supported
|
||||||
|
values are "Retain" and "Delete". "Retain" means that the SnapshotGroupContent
|
||||||
|
and its physical snapshotGroup on underlying storage system are kept.
|
||||||
|
"Delete" means that the SnapshotGroupContent and its physical
|
||||||
|
snapshotGroup on underlying storage system are deleted.
|
||||||
|
Required.
|
||||||
|
enum:
|
||||||
|
- Delete
|
||||||
|
- Retain
|
||||||
|
type: string
|
||||||
|
source:
|
||||||
|
description: source specifies from where a snapshotGroup will be created.Required.
|
||||||
|
properties:
|
||||||
|
snapshotGroupHandle:
|
||||||
|
description: snapshotGroupHandle specifies the snapshotGroup Id
|
||||||
|
of a pre-existing snapshotGroup on the underlying storage system.
|
||||||
|
This field is immutable.
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
snapshotGroupClassName:
|
||||||
|
description: name of the SnapshotGroupClass to which this snapshotGroup belongs.
|
||||||
|
type: string
|
||||||
|
snapshotGroupRef:
|
||||||
|
description: snapshotGroupRef specifies the SnapshotGroup object
|
||||||
|
to which this SnapshotGroupContent object is bound. SnapshotGroup.Spec.SnapshotGroupContentName
|
||||||
|
field must reference to this SnapshotGroupContent's name for
|
||||||
|
the bidirectional binding to be valid.
|
||||||
|
Required.
|
||||||
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
description: API version of the referent.
|
||||||
|
type: string
|
||||||
|
kind:
|
||||||
|
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
|
||||||
|
type: string
|
||||||
|
namespace:
|
||||||
|
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
|
||||||
|
type: string
|
||||||
|
resourceVersion:
|
||||||
|
description: 'Specific resourceVersion to which this reference
|
||||||
|
is made, if any. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency'
|
||||||
|
type: string
|
||||||
|
uid:
|
||||||
|
description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
volumeSnapshotContentNames:
|
||||||
|
description: list of volumeSnapshotContentNames associated with this snapshotGroups
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- deletionPolicy
|
||||||
|
- source
|
||||||
|
- snapshotGroupClassName
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- spec
|
||||||
|
type: object
|
||||||
|
served: true
|
||||||
|
storage: true
|
|
@ -0,0 +1,83 @@
|
||||||
|
---
|
||||||
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
|
kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
name: snapshotgroups.storage.hpe.com
|
||||||
|
spec:
|
||||||
|
conversion:
|
||||||
|
strategy: None
|
||||||
|
group: storage.hpe.com
|
||||||
|
names:
|
||||||
|
kind: SnapshotGroup
|
||||||
|
listKind: SnapshotGroupList
|
||||||
|
plural: snapshotgroups
|
||||||
|
singular: snapshotgroup
|
||||||
|
scope: Namespaced
|
||||||
|
versions:
|
||||||
|
- name: v1
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
description: SnapshotGroup is a user's request for creating a snapshotgroup
|
||||||
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
description: APIVersion defines the versioned schema of this representation
|
||||||
|
of an object.
|
||||||
|
type: string
|
||||||
|
kind:
|
||||||
|
description: 'Kind is a string value representing the REST resource
|
||||||
|
this object represents'
|
||||||
|
type: string
|
||||||
|
spec:
|
||||||
|
description: spec defines the desired characteristics of a snapshotGroup
|
||||||
|
requested by a user.
|
||||||
|
Required.
|
||||||
|
properties:
|
||||||
|
source:
|
||||||
|
description: source specifies where a snapshotGroup will be created.
|
||||||
|
This field is immutable after creation. Required.
|
||||||
|
properties:
|
||||||
|
kind:
|
||||||
|
description: kind of the source (VolumeGroup) is the only supported one.
|
||||||
|
type: string
|
||||||
|
apiGroup:
|
||||||
|
description: apiGroup of the source. Current supported is storage.hpe.com
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: name specifies the volumeGroupName of the VolumeGroup object in the same namespace as the SnapshotGroup object where the snapshotGroup should be dynamically taken from. This field is immutable.
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
volumeSnapshotClassName:
|
||||||
|
description: name of the volumeSnapshotClass to create pre-provisioned snapshots
|
||||||
|
type: string
|
||||||
|
snapshotGroupClassName:
|
||||||
|
description: snapshotGroupClassName is the name of the SnapshotGroupClass requested by the SnapshotGroup.
|
||||||
|
type: string
|
||||||
|
snapshotGroupContentName:
|
||||||
|
description: snapshotGroupContentName is the name of the snapshotGroupContent the snapshotGroup is bound.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- source
|
||||||
|
- volumeSnapshotClassName
|
||||||
|
- snapshotGroupClassName
|
||||||
|
type: object
|
||||||
|
status:
|
||||||
|
description: status represents the current information of a snapshotGroup.
|
||||||
|
properties:
|
||||||
|
creationTime:
|
||||||
|
description: creationTime is the timestamp when the point-in-time
|
||||||
|
snapshotGroup is taken by the underlying storage system.
|
||||||
|
format: date-time
|
||||||
|
type: string
|
||||||
|
phase:
|
||||||
|
description: the state of the snapshotgroup
|
||||||
|
enum:
|
||||||
|
- Pending
|
||||||
|
- Ready
|
||||||
|
- Failed
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- spec
|
||||||
|
type: object
|
||||||
|
served: true
|
||||||
|
storage: true
|
|
@ -0,0 +1,60 @@
|
||||||
|
---
|
||||||
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
|
kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
name: volumegroupclasses.storage.hpe.com
|
||||||
|
spec:
|
||||||
|
conversion:
|
||||||
|
strategy: None
|
||||||
|
group: storage.hpe.com
|
||||||
|
names:
|
||||||
|
kind: VolumeGroupClass
|
||||||
|
listKind: VolumeGroupClassList
|
||||||
|
plural: volumegroupclasses
|
||||||
|
singular: volumegroupclass
|
||||||
|
scope: Cluster
|
||||||
|
versions:
|
||||||
|
- name: v1
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
description: VolumeGroupClass specifies parameters that a underlying
|
||||||
|
storage system uses when creating a volumegroup. A specific VolumeGroupClass
|
||||||
|
is used by specifying its name in a VolumeGroup object. VolumeGroupClasses
|
||||||
|
are non-namespaced
|
||||||
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
description: APIVersion defines the versioned schema of this representation
|
||||||
|
of an object.
|
||||||
|
type: string
|
||||||
|
deletionPolicy:
|
||||||
|
description: deletionPolicy determines whether a VolumeGroupContent
|
||||||
|
created through the VolumeGroupClass should be deleted when its
|
||||||
|
bound VolumeGroup is deleted. Supported values are "Retain" and
|
||||||
|
"Delete". "Retain" means that the VolumeGroupContent and its physical
|
||||||
|
volumeGroup on underlying storage system are kept. "Delete" means that
|
||||||
|
the VolumeGroupContent and its physical volumeGroup on underlying
|
||||||
|
storage system are deleted. Required.
|
||||||
|
enum:
|
||||||
|
- Delete
|
||||||
|
- Retain
|
||||||
|
type: string
|
||||||
|
provisioner:
|
||||||
|
description: provisioner is the name of the storage driver that handles this
|
||||||
|
VolumeGroupClass. Required.
|
||||||
|
type: string
|
||||||
|
kind:
|
||||||
|
description: Kind is a string value representing the REST resource
|
||||||
|
this object represents.
|
||||||
|
type: string
|
||||||
|
parameters:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
description: parameters is a key-value map with storage driver specific
|
||||||
|
parameters for creating volumeGroups. These values are opaque to Kubernetes.
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- deletionPolicy
|
||||||
|
- provisioner
|
||||||
|
type: object
|
||||||
|
served: true
|
||||||
|
storage: true
|
|
@ -0,0 +1,96 @@
|
||||||
|
---
|
||||||
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
|
kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
name: volumegroupcontents.storage.hpe.com
|
||||||
|
spec:
|
||||||
|
conversion:
|
||||||
|
strategy: None
|
||||||
|
group: storage.hpe.com
|
||||||
|
names:
|
||||||
|
kind: VolumeGroupContent
|
||||||
|
listKind: VolumeGroupContentList
|
||||||
|
plural: volumegroupcontents
|
||||||
|
singular: volumegroupcontent
|
||||||
|
scope: Cluster
|
||||||
|
versions:
|
||||||
|
- name: v1
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
description: VolumeGroupContent represents the actual "on-disk" volumeGroup
|
||||||
|
object in the underlying storage system
|
||||||
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
description: APIVersion defines the versioned schema of this representation
|
||||||
|
of an object.
|
||||||
|
type: string
|
||||||
|
kind:
|
||||||
|
description: Kind is a string value representing the REST resource
|
||||||
|
this object represents.
|
||||||
|
type: string
|
||||||
|
spec:
|
||||||
|
description: spec defines properties of a VolumeGroupContent created
|
||||||
|
by the underlying storage system. Required.
|
||||||
|
properties:
|
||||||
|
deletionPolicy:
|
||||||
|
description: deletionPolicy determines whether this VolumeGroupContent
|
||||||
|
and its physical volumegroup on the underlying storage system should
|
||||||
|
be deleted when its bound VolumeGroup is deleted. Supported
|
||||||
|
values are "Retain" and "Delete". "Retain" means that the VolumeGroupContent
|
||||||
|
and its physical volumeGroup on underlying storage system are kept.
|
||||||
|
"Delete" means that the VolumeGroupContent and its physical
|
||||||
|
volumeGroup on underlying storage system are deleted.
|
||||||
|
Required.
|
||||||
|
enum:
|
||||||
|
- Delete
|
||||||
|
- Retain
|
||||||
|
type: string
|
||||||
|
source:
|
||||||
|
description: source specifies from where a volumeGroup will be created.Required.
|
||||||
|
properties:
|
||||||
|
volumeGroupHandle:
|
||||||
|
description: volumeGroupHandle specifies the volumeGroup Id
|
||||||
|
of a pre-existing volumeGroup on the underlying storage system.
|
||||||
|
This field is immutable.
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
volumeGroupClassName:
|
||||||
|
description: name of the VolumeGroupClass to which this volumeGroup belongs.
|
||||||
|
type: string
|
||||||
|
volumeGroupRef:
|
||||||
|
description: volumeGroupRef specifies the VolumeGroup object
|
||||||
|
to which this VolumeGroupContent object is bound. VolumeGroup.Spec.VolumeGroupContentName
|
||||||
|
field must reference to this VolumeGroupContent's name for
|
||||||
|
the bidirectional binding to be valid.
|
||||||
|
Required.
|
||||||
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
description: API version of the referent.
|
||||||
|
type: string
|
||||||
|
kind:
|
||||||
|
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
|
||||||
|
type: string
|
||||||
|
namespace:
|
||||||
|
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
|
||||||
|
type: string
|
||||||
|
resourceVersion:
|
||||||
|
description: 'Specific resourceVersion to which this reference
|
||||||
|
is made, if any. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency'
|
||||||
|
type: string
|
||||||
|
uid:
|
||||||
|
description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- deletionPolicy
|
||||||
|
- source
|
||||||
|
- volumeGroupClassName
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- spec
|
||||||
|
type: object
|
||||||
|
served: true
|
||||||
|
storage: true
|
|
@ -0,0 +1,69 @@
|
||||||
|
---
|
||||||
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
|
kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
name: volumegroups.storage.hpe.com
|
||||||
|
spec:
|
||||||
|
conversion:
|
||||||
|
strategy: None
|
||||||
|
group: storage.hpe.com
|
||||||
|
names:
|
||||||
|
kind: VolumeGroup
|
||||||
|
listKind: VolumeGroupList
|
||||||
|
plural: volumegroups
|
||||||
|
singular: volumegroup
|
||||||
|
scope: Namespaced
|
||||||
|
versions:
|
||||||
|
- name: v1
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
description: VolumeGroup is a user's request for creating a volumegroup
|
||||||
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
description: APIVersion defines the versioned schema of this representation
|
||||||
|
of an object.
|
||||||
|
type: string
|
||||||
|
kind:
|
||||||
|
description: 'Kind is a string value representing the REST resource
|
||||||
|
this object represents'
|
||||||
|
type: string
|
||||||
|
spec:
|
||||||
|
description: spec defines the desired characteristics of a volumeGroup
|
||||||
|
requested by a user.
|
||||||
|
Required.
|
||||||
|
properties:
|
||||||
|
volumeGroupClassName:
|
||||||
|
description: name of the volumeGroupClassName to create volumeGroups
|
||||||
|
type: string
|
||||||
|
persistentVolumeClaimNames:
|
||||||
|
description: persistentVolumeClaimNames are the name of the PVC associated with this volumeGroup.
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
volumeGroupContentName:
|
||||||
|
description: volumeGroupContentName is the name of the volumeGroupContent to which the volumeGroup is bound.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- volumeGroupClassName
|
||||||
|
type: object
|
||||||
|
status:
|
||||||
|
description: status represents the current information of a volumeGroup.
|
||||||
|
properties:
|
||||||
|
creationTime:
|
||||||
|
description: creationTime is the timestamp when the point-in-time
|
||||||
|
volumeGroup is taken by the underlying storage system.
|
||||||
|
format: date-time
|
||||||
|
type: string
|
||||||
|
phase:
|
||||||
|
description: the state of the volumegroup
|
||||||
|
enum:
|
||||||
|
- Pending
|
||||||
|
- Ready
|
||||||
|
- Failed
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- spec
|
||||||
|
type: object
|
||||||
|
served: true
|
||||||
|
storage: true
|
|
@ -1,3 +1,5 @@
|
||||||
|
labels:
|
||||||
|
io.rancher.certified: partner
|
||||||
questions:
|
questions:
|
||||||
- variable: imagePullPolicy
|
- variable: imagePullPolicy
|
||||||
label: "ImagePullPolicy"
|
label: "ImagePullPolicy"
|
||||||
|
@ -18,12 +20,18 @@ questions:
|
||||||
- variable: iscsi.chapUser
|
- variable: iscsi.chapUser
|
||||||
label: "iSCSI CHAP Username"
|
label: "iSCSI CHAP Username"
|
||||||
type: string
|
type: string
|
||||||
required: true
|
required: false
|
||||||
description: "Specify username for iSCSI CHAP authentication"
|
description: "Specify username for iSCSI CHAP authentication"
|
||||||
group: "HPE iSCSI settings"
|
group: "HPE iSCSI settings"
|
||||||
- variable: iscsi.chapPassword
|
- variable: iscsi.chapPassword
|
||||||
label: "iSCSI CHAP Password"
|
label: "iSCSI CHAP Password"
|
||||||
type: password
|
type: password
|
||||||
required: true
|
required: false
|
||||||
description: "Specify password for iSCSI CHAP authentication"
|
description: "Specify password for iSCSI CHAP authentication"
|
||||||
group: "HPE iSCSI settings"
|
group: "HPE iSCSI settings"
|
||||||
|
- variable: registry
|
||||||
|
label: "Registry"
|
||||||
|
type: string
|
||||||
|
default: "quay.io"
|
||||||
|
description: "Specify registry prefix (hostname[:port]) for CSI driver images"
|
||||||
|
group: "HPE CSI Driver settings"
|
||||||
|
|
|
@ -1,14 +1,22 @@
|
||||||
{{- if semverCompare ">=1.14.0" .Capabilities.KubeVersion.GitVersion }}
|
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
################# CSI Driver ###########
|
################# CSI Driver ###########
|
||||||
|
{{- if and (eq .Capabilities.KubeVersion.Major "1") ( ge ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "18") }}
|
||||||
|
apiVersion: storage.k8s.io/v1
|
||||||
|
{{- else if and (eq .Capabilities.KubeVersion.Major "1") ( ge ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "14") }}
|
||||||
apiVersion: storage.k8s.io/v1beta1
|
apiVersion: storage.k8s.io/v1beta1
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- if and (eq .Capabilities.KubeVersion.Major "1") ( ge ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "14") }}
|
||||||
kind: CSIDriver
|
kind: CSIDriver
|
||||||
metadata:
|
metadata:
|
||||||
name: csi.hpe.com
|
name: csi.hpe.com
|
||||||
spec:
|
spec:
|
||||||
podInfoOnMount: true
|
podInfoOnMount: true
|
||||||
{{- if semverCompare ">=1.16.0" .Capabilities.KubeVersion.GitVersion }}
|
{{- if and (eq .Capabilities.KubeVersion.Major "1") ( ge ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "16") }}
|
||||||
volumeLifecycleModes:
|
volumeLifecycleModes:
|
||||||
- Persistent
|
- Persistent
|
||||||
- Ephemeral
|
- Ephemeral
|
||||||
|
|
|
@ -21,7 +21,7 @@ spec:
|
||||||
role: hpe-csi
|
role: hpe-csi
|
||||||
spec:
|
spec:
|
||||||
serviceAccount: hpe-csi-controller-sa
|
serviceAccount: hpe-csi-controller-sa
|
||||||
{{- if semverCompare ">=1.17.0" .Capabilities.KubeVersion.GitVersion }}
|
{{- if and (eq .Capabilities.KubeVersion.Major "1") ( ge ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "17") }}
|
||||||
priorityClassName: system-cluster-critical
|
priorityClassName: system-cluster-critical
|
||||||
{{- end }}
|
{{- end }}
|
||||||
hostNetwork: true
|
hostNetwork: true
|
||||||
|
@ -32,15 +32,15 @@ spec:
|
||||||
value: "1"
|
value: "1"
|
||||||
containers:
|
containers:
|
||||||
- name: csi-provisioner
|
- name: csi-provisioner
|
||||||
{{- if semverCompare "<=1.16.0" .Capabilities.KubeVersion.GitVersion }}
|
{{- if .Values.registry }}
|
||||||
image: quay.io/k8scsi/csi-provisioner:v1.4.0
|
image: {{ .Values.registry }}/k8scsi/csi-provisioner:v1.5.0
|
||||||
{{- else }}
|
{{- else }}
|
||||||
image: quay.io/k8scsi/csi-provisioner:v1.5.0
|
image: quay.io/k8scsi/csi-provisioner:v1.5.0
|
||||||
{{- end }}
|
{{- end }}
|
||||||
args:
|
args:
|
||||||
- "--csi-address=$(ADDRESS)"
|
- "--csi-address=$(ADDRESS)"
|
||||||
- "--v=5"
|
- "--v=5"
|
||||||
{{- if semverCompare ">= 1.13.0" .Capabilities.KubeVersion.GitVersion }}
|
{{- if and (eq .Capabilities.KubeVersion.Major "1") ( ge ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "13") }}
|
||||||
- "--timeout=30s"
|
- "--timeout=30s"
|
||||||
- "--worker-threads=16"
|
- "--worker-threads=16"
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -52,8 +52,8 @@ spec:
|
||||||
- name: socket-dir
|
- name: socket-dir
|
||||||
mountPath: /var/lib/csi/sockets/pluginproxy
|
mountPath: /var/lib/csi/sockets/pluginproxy
|
||||||
- name: csi-attacher
|
- name: csi-attacher
|
||||||
{{- if semverCompare "~1.13.0" .Capabilities.KubeVersion.GitVersion }}
|
{{- if .Values.registry }}
|
||||||
image: quay.io/k8scsi/csi-attacher:v1.1.0
|
image: {{ .Values.registry }}/k8scsi/csi-attacher:v2.1.1
|
||||||
{{- else }}
|
{{- else }}
|
||||||
image: quay.io/k8scsi/csi-attacher:v2.1.1
|
image: quay.io/k8scsi/csi-attacher:v2.1.1
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -67,23 +67,31 @@ spec:
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: socket-dir
|
- name: socket-dir
|
||||||
mountPath: /var/lib/csi/sockets/pluginproxy
|
mountPath: /var/lib/csi/sockets/pluginproxy
|
||||||
{{- if semverCompare ">=1.17.0" .Capabilities.KubeVersion.GitVersion }}
|
{{- if and (eq .Capabilities.KubeVersion.Major "1") ( ge ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "17") }}
|
||||||
- name: csi-snapshotter
|
- name: csi-snapshotter
|
||||||
image: quay.io/k8scsi/csi-snapshotter:v2.0.1
|
{{- if .Values.registry }}
|
||||||
|
image: {{ .Values.registry }}/k8scsi/csi-snapshotter:v3.0.2
|
||||||
|
{{- else }}
|
||||||
|
image: quay.io/k8scsi/csi-snapshotter:v3.0.2
|
||||||
|
{{- end }}
|
||||||
args:
|
args:
|
||||||
- "--v=5"
|
- "--v=5"
|
||||||
- "--csi-address=$(ADDRESS)"
|
- "--csi-address=$(ADDRESS)"
|
||||||
env:
|
env:
|
||||||
- name: ADDRESS
|
- name: ADDRESS
|
||||||
value: /var/lib/csi/sockets/pluginproxy/csi.sock
|
value: /var/lib/csi/sockets/pluginproxy/csi.sock
|
||||||
imagePullPolicy: "Always"
|
imagePullPolicy: {{ .Values.imagePullPolicy | quote }}
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: socket-dir
|
- name: socket-dir
|
||||||
mountPath: /var/lib/csi/sockets/pluginproxy/
|
mountPath: /var/lib/csi/sockets/pluginproxy/
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if semverCompare ">=1.15.0" .Capabilities.KubeVersion.GitVersion }}
|
{{- if and (eq .Capabilities.KubeVersion.Major "1") ( ge ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "15") }}
|
||||||
- name: csi-resizer
|
- name: csi-resizer
|
||||||
|
{{- if .Values.registry }}
|
||||||
|
image: {{ .Values.registry }}/k8scsi/csi-resizer:v0.4.0
|
||||||
|
{{- else }}
|
||||||
image: quay.io/k8scsi/csi-resizer:v0.4.0
|
image: quay.io/k8scsi/csi-resizer:v0.4.0
|
||||||
|
{{- end }}
|
||||||
args:
|
args:
|
||||||
- "--csi-address=$(ADDRESS)"
|
- "--csi-address=$(ADDRESS)"
|
||||||
- "--v=5"
|
- "--v=5"
|
||||||
|
@ -96,7 +104,11 @@ spec:
|
||||||
mountPath: /var/lib/csi/sockets/pluginproxy
|
mountPath: /var/lib/csi/sockets/pluginproxy
|
||||||
{{- end }}
|
{{- end }}
|
||||||
- name: hpe-csi-driver
|
- name: hpe-csi-driver
|
||||||
image: hpestorage/csi-driver:v1.3.0
|
{{- if .Values.registry }}
|
||||||
|
image: {{ .Values.registry }}/hpestorage/csi-driver:v1.4.0
|
||||||
|
{{- else }}
|
||||||
|
image: quay.io/hpestorage/csi-driver:v1.4.0
|
||||||
|
{{- end }}
|
||||||
args :
|
args :
|
||||||
- "--endpoint=$(CSI_ENDPOINT)"
|
- "--endpoint=$(CSI_ENDPOINT)"
|
||||||
- "--flavor=kubernetes"
|
- "--flavor=kubernetes"
|
||||||
|
@ -120,7 +132,43 @@ spec:
|
||||||
- name: root-dir
|
- name: root-dir
|
||||||
mountPath: /host
|
mountPath: /host
|
||||||
- name: csi-volume-mutator
|
- name: csi-volume-mutator
|
||||||
image: quay.io/hpestorage/volume-mutator:v1.0.0
|
{{- if .Values.registry }}
|
||||||
|
image: {{ .Values.registry }}/hpestorage/volume-mutator:v1.2.0
|
||||||
|
{{- else }}
|
||||||
|
image: quay.io/hpestorage/volume-mutator:v1.2.0
|
||||||
|
{{- end }}
|
||||||
|
args:
|
||||||
|
- "--v=5"
|
||||||
|
- "--csi-address=$(ADDRESS)"
|
||||||
|
env:
|
||||||
|
- name: ADDRESS
|
||||||
|
value: /var/lib/csi/sockets/pluginproxy/csi-extensions.sock
|
||||||
|
imagePullPolicy: {{ .Values.imagePullPolicy | quote }}
|
||||||
|
volumeMounts:
|
||||||
|
- name: socket-dir
|
||||||
|
mountPath: /var/lib/csi/sockets/pluginproxy/
|
||||||
|
- name: csi-volume-group-snapshotter
|
||||||
|
{{- if .Values.registry }}
|
||||||
|
image: {{ .Values.registry }}/hpestorage/volume-group-snapshotter:v1.0.0
|
||||||
|
{{- else }}
|
||||||
|
image: quay.io/hpestorage/volume-group-snapshotter:v1.0.0
|
||||||
|
{{- end }}
|
||||||
|
args:
|
||||||
|
- "--v=5"
|
||||||
|
- "--csi-address=$(ADDRESS)"
|
||||||
|
env:
|
||||||
|
- name: ADDRESS
|
||||||
|
value: /var/lib/csi/sockets/pluginproxy/csi-extensions.sock
|
||||||
|
imagePullPolicy: {{ .Values.imagePullPolicy | quote }}
|
||||||
|
volumeMounts:
|
||||||
|
- name: socket-dir
|
||||||
|
mountPath: /var/lib/csi/sockets/pluginproxy/
|
||||||
|
- name: csi-volume-group-provisioner
|
||||||
|
{{- if .Values.registry }}
|
||||||
|
image: {{ .Values.registry }}/hpestorage/volume-group-provisioner:v1.0.0
|
||||||
|
{{- else }}
|
||||||
|
image: quay.io/hpestorage/volume-group-provisioner:v1.0.0
|
||||||
|
{{- end }}
|
||||||
args:
|
args:
|
||||||
- "--v=5"
|
- "--v=5"
|
||||||
- "--csi-address=$(ADDRESS)"
|
- "--csi-address=$(ADDRESS)"
|
||||||
|
@ -132,7 +180,11 @@ spec:
|
||||||
- name: socket-dir
|
- name: socket-dir
|
||||||
mountPath: /var/lib/csi/sockets/pluginproxy/
|
mountPath: /var/lib/csi/sockets/pluginproxy/
|
||||||
- name: csi-extensions
|
- name: csi-extensions
|
||||||
image: quay.io/hpestorage/csi-extensions:v1.0.0
|
{{- if .Values.registry }}
|
||||||
|
image: {{ .Values.registry }}/hpestorage/csi-extensions:v1.2.0
|
||||||
|
{{- else }}
|
||||||
|
image: quay.io/hpestorage/csi-extensions:v1.2.0
|
||||||
|
{{- end }}
|
||||||
args:
|
args:
|
||||||
- "--v=5"
|
- "--v=5"
|
||||||
- "--endpoint=$(CSI_ENDPOINT)"
|
- "--endpoint=$(CSI_ENDPOINT)"
|
||||||
|
|
|
@ -20,7 +20,7 @@ spec:
|
||||||
role: hpe-csi
|
role: hpe-csi
|
||||||
spec:
|
spec:
|
||||||
serviceAccount: hpe-csi-node-sa
|
serviceAccount: hpe-csi-node-sa
|
||||||
{{- if semverCompare ">=1.17.0" .Capabilities.KubeVersion.GitVersion }}
|
{{- if and (eq .Capabilities.KubeVersion.Major "1") ( ge ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "17") }}
|
||||||
priorityClassName: system-node-critical
|
priorityClassName: system-node-critical
|
||||||
{{- end }}
|
{{- end }}
|
||||||
hostNetwork: true
|
hostNetwork: true
|
||||||
|
@ -31,21 +31,21 @@ spec:
|
||||||
value: "1"
|
value: "1"
|
||||||
containers:
|
containers:
|
||||||
- name: csi-node-driver-registrar
|
- name: csi-node-driver-registrar
|
||||||
image: quay.io/k8scsi/csi-node-driver-registrar:v1.1.0
|
{{- if .Values.registry }}
|
||||||
|
image: {{ .Values.registry }}/k8scsi/csi-node-driver-registrar:v2.0.1
|
||||||
|
{{- else }}
|
||||||
|
image: quay.io/k8scsi/csi-node-driver-registrar:v2.0.1
|
||||||
|
{{- end}}
|
||||||
args:
|
args:
|
||||||
- "--csi-address=$(ADDRESS)"
|
- "--csi-address=$(ADDRESS)"
|
||||||
- "--kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)"
|
- "--kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)"
|
||||||
- "--v=5"
|
- "--v=5"
|
||||||
lifecycle:
|
|
||||||
preStop:
|
|
||||||
exec:
|
|
||||||
command: ["/bin/sh", "-c", "rm -rf /registration/csi.hpe.com /registration/csi.hpe.com-reg.sock"]
|
|
||||||
env:
|
env:
|
||||||
- name: ADDRESS
|
- name: ADDRESS
|
||||||
value: /csi/csi.sock
|
value: /csi/csi.sock
|
||||||
- name: DRIVER_REG_SOCK_PATH
|
- name: DRIVER_REG_SOCK_PATH
|
||||||
value: /var/lib/kubelet/plugins/csi.hpe.com/csi.sock
|
value: /var/lib/kubelet/plugins/csi.hpe.com/csi.sock
|
||||||
{{- if semverCompare "~1.12.0" .Capabilities.KubeVersion.GitVersion }}
|
{{- if and (eq .Capabilities.KubeVersion.Major "1") ( eq ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "12") }}
|
||||||
- name: KUBE_NODE_NAME
|
- name: KUBE_NODE_NAME
|
||||||
valueFrom:
|
valueFrom:
|
||||||
fieldRef:
|
fieldRef:
|
||||||
|
@ -55,11 +55,15 @@ spec:
|
||||||
imagePullPolicy: "Always"
|
imagePullPolicy: "Always"
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: plugin-dir
|
- name: plugin-dir
|
||||||
mountPath: /csi/
|
mountPath: /csi
|
||||||
- name: registration-dir
|
- name: registration-dir
|
||||||
mountPath: /registration
|
mountPath: /registration
|
||||||
- name: hpe-csi-driver
|
- name: hpe-csi-driver
|
||||||
image: hpestorage/csi-driver:v1.3.0
|
{{- if .Values.registry }}
|
||||||
|
image: {{ .Values.registry }}/hpestorage/csi-driver:v1.4.0
|
||||||
|
{{- else }}
|
||||||
|
image: quay.io/hpestorage/csi-driver:v1.4.0
|
||||||
|
{{- end}}
|
||||||
args :
|
args :
|
||||||
- "--endpoint=$(CSI_ENDPOINT)"
|
- "--endpoint=$(CSI_ENDPOINT)"
|
||||||
- "--node-service"
|
- "--node-service"
|
||||||
|
@ -121,9 +125,11 @@ spec:
|
||||||
- name: registration-dir
|
- name: registration-dir
|
||||||
hostPath:
|
hostPath:
|
||||||
path: /var/lib/kubelet/plugins_registry
|
path: /var/lib/kubelet/plugins_registry
|
||||||
|
type: Directory
|
||||||
- name: plugin-dir
|
- name: plugin-dir
|
||||||
hostPath:
|
hostPath:
|
||||||
path: /var/lib/kubelet/plugins/csi.hpe.com
|
path: /var/lib/kubelet/plugins/csi.hpe.com
|
||||||
|
type: DirectoryOrCreate
|
||||||
- name: pods-mount-dir
|
- name: pods-mount-dir
|
||||||
hostPath:
|
hostPath:
|
||||||
path: /var/lib/kubelet
|
path: /var/lib/kubelet
|
||||||
|
|
|
@ -46,7 +46,7 @@ rules:
|
||||||
- apiGroups: [""]
|
- apiGroups: [""]
|
||||||
resources: ["events"]
|
resources: ["events"]
|
||||||
verbs: ["list", "watch", "create", "update", "patch"]
|
verbs: ["list", "watch", "create", "update", "patch"]
|
||||||
{{- if semverCompare ">=1.17.0" .Capabilities.KubeVersion.GitVersion }}
|
{{- if and (eq .Capabilities.KubeVersion.Major "1") ( ge ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "17") }}
|
||||||
- apiGroups: ["snapshot.storage.k8s.io"]
|
- apiGroups: ["snapshot.storage.k8s.io"]
|
||||||
resources: ["volumesnapshots"]
|
resources: ["volumesnapshots"]
|
||||||
verbs: ["get", "list"]
|
verbs: ["get", "list"]
|
||||||
|
@ -98,10 +98,10 @@ rules:
|
||||||
- apiGroups: [""]
|
- apiGroups: [""]
|
||||||
resources: ["secrets"]
|
resources: ["secrets"]
|
||||||
verbs: ["get", "watch", "list"]
|
verbs: ["get", "watch", "list"]
|
||||||
{{- if semverCompare "~1.12.0" .Capabilities.KubeVersion.GitVersion }}
|
{{- if and (eq .Capabilities.KubeVersion.Major "1") ( eq ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "12") }}
|
||||||
resources: ["csinodeinfos"]
|
resources: ["csinodeinfos"]
|
||||||
verbs: ["get", "list", "watch"]
|
verbs: ["get", "list", "watch"]
|
||||||
{{- else if semverCompare "~1.13.0" .Capabilities.KubeVersion.GitVersion }}
|
{{- else if and (eq .Capabilities.KubeVersion.Major "1") ( eq ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "13") }}
|
||||||
- apiGroups: ["csi.storage.k8s.io"]
|
- apiGroups: ["csi.storage.k8s.io"]
|
||||||
resources: ["csinodeinfos"]
|
resources: ["csinodeinfos"]
|
||||||
verbs: ["get", "list", "watch"]
|
verbs: ["get", "list", "watch"]
|
||||||
|
@ -127,7 +127,7 @@ roleRef:
|
||||||
apiGroup: rbac.authorization.k8s.io
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
|
||||||
|
|
||||||
{{- if semverCompare ">=1.17.0" .Capabilities.KubeVersion.GitVersion }}
|
{{- if and (eq .Capabilities.KubeVersion.Major "1") ( ge ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "17") }}
|
||||||
---
|
---
|
||||||
|
|
||||||
kind: ClusterRole
|
kind: ClusterRole
|
||||||
|
@ -186,8 +186,7 @@ roleRef:
|
||||||
|
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
|
{{- if and (eq .Capabilities.KubeVersion.Major "1") ( ge ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "15") }}
|
||||||
{{- if semverCompare ">=1.15.0" .Capabilities.KubeVersion.GitVersion }}
|
|
||||||
---
|
---
|
||||||
# Resizer must be able to work with PVCs, PVs, SCs.
|
# Resizer must be able to work with PVCs, PVs, SCs.
|
||||||
kind: ClusterRole
|
kind: ClusterRole
|
||||||
|
@ -260,6 +259,154 @@ roleRef:
|
||||||
apiGroup: rbac.authorization.k8s.io
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
# cluster role to support volumegroup
|
||||||
|
kind: ClusterRole
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
metadata:
|
||||||
|
name: hpe-csi-volumegroup-role
|
||||||
|
rules:
|
||||||
|
- apiGroups: ["storage.hpe.com"]
|
||||||
|
resources: ["volumegroups"]
|
||||||
|
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
||||||
|
- apiGroups: ["storage.hpe.com"]
|
||||||
|
resources: ["volumegroupcontents"]
|
||||||
|
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
||||||
|
- apiGroups: ["storage.hpe.com"]
|
||||||
|
resources: ["volumegroupclasses"]
|
||||||
|
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
||||||
|
- apiGroups: ["storage.hpe.com"]
|
||||||
|
resources: ["volumegroups/status"]
|
||||||
|
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
||||||
|
- apiGroups: ["storage.hpe.com"]
|
||||||
|
resources: ["volumegroupcontents/status"]
|
||||||
|
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
||||||
|
- apiGroups: [""]
|
||||||
|
resources: ["namespaces"]
|
||||||
|
verbs: ["get", "list", "create"]
|
||||||
|
- apiGroups: [""]
|
||||||
|
resources: ["persistentvolumes"]
|
||||||
|
verbs: ["get", "list", "watch", "create", "delete"]
|
||||||
|
- apiGroups: [""]
|
||||||
|
resources: ["persistentvolumeclaims"]
|
||||||
|
verbs: ["create", "get", "list", "watch", "update", "delete"]
|
||||||
|
- apiGroups: [""]
|
||||||
|
resources: ["persistentvolumeclaims/status"]
|
||||||
|
verbs: ["update", "patch"]
|
||||||
|
- apiGroups: [""]
|
||||||
|
resources: ["events"]
|
||||||
|
verbs: ["list", "watch", "create", "update", "patch"]
|
||||||
|
- apiGroups: [""]
|
||||||
|
resources: ["secrets"]
|
||||||
|
verbs: ["get"]
|
||||||
|
- apiGroups: ["apiextensions.k8s.io"]
|
||||||
|
resources: ["customresourcedefinitions"]
|
||||||
|
verbs: ["create", "list", "watch", "delete", "get", "update"]
|
||||||
|
- apiGroups: ["coordination.k8s.io"]
|
||||||
|
resources: ["leases"]
|
||||||
|
verbs: ["get", "watch", "list", "delete", "update", "create"]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
kind: ClusterRoleBinding
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
metadata:
|
||||||
|
name: hpe-csi-volumegroup-binding
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: hpe-csi-controller-sa
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
roleRef:
|
||||||
|
kind: ClusterRole
|
||||||
|
name: hpe-csi-volumegroup-role
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
|
||||||
|
---
|
||||||
|
# cluster role to support snapshotgroup
|
||||||
|
kind: ClusterRole
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
metadata:
|
||||||
|
name: hpe-csi-snapshotgroup-role
|
||||||
|
rules:
|
||||||
|
- apiGroups: ["storage.hpe.com"]
|
||||||
|
resources: ["snapshotgroups"]
|
||||||
|
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
||||||
|
- apiGroups: ["storage.hpe.com"]
|
||||||
|
resources: ["snapshotgroupcontents"]
|
||||||
|
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
||||||
|
- apiGroups: ["storage.hpe.com"]
|
||||||
|
resources: ["snapshotgroupclasses"]
|
||||||
|
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
||||||
|
- apiGroups: ["storage.hpe.com"]
|
||||||
|
resources: ["snapshotgroups/status"]
|
||||||
|
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
||||||
|
- apiGroups: ["storage.hpe.com"]
|
||||||
|
resources: ["snapshotgroupcontents/status"]
|
||||||
|
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
||||||
|
- apiGroups: [""]
|
||||||
|
resources: ["namespaces"]
|
||||||
|
verbs: ["get", "list", "create"]
|
||||||
|
- apiGroups: [""]
|
||||||
|
resources: ["persistentvolumes"]
|
||||||
|
verbs: ["get", "list", "watch", "create", "delete"]
|
||||||
|
- apiGroups: [""]
|
||||||
|
resources: ["persistentvolumeclaims"]
|
||||||
|
verbs: ["create", "get", "list", "watch", "update", "delete"]
|
||||||
|
- apiGroups: [""]
|
||||||
|
resources: ["persistentvolumeclaims/status"]
|
||||||
|
verbs: ["update", "patch"]
|
||||||
|
- apiGroups: [""]
|
||||||
|
resources: ["events"]
|
||||||
|
verbs: ["list", "watch", "create", "update", "patch"]
|
||||||
|
- apiGroups: [""]
|
||||||
|
resources: ["secrets"]
|
||||||
|
verbs: ["get"]
|
||||||
|
- apiGroups: ["apiextensions.k8s.io"]
|
||||||
|
resources: ["customresourcedefinitions"]
|
||||||
|
verbs: ["create", "list", "watch", "delete", "get", "update"]
|
||||||
|
- apiGroups: ["coordination.k8s.io"]
|
||||||
|
resources: ["leases"]
|
||||||
|
verbs: ["get", "watch", "list", "delete", "update", "create"]
|
||||||
|
- apiGroups: ["storage.hpe.com"]
|
||||||
|
resources: ["volumegroups"]
|
||||||
|
verbs: ["get", "list", "watch"]
|
||||||
|
- apiGroups: ["storage.hpe.com"]
|
||||||
|
resources: ["volumegroupcontents"]
|
||||||
|
verbs: ["get", "list", "watch"]
|
||||||
|
- apiGroups: ["storage.hpe.com"]
|
||||||
|
resources: ["volumegroupclasses"]
|
||||||
|
verbs: ["get", "list", "watch"]
|
||||||
|
- apiGroups: ["snapshot.storage.k8s.io"]
|
||||||
|
resources: ["volumesnapshotcontents"]
|
||||||
|
verbs: ["create", "get", "list", "watch", "update", "delete"]
|
||||||
|
- apiGroups: ["snapshot.storage.k8s.io"]
|
||||||
|
resources: ["volumesnapshotcontents/status"]
|
||||||
|
verbs: ["create", "get", "list", "watch", "update", "delete"]
|
||||||
|
- apiGroups: ["snapshot.storage.k8s.io"]
|
||||||
|
resources: ["volumesnapshots"]
|
||||||
|
verbs: ["create", "get", "list", "watch", "update", "delete"]
|
||||||
|
- apiGroups: ["snapshot.storage.k8s.io"]
|
||||||
|
resources: ["volumesnapshots/status"]
|
||||||
|
verbs: ["update"]
|
||||||
|
- apiGroups: ["snapshot.storage.k8s.io"]
|
||||||
|
resources: ["volumesnapshotclasses"]
|
||||||
|
verbs: ["get", "list"]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
kind: ClusterRoleBinding
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
metadata:
|
||||||
|
name: hpe-csi-snapshotgroup-binding
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: hpe-csi-controller-sa
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
roleRef:
|
||||||
|
kind: ClusterRole
|
||||||
|
name: hpe-csi-snapshotgroup-role
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
|
||||||
---
|
---
|
||||||
# mutator must be able to work with PVCs, PVs, SCs.
|
# mutator must be able to work with PVCs, PVs, SCs.
|
||||||
kind: ClusterRole
|
kind: ClusterRole
|
||||||
|
@ -295,7 +442,8 @@ subjects:
|
||||||
- kind: ServiceAccount
|
- kind: ServiceAccount
|
||||||
name: hpe-csi-controller-sa
|
name: hpe-csi-controller-sa
|
||||||
# replace with non-default namespace name
|
# replace with non-default namespace name
|
||||||
namespace: kube-system
|
namespace: {{ .Release.Namespace }}
|
||||||
|
|
||||||
roleRef:
|
roleRef:
|
||||||
kind: ClusterRole
|
kind: ClusterRole
|
||||||
name: csi-mutator-role
|
name: csi-mutator-role
|
||||||
|
@ -307,7 +455,7 @@ roleRef:
|
||||||
kind: Role
|
kind: Role
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
metadata:
|
metadata:
|
||||||
namespace: kube-system
|
namespace: {{ .Release.Namespace }}
|
||||||
name: csi-mutator-cfg
|
name: csi-mutator-cfg
|
||||||
rules:
|
rules:
|
||||||
- apiGroups: ["coordination.k8s.io"]
|
- apiGroups: ["coordination.k8s.io"]
|
||||||
|
@ -319,11 +467,12 @@ kind: RoleBinding
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
metadata:
|
metadata:
|
||||||
name: csi-mutator-role-cfg
|
name: csi-mutator-role-cfg
|
||||||
namespace: kube-system
|
namespace: {{ .Release.Namespace }}
|
||||||
subjects:
|
subjects:
|
||||||
- kind: ServiceAccount
|
- kind: ServiceAccount
|
||||||
name: hpe-csi-controller-sa
|
name: hpe-csi-controller-sa
|
||||||
namespace: kube-system
|
namespace: {{ .Release.Namespace }}
|
||||||
|
|
||||||
roleRef:
|
roleRef:
|
||||||
kind: Role
|
kind: Role
|
||||||
name: csi-mutator-cfg
|
name: csi-mutator-cfg
|
||||||
|
@ -347,6 +496,12 @@ rules:
|
||||||
- apiGroups: ["storage.hpe.com"]
|
- apiGroups: ["storage.hpe.com"]
|
||||||
resources: ["hpereplicationdeviceinfos"]
|
resources: ["hpereplicationdeviceinfos"]
|
||||||
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
||||||
|
- apiGroups: ["storage.hpe.com"]
|
||||||
|
resources: ["hpevolumegroupinfos"]
|
||||||
|
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
||||||
|
- apiGroups: ["storage.hpe.com"]
|
||||||
|
resources: ["hpesnapshotgroupinfos"]
|
||||||
|
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
||||||
- apiGroups: [""]
|
- apiGroups: [""]
|
||||||
resources: ["pods"]
|
resources: ["pods"]
|
||||||
verbs: ["get", "list"]
|
verbs: ["get", "list"]
|
||||||
|
|
|
@ -32,12 +32,16 @@ spec:
|
||||||
app: nimble-csp
|
app: nimble-csp
|
||||||
spec:
|
spec:
|
||||||
serviceAccount: hpe-csp-sa
|
serviceAccount: hpe-csp-sa
|
||||||
{{- if semverCompare ">=1.17.0" .Capabilities.KubeVersion.GitVersion }}
|
{{- if and (eq .Capabilities.KubeVersion.Major "1") ( ge ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "17") }}
|
||||||
priorityClassName: system-cluster-critical
|
priorityClassName: system-cluster-critical
|
||||||
{{- end }}
|
{{- end }}
|
||||||
containers:
|
containers:
|
||||||
- name: nimble-csp
|
- name: nimble-csp
|
||||||
image: hpestorage/nimble-csp:v1.3.0
|
{{- if .Values.registry }}
|
||||||
|
image: {{ .Values.registry }}/hpestorage/nimble-csp:v1.4.0
|
||||||
|
{{- else }}
|
||||||
|
image: quay.io/hpestorage/nimble-csp:v1.4.0
|
||||||
|
{{- end }}
|
||||||
imagePullPolicy: {{ .Values.imagePullPolicy | quote }}
|
imagePullPolicy: {{ .Values.imagePullPolicy | quote }}
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 8080
|
- containerPort: 8080
|
||||||
|
|
|
@ -34,12 +34,16 @@ spec:
|
||||||
app: primera3par-csp
|
app: primera3par-csp
|
||||||
spec:
|
spec:
|
||||||
serviceAccount: hpe-csp-sa
|
serviceAccount: hpe-csp-sa
|
||||||
{{- if semverCompare ">=1.17.0" .Capabilities.KubeVersion.GitVersion }}
|
{{- if and (eq .Capabilities.KubeVersion.Major "1") ( ge ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "17") }}
|
||||||
priorityClassName: system-cluster-critical
|
priorityClassName: system-cluster-critical
|
||||||
{{- end }}
|
{{- end }}
|
||||||
containers:
|
containers:
|
||||||
- name: primera3par-csp
|
- name: primera3par-csp
|
||||||
image: hpestorage/hpe3parprimera-csp:v1.1.0
|
{{- if .Values.registry }}
|
||||||
|
image: {{ .Values.registry }}/hpestorage/hpe3parprimera-csp:v1.2.0
|
||||||
|
{{- else }}
|
||||||
|
image: quay.io/hpestorage/hpe3parprimera-csp:v1.2.0
|
||||||
|
{{- end }}
|
||||||
imagePullPolicy: {{ .Values.imagePullPolicy | quote }}
|
imagePullPolicy: {{ .Values.imagePullPolicy | quote }}
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 8080
|
- containerPort: 8080
|
||||||
|
@ -58,4 +62,4 @@ spec:
|
||||||
- effect: NoExecute
|
- effect: NoExecute
|
||||||
key: node.kubernetes.io/unreachable
|
key: node.kubernetes.io/unreachable
|
||||||
operator: Exists
|
operator: Exists
|
||||||
tolerationSeconds: 30
|
tolerationSeconds: 30
|
||||||
|
|
|
@ -24,7 +24,7 @@ metadata:
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
provisioner: csi.hpe.com
|
provisioner: csi.hpe.com
|
||||||
{{- if semverCompare ">=1.15.0" .Capabilities.KubeVersion.GitVersion }}
|
{{- if and (eq .Capabilities.KubeVersion.Major "1") ( ge ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "15") }}
|
||||||
allowVolumeExpansion: {{ $sc.allowVolumeExpansion }}
|
allowVolumeExpansion: {{ $sc.allowVolumeExpansion }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
parameters:
|
parameters:
|
||||||
|
|
|
@ -17,4 +17,8 @@ disableNodeConformance: false
|
||||||
# values for CHAP Authentication
|
# values for CHAP Authentication
|
||||||
iscsi:
|
iscsi:
|
||||||
chapUser: ""
|
chapUser: ""
|
||||||
chapPassword: ""
|
chapPassword: ""
|
||||||
|
|
||||||
|
# registry prefix for hpe csi images
|
||||||
|
registry: "quay.io"
|
||||||
|
|
||||||
|
|
25
index.yaml
25
index.yaml
|
@ -306,6 +306,29 @@ entries:
|
||||||
- assets/haproxy/haproxy-1.4.300.tgz
|
- assets/haproxy/haproxy-1.4.300.tgz
|
||||||
version: 1.4.300
|
version: 1.4.300
|
||||||
hpe-csi-driver:
|
hpe-csi-driver:
|
||||||
|
- annotations:
|
||||||
|
catalog.cattle.io/certified: partner
|
||||||
|
catalog.cattle.io/release-name: hpe-csi-driver
|
||||||
|
apiVersion: v1
|
||||||
|
appVersion: 1.4.0
|
||||||
|
created: "2021-02-25T22:46:37.811643961Z"
|
||||||
|
description: A Helm chart for installing the HPE CSI Driver for Kubernetes
|
||||||
|
digest: 487dca3d6bdf6961bf29425945b40974667a67723d2a8d9edbca87285e628793
|
||||||
|
home: https://hpe.com/storage/containers
|
||||||
|
icon: https://raw.githubusercontent.com/hpe-storage/co-deployments/master/docs/assets/hpedev.png
|
||||||
|
keywords:
|
||||||
|
- HPE
|
||||||
|
- Storage
|
||||||
|
- StorageClass
|
||||||
|
maintainers:
|
||||||
|
- email: hpe-containers-dev@hpe.com
|
||||||
|
name: raunakkumar
|
||||||
|
name: hpe-csi-driver
|
||||||
|
sources:
|
||||||
|
- https://scod.hpedev.io/csi_driver
|
||||||
|
urls:
|
||||||
|
- assets/hpe-csi-driver/hpe-csi-driver-1.4.200.tgz
|
||||||
|
version: 1.4.200
|
||||||
- annotations:
|
- annotations:
|
||||||
catalog.cattle.io/certified: partner
|
catalog.cattle.io/certified: partner
|
||||||
catalog.cattle.io/release-name: hpe-csi-driver
|
catalog.cattle.io/release-name: hpe-csi-driver
|
||||||
|
@ -527,4 +550,4 @@ entries:
|
||||||
urls:
|
urls:
|
||||||
- assets/sysdig/sysdig-1.9.200.tgz
|
- assets/sysdig/sysdig-1.9.200.tgz
|
||||||
version: 1.9.200
|
version: 1.9.200
|
||||||
generated: "2021-02-25T20:17:31.425563557Z"
|
generated: "2021-02-25T22:46:37.810270792Z"
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
6a2f70133586be6504959a95c67afe48ec5209b83fcf4759932debfe8f56f273 packages/hpe-csi-driver/hpe-csi-driver.patch
|
0a18dff42f55ecf52ccad858dc318fd2b0f08439b36f3d74f1f79e1e0da0b6fe packages/hpe-csi-driver/hpe-csi-driver.patch
|
||||||
29d960d6d8b6fa6b1a353f6abc8e219df090f3a544d05e4f99f45fd9c0ce3dc5 packages/hpe-csi-driver/package.yaml
|
132c211126b8c829d4b30ccc4019c0593d7e2bf70efee4eb22228c61a1ad1198 packages/hpe-csi-driver/package.yaml
|
||||||
|
|
Loading…
Reference in New Issue