Skip to content

Commit ef130c9

Browse files
srikxcipherapecloud-bot
authored andcommitted
feat: make StorageClass reclaimPolicy configurable via values.yaml (#10040)
(cherry picked from commit 79c4d57)
1 parent 2df3178 commit ef130c9

File tree

2 files changed

+13
-6
lines changed

2 files changed

+13
-6
lines changed

deploy/helm/templates/storageclass.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ parameters:
1414
type: {{ .Values.storageClass.provider.aws.volumeType }} # io2, io1, gp3, gp2 are all SSD variant
1515
"csi.storage.k8s.io/fstype": {{ .Values.storageClass.provider.aws.fsType | default "xfs" }}
1616
provisioner: ebs.csi.aws.com
17-
reclaimPolicy: Delete
17+
reclaimPolicy: {{ .Values.storageClass.reclaimPolicy | default "Delete" }}
1818
volumeBindingMode: WaitForFirstConsumer
1919
---
2020
{{- else if eq $cloudProvider "gcp" }}
@@ -30,7 +30,7 @@ parameters:
3030
type: {{ .Values.storageClass.provider.gcp.volumeType }}
3131
csi.storage.k8s.io/fstype: {{ .Values.storageClass.provider.gcp.fsType | default "xfs" }}
3232
provisioner: pd.csi.storage.gke.io
33-
reclaimPolicy: Delete
33+
reclaimPolicy: {{ .Values.storageClass.reclaimPolicy | default "Delete" }}
3434
volumeBindingMode: WaitForFirstConsumer
3535
---
3636
{{- else if eq $cloudProvider "aliyun" }}
@@ -46,7 +46,7 @@ parameters:
4646
fstype: {{ .Values.storageClass.provider.aliyun.fsType | default "xfs" }}
4747
type: {{ .Values.storageClass.provider.aliyun.volumeType }}
4848
provisioner: diskplugin.csi.alibabacloud.com
49-
reclaimPolicy: Delete
49+
reclaimPolicy: {{ .Values.storageClass.reclaimPolicy | default "Delete" }}
5050
volumeBindingMode: WaitForFirstConsumer
5151
---
5252
{{- else if eq $cloudProvider "tencentCloud" }}
@@ -59,7 +59,7 @@ metadata:
5959
parameters:
6060
## parameters references: https://cloud.tencent.com/document/product/457/44239, the fsType is not supported by tke.
6161
type: {{ .Values.storageClass.provider.tencentCloud.volumeType }}
62-
reclaimPolicy: Delete
62+
reclaimPolicy: {{ .Values.storageClass.reclaimPolicy | default "Delete" }}
6363
provisioner: com.tencent.cloud.csi.cbs
6464
volumeBindingMode: WaitForFirstConsumer
6565
---
@@ -78,7 +78,7 @@ parameters:
7878
kind: {{ .Values.storageClass.provider.azure.volumeType }}
7979
skuName: Standard_LRS
8080
provisioner: kubernetes.io/azure-disk
81-
reclaimPolicy: Delete
81+
reclaimPolicy: {{ .Values.storageClass.reclaimPolicy | default "Delete" }}
8282
volumeBindingMode: WaitForFirstConsumer
8383
---
8484
{{- else if eq $cloudProvider "huaweiCloud" }} # huawei cloud
@@ -95,7 +95,7 @@ parameters:
9595
everest.io/disk-volume-type: {{ .Values.storageClass.provider.huaweiCloud.volumeType }}
9696
everest.io/passthrough: "true"
9797
provisioner: everest-csi-provisioner
98-
reclaimPolicy: Delete
98+
reclaimPolicy: {{ .Values.storageClass.reclaimPolicy | default "Delete" }}
9999
volumeBindingMode: WaitForFirstConsumer
100100
allowVolumeExpansion: true
101101
---

deploy/helm/values.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -518,6 +518,13 @@ storageClass:
518518
## specified or generated, this value will be ignored.
519519
##
520520
create: true
521+
## @param storageClass.reclaimPolicy -- Specifies the reclaim policy for the storage class.
522+
## Valid options: Retain, Delete. Default is Delete to preserve existing behaviour.
523+
## Set to Retain for production datastore workloads to protect PVCs from deletion.
524+
## Note: reclaimPolicy is inherited by PVs at creation time only — existing PVs must
525+
## be patched individually if this value is changed after provisioning.
526+
##
527+
reclaimPolicy: Delete
521528
mountOptions:
522529
- noatime
523530
- nobarrier

0 commit comments

Comments
 (0)