From af752dd38f8e74d84987ab14f2ac489a10bb635c Mon Sep 17 00:00:00 2001 From: Shaohui Liu Date: Tue, 26 Oct 2021 11:32:17 +0800 Subject: [PATCH] helm: support adding annotations to StorageClasses Signed-off-by: Shaohui Liu --- charts/ceph-csi-cephfs/README.md | 1 + .../templates/storageclass.yaml | 18 +++++++++++------- charts/ceph-csi-cephfs/values.yaml | 6 ++++++ charts/ceph-csi-rbd/README.md | 1 + .../ceph-csi-rbd/templates/storageclass.yaml | 18 +++++++++++------- charts/ceph-csi-rbd/values.yaml | 7 +++++++ 6 files changed, 37 insertions(+), 14 deletions(-) diff --git a/charts/ceph-csi-cephfs/README.md b/charts/ceph-csi-cephfs/README.md index 89a22d9f8..302bec8d5 100644 --- a/charts/ceph-csi-cephfs/README.md +++ b/charts/ceph-csi-cephfs/README.md @@ -135,6 +135,7 @@ charts and their default values. | `externallyManagedConfigmap` | Specifies the use of an externally provided configmap | `false` | | `storageClass.create` | Specifies whether the StorageClass should be created | `false` | | `storageClass.name` | Specifies the cephFS StorageClass name | `csi-cephfs-sc` | +| `storageClass.annotations` | Specifies the annotations for the cephFS storageClass | `[]` | | `storageClass.clusterID` | String representing a Ceph cluster to provision storage from | `` | | `storageClass.fsName` | CephFS filesystem name into which the volume shall be created | `myfs` | | `storageClass.pool` | Ceph pool into which volume data shall be stored | `""` | diff --git a/charts/ceph-csi-cephfs/templates/storageclass.yaml b/charts/ceph-csi-cephfs/templates/storageclass.yaml index 52ffa98de..62709adc2 100644 --- a/charts/ceph-csi-cephfs/templates/storageclass.yaml +++ b/charts/ceph-csi-cephfs/templates/storageclass.yaml @@ -2,13 +2,17 @@ apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: - name: {{ .Values.storageClass.name }} - namespace: {{ .Release.Namespace }} - labels: - app: {{ include "ceph-csi-cephfs.name" . }} - chart: {{ include "ceph-csi-cephfs.chart" . }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} + name: {{ .Values.storageClass.name }} + namespace: {{ .Release.Namespace }} +{{- if .Values.storageClass.annotations }} + annotations: +{{ toYaml .Values.storageClass.annotations | indent 4 }} +{{- end }} + labels: + app: {{ include "ceph-csi-cephfs.name" . }} + chart: {{ include "ceph-csi-cephfs.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} provisioner: {{ .Values.driverName }} parameters: clusterID: {{ .Values.storageClass.clusterID }} diff --git a/charts/ceph-csi-cephfs/values.yaml b/charts/ceph-csi-cephfs/values.yaml index d01274b98..1eef9546a 100644 --- a/charts/ceph-csi-cephfs/values.yaml +++ b/charts/ceph-csi-cephfs/values.yaml @@ -217,6 +217,12 @@ storageClass: # Specifies whether the Storage class should be created create: false name: csi-cephfs-sc + # Annotations for the storage class + # Example: + # annotations: + # storageclass.kubernetes.io/is-default-class: "true" + annotations: {} + # String representing a Ceph cluster to provision storage from. # Should be unique across all Ceph clusters in use for provisioning, # cannot be greater than 36 bytes in length, and should remain immutable for diff --git a/charts/ceph-csi-rbd/README.md b/charts/ceph-csi-rbd/README.md index 46223c54d..c048a6d73 100644 --- a/charts/ceph-csi-rbd/README.md +++ b/charts/ceph-csi-rbd/README.md @@ -145,6 +145,7 @@ charts and their default values. | `kmsConfigMapName` | Name of the configmap used for encryption kms configuration | `ceph-csi-encryption-kms-config` | | `storageClass.create` | Specifies whether the StorageClass should be created | `false` | | `storageClass.name` | Specifies the rbd StorageClass name | `csi-rbd-sc` | +| `storageClass.annotations` | Specifies the annotations for the rbd StorageClass | `[]` | | `storageClass.clusterID` | String representing a Ceph cluster to provision storage from | `` | | `storageClass.dataPool` | Specifies the erasure coded pool | `""` | | `storageClass.pool` | Ceph pool into which the RBD image shall be created | `replicapool` | diff --git a/charts/ceph-csi-rbd/templates/storageclass.yaml b/charts/ceph-csi-rbd/templates/storageclass.yaml index 88d12c1a4..caba90305 100644 --- a/charts/ceph-csi-rbd/templates/storageclass.yaml +++ b/charts/ceph-csi-rbd/templates/storageclass.yaml @@ -2,13 +2,17 @@ apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: - name: {{ .Values.storageClass.name }} - namespace: {{ .Release.Namespace }} - labels: - app: {{ include "ceph-csi-rbd.name" . }} - chart: {{ include "ceph-csi-rbd.chart" . }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} + name: {{ .Values.storageClass.name }} + namespace: {{ .Release.Namespace }} +{{- if .Values.storageClass.annotations }} + annotations: +{{ toYaml .Values.storageClass.annotations | indent 4 }} +{{- end }} + labels: + app: {{ include "ceph-csi-rbd.name" . }} + chart: {{ include "ceph-csi-rbd.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} provisioner: {{ .Values.driverName }} parameters: clusterID: {{ .Values.storageClass.clusterID }} diff --git a/charts/ceph-csi-rbd/values.yaml b/charts/ceph-csi-rbd/values.yaml index 655fce1aa..d0ae4f92e 100644 --- a/charts/ceph-csi-rbd/values.yaml +++ b/charts/ceph-csi-rbd/values.yaml @@ -254,6 +254,13 @@ storageClass: # Specifies whether the storageclass should be created create: false name: csi-rbd-sc + + # Annotations for the storage class + # Example: + # annotations: + # storageclass.kubernetes.io/is-default-class: "true" + annotations: {} + # (required) String representing a Ceph cluster to provision storage from. # Should be unique across all Ceph clusters in use for provisioning, # cannot be greater than 36 bytes in length, and should remain immutable for