From 7b04e9dd5471d1b677afbf5d2857084a1f26336f Mon Sep 17 00:00:00 2001 From: Daniel Stankowski Date: Tue, 30 Jul 2024 17:06:30 +0200 Subject: [PATCH] Added persistence options for etcd --- charts/karpor/templates/etcd.yml | 37 +++++++++++++++++++++++++------- charts/karpor/values.yaml | 14 ++++++++++++ 2 files changed, 43 insertions(+), 8 deletions(-) diff --git a/charts/karpor/templates/etcd.yml b/charts/karpor/templates/etcd.yml index 9ce7423..e84e7fc 100644 --- a/charts/karpor/templates/etcd.yml +++ b/charts/karpor/templates/etcd.yml @@ -45,11 +45,32 @@ spec: mountPath: /etcd-data resources: {{- toYaml .Values.etcd.resources | nindent 12 }} - volumeClaimTemplates: - - metadata: - name: data - spec: - accessModes: [ "ReadWriteOnce" ] - resources: - requests: - storage: 10Gi + volumes: + - name: data + persistentVolumeClaim: + claimName: {{- if .Values.etcd.persistence.existingPVC }} {{ .Values.etcd.persistence.existingPVC }}{{- else }}etcd-pvc{{- end }} +--- +{{- if or (not .Values.etcd.persistence.existingPVC) (eq .Values.etcd.persistence.existingPVC "") }} +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: +{{- if .Values.etcd.persistence.annotations }} + annotations: +{{ toYaml .Values.etcd.persistence.annotations | indent 4 }} +{{- end }} + name: etcd-pvc + namespace: {{ .Values.namespace }} + labels: + {{- include "karpor.labels" (dict "context" . "component" .Values.etcd.name) | nindent 4 }} +{{- if .Values.etcd.persistence.labels }} +{{ toYaml .Values.etcd.persistence.labels | indent 4 }} +{{- end }} +spec: + accessModes: + - {{ .Values.etcd.persistence.accessMode | quote }} + resources: + requests: + storage: {{ .Values.etcd.persistence.storageSize | quote }} + storageClassName: "{{ .Values.etcd.persistence.storageClassName }}" + volumeMode: {{ default "Filesystem" .Values.etcd.persistence.volumeMode }} +{{- end }} \ No newline at end of file diff --git a/charts/karpor/values.yaml b/charts/karpor/values.yaml index 816c9c7..19536c3 100644 --- a/charts/karpor/values.yaml +++ b/charts/karpor/values.yaml @@ -112,6 +112,20 @@ etcd: memory: 1Gi ephemeral-storage: 10Gi + # -- Configuration for the persistence for etcd. + persistence: + # -- Name of an existing PVC (if exists), else leave empty. + existingPVC: "" + + # -- Configuration for PVC created by helm. + annotations: {} + labels: {} + # -- StorageClass name, if used, needs to be deployed manually. + storageClassName: "" + storageSize: 10Gi + volumeMode: Filesystem + accessMode: "ReadWriteOnce" + # Configuration for Jobs job: image: