diff --git a/packages/system/keycloak/templates/db.yaml b/packages/system/keycloak/templates/db.yaml index 1cd98ffc..82cf8c45 100644 --- a/packages/system/keycloak/templates/db.yaml +++ b/packages/system/keycloak/templates/db.yaml @@ -6,6 +6,9 @@ spec: instances: 2 storage: size: 20Gi + {{- if .Values.storageClass.enable }} + storageClass: {{ .Values.storageClass.name | default "keycloak-db-retain" }} + {{- end }} {{- if .Values._cluster.scheduling }} {{- $rawConstraints := get .Values._cluster.scheduling "globalAppTopologySpreadConstraints" }} {{- if $rawConstraints }} diff --git a/packages/system/keycloak/templates/storageclass.yaml b/packages/system/keycloak/templates/storageclass.yaml new file mode 100644 index 00000000..778deb35 --- /dev/null +++ b/packages/system/keycloak/templates/storageclass.yaml @@ -0,0 +1,10 @@ +{{- if .Values.storageClass.enable }} +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: {{ .Values.storageClass.name | default "keycloak-db-retain" }} +provisioner: {{ required ".Values.storageClass.provisioner is required when storageClass.enable is true" .Values.storageClass.provisioner | quote }} +reclaimPolicy: Retain +volumeBindingMode: WaitForFirstConsumer +allowVolumeExpansion: true +{{- end }} diff --git a/packages/system/keycloak/values.yaml b/packages/system/keycloak/values.yaml index 708edc2c..b367e380 100644 --- a/packages/system/keycloak/values.yaml +++ b/packages/system/keycloak/values.yaml @@ -10,6 +10,12 @@ ingress: nginx.ingress.kubernetes.io/session-cookie-expires: "86400" nginx.ingress.kubernetes.io/session-cookie-max-age: "86400" nginx.ingress.kubernetes.io/session-cookie-name: "keycloak-cookie" + +storageClass: + enable: false + name: "" + provisioner: "" + resources: requests: memory: 500Mi