helm: Support VolumeSnapshotClass and VolumeGroupSnapshotClass

This PR add support for creating VolumeSnapshotClass and
VolumeGroupSnapshotClass with helm charts. Both default with
`create: false` as StorageClass support.

Moreover, it handle the chart release with branch `gh-pages`, by
integrate with <https://github.com/helm/chart-releaser-action>.

The sample helm repo could find from
<https://alvistack.github.io/ceph-ceph-csi/index.yaml>, by:

    helm repo add ceph-csi https://alvistack.github.io/ceph-ceph-csi
    helm repo update
    helm search repo ceph-csi

Signed-off-by: Wong Hoi Sing Edison <hswong3i@pantarei-design.com>
This commit is contained in:
Wong Hoi Sing Edison
2025-04-10 18:19:32 +08:00
parent 73579f94c7
commit dd3139dfb1
9 changed files with 284 additions and 0 deletions

View File

@ -214,6 +214,22 @@ charts and their default values.
| `storageClass.reclaimPolicy` | Specifies the reclaim policy of the StorageClass | `Delete` |
| `storageClass.allowVolumeExpansion` | Specifies whether volume expansion should be allowed | `true` |
| `storageClass.mountOptions` | Specifies the mount options | `[]` |
| `volumeSnapshotClass.create` | Specifies whether the VolumeSnapshotClass should be created | `false` |
| `volumeSnapshotClass.name` | Specifies the cephFS VolumeSnapshotClass name | `csi-cephfsplugin-snapclass` |
| `volumeSnapshotClass.annotations` | Specifies the annotations for the cephFS volumeSnapshotClass | `[]` |
| `volumeSnapshotClass.clusterID` | String representing a Ceph cluster to provision storage snapshot from | `<cluster-ID>` |
| `volumeSnapshotClass.snapshotNamePrefix` | Prefix to use for naming CephFS snapshots | `""` |
| `volumeSnapshotClass.snapshotterSecret` | The secrets have to contain user and/or Ceph admin credentials. | `csi-cephfs-secret` |
| `volumeSnapshotClass.snapshotterSecretNamespace` | Specifies the snapshotter secret namespace | `""` |
| `volumeSnapshotClass.deletionPolicy` | Specifies the deletion policy of the VolumeSnapshotClass | `Delete` |
| `volumeGroupSnapshotClass.name` | Specifies the cephFS VolumeGroupSnapshotClass name | `csi-cephfsplugin-groupsnapclass` |
| `volumeGroupSnapshotClass.annotations` | Specifies the annotations for the cephFS volumeGroupSnapshotClass | `[]` |
| `volumeGroupSnapshotClass.clusterID` | String representing a Ceph cluster to provision storage group snapshot from | `<cluster-ID>` |
| `volumeGroupSnapshotClass.fsName` | CephFS filesystem name into which the volume shall be created | `myfs` |
| `volumeGroupSnapshotClass.volumeGroupNamePrefix` | Prefix to use for naming CephFS volumeGroups | `""` |
| `volumeGroupSnapshotClass.groupSnapshotterSecret` | The secrets have to contain user and/or Ceph admin credentials. | `csi-cephfs-secret` |
| `volumeGroupSnapshotClass.groupSnapshotterSecretNamespace` | Specifies the groupSnapshotter secret namespace | `""` |
| `volumeGroupSnapshotClass.deletionPolicy` | Specifies the deletion policy of the VolumeGroupSnapshotClass | `Delete` |
| `secret.create` | Specifies whether the secret should be created | `false` |
| `secret.name` | Specifies the cephFS secret name | `csi-cephfs-secret` |
| `secret.userID` | Specifies the user ID of the cephFS secret. | `""` |