diff --git a/k8s/charts/seaweedfs/templates/admin/admin-statefulset.yaml b/k8s/charts/seaweedfs/templates/admin/admin-statefulset.yaml index c4fdd582e..ffc639fbe 100644 --- a/k8s/charts/seaweedfs/templates/admin/admin-statefulset.yaml +++ b/k8s/charts/seaweedfs/templates/admin/admin-statefulset.yaml @@ -118,8 +118,10 @@ spec: fieldPath: metadata.namespace - name: SEAWEEDFS_FULLNAME value: "{{ include "seaweedfs.fullname" . }}" - {{- if .Values.admin.extraEnvironmentVars }} - {{- range $key, $value := .Values.admin.extraEnvironmentVars }} + {{- $mergedExtraEnvironmentVars := dict }} + {{- include "seaweedfs.mergeExtraEnvironmentVars" (dict "global" .Values.global "component" .Values.admin "target" $mergedExtraEnvironmentVars) }} + {{- range $key := keys $mergedExtraEnvironmentVars | sortAlpha }} + {{- $value := index $mergedExtraEnvironmentVars $key }} - name: {{ $key }} {{- if kindIs "string" $value }} value: {{ tpl $value $ | quote }} @@ -128,18 +130,6 @@ spec: {{ toYaml $value | nindent 16 | trim }} {{- end -}} {{- end }} - {{- end }} - {{- if .Values.global.extraEnvironmentVars }} - {{- range $key, $value := .Values.global.extraEnvironmentVars }} - - name: {{ $key }} - {{- if kindIs "string" $value }} - value: {{ tpl $value $ | quote }} - {{- else }} - valueFrom: - {{ toYaml $value | nindent 16 | trim }} - {{- end -}} - {{- end }} - {{- end }} command: - "/bin/sh" - "-ec" diff --git a/k8s/charts/seaweedfs/templates/cosi/cosi-deployment.yaml b/k8s/charts/seaweedfs/templates/cosi/cosi-deployment.yaml index 4523f751f..af9e780f2 100644 --- a/k8s/charts/seaweedfs/templates/cosi/cosi-deployment.yaml +++ b/k8s/charts/seaweedfs/templates/cosi/cosi-deployment.yaml @@ -96,8 +96,10 @@ spec: - name: WEED_GRPC_CA value: /usr/local/share/ca-certificates/client/ca.crt {{- end }} - {{- if .Values.cosi.extraEnvironmentVars }} - {{- range $key, $value := .Values.cosi.extraEnvironmentVars }} + {{- $mergedExtraEnvironmentVars := dict }} + {{- include "seaweedfs.mergeExtraEnvironmentVars" (dict "global" .Values.global "component" .Values.cosi "target" $mergedExtraEnvironmentVars) }} + {{- range $key := keys $mergedExtraEnvironmentVars | sortAlpha }} + {{- $value := index $mergedExtraEnvironmentVars $key }} - name: {{ $key }} {{- if kindIs "string" $value }} value: {{ tpl $value $ | quote }} @@ -106,18 +108,6 @@ spec: {{ toYaml $value | nindent 16 | trim }} {{- end -}} {{- end }} - {{- end }} - {{- if .Values.global.extraEnvironmentVars }} - {{- range $key, $value := .Values.global.extraEnvironmentVars }} - - name: {{ $key }} - {{- if kindIs "string" $value }} - value: {{ tpl $value $ | quote }} - {{- else }} - valueFrom: - {{ toYaml $value | nindent 16 | trim }} - {{- end -}} - {{- end }} - {{- end }} volumeMounts: - mountPath: /var/lib/cosi name: socket diff --git a/k8s/charts/seaweedfs/templates/filer/filer-statefulset.yaml b/k8s/charts/seaweedfs/templates/filer/filer-statefulset.yaml index 29aa4ef8a..7ecf81b45 100644 --- a/k8s/charts/seaweedfs/templates/filer/filer-statefulset.yaml +++ b/k8s/charts/seaweedfs/templates/filer/filer-statefulset.yaml @@ -114,8 +114,10 @@ spec: optional: true - name: SEAWEEDFS_FULLNAME value: "{{ include "seaweedfs.fullname" . }}" - {{- if .Values.filer.extraEnvironmentVars }} - {{- range $key, $value := .Values.filer.extraEnvironmentVars }} + {{- $mergedExtraEnvironmentVars := dict }} + {{- include "seaweedfs.mergeExtraEnvironmentVars" (dict "global" .Values.global "component" .Values.filer "target" $mergedExtraEnvironmentVars) }} + {{- range $key := keys $mergedExtraEnvironmentVars | sortAlpha }} + {{- $value := index $mergedExtraEnvironmentVars $key }} - name: {{ $key }} {{- if kindIs "string" $value }} value: {{ tpl $value $ | quote }} @@ -124,18 +126,6 @@ spec: {{ toYaml $value | nindent 16 | trim }} {{- end -}} {{- end }} - {{- end }} - {{- if .Values.global.extraEnvironmentVars }} - {{- range $key, $value := .Values.global.extraEnvironmentVars }} - - name: {{ $key }} - {{- if kindIs "string" $value }} - value: {{ tpl $value $ | quote }} - {{- else }} - valueFrom: - {{ toYaml $value | nindent 16 | trim }} - {{- end -}} - {{- end }} - {{- end }} {{- if .Values.filer.secretExtraEnvironmentVars }} {{- range $key, $value := .Values.filer.secretExtraEnvironmentVars }} - name: {{ $key }} diff --git a/k8s/charts/seaweedfs/templates/master/master-statefulset.yaml b/k8s/charts/seaweedfs/templates/master/master-statefulset.yaml index 07c008a61..54049847c 100644 --- a/k8s/charts/seaweedfs/templates/master/master-statefulset.yaml +++ b/k8s/charts/seaweedfs/templates/master/master-statefulset.yaml @@ -98,8 +98,10 @@ spec: fieldPath: metadata.namespace - name: SEAWEEDFS_FULLNAME value: "{{ include "seaweedfs.fullname" . }}" - {{- if .Values.master.extraEnvironmentVars }} - {{- range $key, $value := .Values.master.extraEnvironmentVars }} + {{- $mergedExtraEnvironmentVars := dict }} + {{- include "seaweedfs.mergeExtraEnvironmentVars" (dict "global" .Values.global "component" .Values.master "target" $mergedExtraEnvironmentVars) }} + {{- range $key := keys $mergedExtraEnvironmentVars | sortAlpha }} + {{- $value := index $mergedExtraEnvironmentVars $key }} - name: {{ $key }} {{- if kindIs "string" $value }} value: {{ tpl $value $ | quote }} @@ -108,18 +110,6 @@ spec: {{ toYaml $value | nindent 16 | trim }} {{- end -}} {{- end }} - {{- end }} - {{- if .Values.global.extraEnvironmentVars }} - {{- range $key, $value := .Values.global.extraEnvironmentVars }} - - name: {{ $key }} - {{- if kindIs "string" $value }} - value: {{ tpl $value $ | quote }} - {{- else }} - valueFrom: - {{ toYaml $value | nindent 16 | trim }} - {{- end -}} - {{- end }} - {{- end }} command: - "/bin/sh" - "-ec" diff --git a/k8s/charts/seaweedfs/templates/s3/s3-deployment.yaml b/k8s/charts/seaweedfs/templates/s3/s3-deployment.yaml index c3bd78ad8..1a83f4406 100644 --- a/k8s/charts/seaweedfs/templates/s3/s3-deployment.yaml +++ b/k8s/charts/seaweedfs/templates/s3/s3-deployment.yaml @@ -90,8 +90,10 @@ spec: fieldPath: metadata.namespace - name: SEAWEEDFS_FULLNAME value: "{{ include "seaweedfs.fullname" . }}" - {{- if .Values.s3.extraEnvironmentVars }} - {{- range $key, $value := .Values.s3.extraEnvironmentVars }} + {{- $mergedExtraEnvironmentVars := dict }} + {{- include "seaweedfs.mergeExtraEnvironmentVars" (dict "global" .Values.global "component" .Values.s3 "target" $mergedExtraEnvironmentVars) }} + {{- range $key := keys $mergedExtraEnvironmentVars | sortAlpha }} + {{- $value := index $mergedExtraEnvironmentVars $key }} - name: {{ $key }} {{- if kindIs "string" $value }} value: {{ tpl $value $ | quote }} @@ -100,18 +102,6 @@ spec: {{ toYaml $value | nindent 16 | trim }} {{- end -}} {{- end }} - {{- end }} - {{- if .Values.global.extraEnvironmentVars }} - {{- range $key, $value := .Values.global.extraEnvironmentVars }} - - name: {{ $key }} - {{- if kindIs "string" $value }} - value: {{ tpl $value $ | quote }} - {{- else }} - valueFrom: - {{ toYaml $value | nindent 16 | trim }} - {{- end -}} - {{- end }} - {{- end }} command: - "/bin/sh" - "-ec" diff --git a/k8s/charts/seaweedfs/templates/sftp/sftp-deployment.yaml b/k8s/charts/seaweedfs/templates/sftp/sftp-deployment.yaml index 566e1812e..4cfa8df41 100644 --- a/k8s/charts/seaweedfs/templates/sftp/sftp-deployment.yaml +++ b/k8s/charts/seaweedfs/templates/sftp/sftp-deployment.yaml @@ -90,8 +90,10 @@ spec: fieldPath: metadata.namespace - name: SEAWEEDFS_FULLNAME value: "{{ include "seaweedfs.fullname" . }}" - {{- if .Values.sftp.extraEnvironmentVars }} - {{- range $key, $value := .Values.sftp.extraEnvironmentVars }} + {{- $mergedExtraEnvironmentVars := dict }} + {{- include "seaweedfs.mergeExtraEnvironmentVars" (dict "global" .Values.global "component" .Values.sftp "target" $mergedExtraEnvironmentVars) }} + {{- range $key := keys $mergedExtraEnvironmentVars | sortAlpha }} + {{- $value := index $mergedExtraEnvironmentVars $key }} - name: {{ $key }} {{- if kindIs "string" $value }} value: {{ tpl $value $ | quote }} @@ -100,18 +102,6 @@ spec: {{ toYaml $value | nindent 16 | trim }} {{- end -}} {{- end }} - {{- end }} - {{- if .Values.global.extraEnvironmentVars }} - {{- range $key, $value := .Values.global.extraEnvironmentVars }} - - name: {{ $key }} - {{- if kindIs "string" $value }} - value: {{ tpl $value $ | quote }} - {{- else }} - valueFrom: - {{ toYaml $value | nindent 16 | trim }} - {{- end -}} - {{- end }} - {{- end }} command: - "/bin/sh" - "-ec" diff --git a/k8s/charts/seaweedfs/templates/shared/_helpers.tpl b/k8s/charts/seaweedfs/templates/shared/_helpers.tpl index 3aa5f5234..1ab93efde 100644 --- a/k8s/charts/seaweedfs/templates/shared/_helpers.tpl +++ b/k8s/charts/seaweedfs/templates/shared/_helpers.tpl @@ -59,6 +59,18 @@ Inject extra environment vars in the format key:value, if populated {{- end -}} {{- end -}} +{{- define "seaweedfs.mergeExtraEnvironmentVars" -}} +{{- $global := ((.global | default dict).extraEnvironmentVars | default dict) -}} +{{- $component := ((.component | default dict).extraEnvironmentVars | default dict) -}} +{{- $target := .target -}} +{{- range $key, $value := $global }} +{{- $_ := set $target $key $value }} +{{- end }} +{{- range $key, $value := $component }} +{{- $_ := set $target $key $value }} +{{- end }} +{{- end -}} + {{/* Return the proper filer image */}} {{- define "filer.image" -}} {{- if .Values.filer.imageOverride -}} diff --git a/k8s/charts/seaweedfs/templates/volume/volume-statefulset.yaml b/k8s/charts/seaweedfs/templates/volume/volume-statefulset.yaml index a976f1ea9..0555b9834 100644 --- a/k8s/charts/seaweedfs/templates/volume/volume-statefulset.yaml +++ b/k8s/charts/seaweedfs/templates/volume/volume-statefulset.yaml @@ -118,8 +118,10 @@ spec: fieldPath: status.hostIP - name: SEAWEEDFS_FULLNAME value: "{{ include "seaweedfs.fullname" $ }}" - {{- if $volume.extraEnvironmentVars }} - {{- range $key, $value := $volume.extraEnvironmentVars }} + {{- $mergedExtraEnvironmentVars := dict }} + {{- include "seaweedfs.mergeExtraEnvironmentVars" (dict "global" $.Values.global "component" $volume "target" $mergedExtraEnvironmentVars) }} + {{- range $key := keys $mergedExtraEnvironmentVars | sortAlpha }} + {{- $value := index $mergedExtraEnvironmentVars $key }} - name: {{ $key }} {{- if kindIs "string" $value }} value: {{ tpl $value $ | quote }} @@ -128,18 +130,6 @@ spec: {{ toYaml $value | nindent 16 | trim }} {{- end -}} {{- end }} - {{- end }} - {{- if $.Values.global.extraEnvironmentVars }} - {{- range $key, $value := $.Values.global.extraEnvironmentVars }} - - name: {{ $key }} - {{- if kindIs "string" $value }} - value: {{ tpl $value $ | quote }} - {{- else }} - valueFrom: - {{ toYaml $value | nindent 16 | trim }} - {{- end -}} - {{- end }} - {{- end }} command: - "/bin/sh" - "-ec" diff --git a/k8s/charts/seaweedfs/templates/worker/worker-deployment.yaml b/k8s/charts/seaweedfs/templates/worker/worker-deployment.yaml index 37c62dc98..4a65f1a74 100644 --- a/k8s/charts/seaweedfs/templates/worker/worker-deployment.yaml +++ b/k8s/charts/seaweedfs/templates/worker/worker-deployment.yaml @@ -93,8 +93,10 @@ spec: fieldPath: metadata.namespace - name: SEAWEEDFS_FULLNAME value: "{{ include "seaweedfs.fullname" . }}" - {{- if .Values.worker.extraEnvironmentVars }} - {{- range $key, $value := .Values.worker.extraEnvironmentVars }} + {{- $mergedExtraEnvironmentVars := dict }} + {{- include "seaweedfs.mergeExtraEnvironmentVars" (dict "global" .Values.global "component" .Values.worker "target" $mergedExtraEnvironmentVars) }} + {{- range $key := keys $mergedExtraEnvironmentVars | sortAlpha }} + {{- $value := index $mergedExtraEnvironmentVars $key }} - name: {{ $key }} {{- if kindIs "string" $value }} value: {{ tpl $value $ | quote }} @@ -103,18 +105,6 @@ spec: {{ toYaml $value | nindent 16 | trim }} {{- end -}} {{- end }} - {{- end }} - {{- if .Values.global.extraEnvironmentVars }} - {{- range $key, $value := .Values.global.extraEnvironmentVars }} - - name: {{ $key }} - {{- if kindIs "string" $value }} - value: {{ tpl $value $ | quote }} - {{- else }} - valueFrom: - {{ toYaml $value | nindent 16 | trim }} - {{- end -}} - {{- end }} - {{- end }} command: - "/bin/sh" - "-ec"