From ace58fea0d4e07af4e0cd7d054989da5d653cae3 Mon Sep 17 00:00:00 2001 From: Damien Degois Date: Fri, 5 Dec 2025 07:14:59 +0100 Subject: [PATCH] feat(helm): add existingSecret handling and support for extra manifests (#992) --- helm/rustfs/templates/_helpers.tpl | 11 +++++++++++ helm/rustfs/templates/deployment.yaml | 2 +- helm/rustfs/templates/extra-manifests.yaml | 4 ++++ helm/rustfs/templates/secret.yaml | 5 +++-- helm/rustfs/templates/statefulset.yaml | 2 +- helm/rustfs/values.yaml | 3 +++ 6 files changed, 23 insertions(+), 4 deletions(-) create mode 100644 helm/rustfs/templates/extra-manifests.yaml diff --git a/helm/rustfs/templates/_helpers.tpl b/helm/rustfs/templates/_helpers.tpl index 6560f132..667b9ece 100644 --- a/helm/rustfs/templates/_helpers.tpl +++ b/helm/rustfs/templates/_helpers.tpl @@ -60,3 +60,14 @@ Create the name of the service account to use {{- default "default" .Values.serviceAccount.name }} {{- end }} {{- end }} + +{{/* +Return the secret name +*/}} +{{- define "rustfs.secretName" -}} +{{- if .Values.secret.existingSecret }} +{{- .Values.secret.existingSecret }} +{{- else }} +{{- printf "%s-secret" (include "rustfs.fullname" .) }} +{{- end }} +{{- end }} diff --git a/helm/rustfs/templates/deployment.yaml b/helm/rustfs/templates/deployment.yaml index a8f5ce7b..2edc4736 100644 --- a/helm/rustfs/templates/deployment.yaml +++ b/helm/rustfs/templates/deployment.yaml @@ -55,7 +55,7 @@ spec: - configMapRef: name: {{ include "rustfs.fullname" . }}-config - secretRef: - name: {{ include "rustfs.fullname" . }}-secret + name: {{ include "rustfs.secretName" . }} resources: requests: memory: {{ .Values.resources.requests.memory }} diff --git a/helm/rustfs/templates/extra-manifests.yaml b/helm/rustfs/templates/extra-manifests.yaml new file mode 100644 index 00000000..0e5456bf --- /dev/null +++ b/helm/rustfs/templates/extra-manifests.yaml @@ -0,0 +1,4 @@ +{{- range .Values.extraManifests }} +--- +{{ tpl (toYaml .) $ }} +{{- end }} diff --git a/helm/rustfs/templates/secret.yaml b/helm/rustfs/templates/secret.yaml index 5de45709..7d061828 100644 --- a/helm/rustfs/templates/secret.yaml +++ b/helm/rustfs/templates/secret.yaml @@ -1,9 +1,10 @@ +{{- if not .Values.secret.existingSecret }} apiVersion: v1 kind: Secret metadata: - name: {{ include "rustfs.fullname" . }}-secret + name: {{ include "rustfs.secretName" . }} type: Opaque data: RUSTFS_ACCESS_KEY: {{ .Values.secret.rustfs.access_key | b64enc | quote }} RUSTFS_SECRET_KEY: {{ .Values.secret.rustfs.secret_key | b64enc | quote }} - +{{- end }} diff --git a/helm/rustfs/templates/statefulset.yaml b/helm/rustfs/templates/statefulset.yaml index 2045d089..48295367 100644 --- a/helm/rustfs/templates/statefulset.yaml +++ b/helm/rustfs/templates/statefulset.yaml @@ -76,7 +76,7 @@ spec: - configMapRef: name: {{ include "rustfs.fullname" . }}-config - secretRef: - name: {{ include "rustfs.fullname" . }}-secret + name: {{ include "rustfs.secretName" . }} resources: requests: memory: {{ .Values.resources.requests.memory }} diff --git a/helm/rustfs/values.yaml b/helm/rustfs/values.yaml index 14714c7f..3cf2f8ad 100644 --- a/helm/rustfs/values.yaml +++ b/helm/rustfs/values.yaml @@ -27,6 +27,7 @@ mode: enabled: true secret: + existingSecret: "" rustfs: access_key: rustfsadmin secret_key: rustfsadmin @@ -147,3 +148,5 @@ affinity: {} storageclass: name: local-path size: 256Mi + +extraManifests: []