{{- if or (and .Values.sftp.enabled (not .Values.sftp.existingSshConfigSecret)) (and .Values.allInOne.enabled .Values.allInOne.sftp.enabled (not (or .Values.allInOne.sftp.existingSshConfigSecret .Values.sftp.existingSshConfigSecret))) }} {{/* Host keys mounted at sftp.hostKeysFolder; existing keys are kept across upgrades, except the key earlier chart versions bundled. */}} {{- $secretName := printf "%s-sftp-ssh-secret" (include "seaweedfs.fullname" .) }} {{- $hostKeys := dict }} {{- $existingSecret := lookup "v1" "Secret" .Release.Namespace $secretName }} {{- if $existingSecret }} {{- range $name, $value := $existingSecret.data }} {{- if not (contains "H4McwcDphteXVullu6q7ephEN1N60z" (b64dec $value)) }} {{- $_ := set $hostKeys $name $value }} {{- end }} {{- end }} {{- end }} {{- if eq (len $hostKeys) 0 }} {{- $_ := set $hostKeys "ssh_host_ed25519_key" (genPrivateKey "ed25519" | b64enc) }} {{- end }} apiVersion: v1 kind: Secret type: Opaque metadata: name: {{ $secretName }} namespace: {{ .Release.Namespace }} annotations: "helm.sh/resource-policy": keep "helm.sh/hook": "pre-install,pre-upgrade" labels: app.kubernetes.io/name: {{ template "seaweedfs.name" . }} helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: sftp data: {{- range $name, $value := $hostKeys }} {{ $name }}: {{ $value }} {{- end }} {{- end }}