feat: add immediate and deferred provisioning modes

This commit is contained in:
2026-06-13 17:58:50 +03:30
parent d36b309c9c
commit 082e80606f
7 changed files with 160 additions and 18 deletions
+36 -3
View File
@@ -1,9 +1,10 @@
{{- if .Values.storageClass.enabled }}
{{- if .Values.storageClass.immediate.enabled }}
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: {{ .Values.storageClass.name }}
{{- if .Values.storageClass.isDefault }}
name: {{ .Values.storageClass.immediate.name }}
{{- if .Values.storageClass.immediate.isDefault }}
annotations:
storageclass.kubernetes.io/is-default-class: "true"
{{- end }}
@@ -11,6 +12,38 @@ metadata:
{{- include "kloud-csi.labels" . | nindent 4 }}
provisioner: {{ .Values.driver.name }}
reclaimPolicy: {{ .Values.storageClass.reclaimPolicy }}
volumeBindingMode: {{ .Values.storageClass.volumeBindingMode }}
volumeBindingMode: Immediate
allowVolumeExpansion: {{ .Values.storageClass.allowVolumeExpansion }}
{{- with .Values.storageClass.immediate.parameters }}
parameters:
{{- range $key, $value := . }}
{{ $key | quote }}: {{ $value | quote }}
{{- end }}
{{- end }}
{{- end }}
{{- if and .Values.storageClass.immediate.enabled .Values.storageClass.waitForFirstConsumer.enabled }}
---
{{- end }}
{{- if .Values.storageClass.waitForFirstConsumer.enabled }}
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: {{ .Values.storageClass.waitForFirstConsumer.name }}
{{- if .Values.storageClass.waitForFirstConsumer.isDefault }}
annotations:
storageclass.kubernetes.io/is-default-class: "true"
{{- end }}
labels:
{{- include "kloud-csi.labels" . | nindent 4 }}
provisioner: {{ .Values.driver.name }}
reclaimPolicy: {{ .Values.storageClass.reclaimPolicy }}
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: {{ .Values.storageClass.allowVolumeExpansion }}
{{- with .Values.storageClass.waitForFirstConsumer.parameters }}
parameters:
{{- range $key, $value := . }}
{{ $key | quote }}: {{ $value | quote }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}
+12 -3
View File
@@ -44,11 +44,20 @@ sidecars:
storageClass:
enabled: true
name: kloud-csi
isDefault: false
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: false
immediate:
enabled: true
name: kloud-csi
isDefault: true
parameters:
kks.kloud/provisioning-mode: immediate
waitForFirstConsumer:
enabled: true
name: kloud-csi-wait-for-first-consumer
isDefault: false
parameters:
kks.kloud/provisioning-mode: deferred
controller:
replicas: 1