# store the secret-name as var # in my case, the name was very long and containing a lot of fields # so it helps me a lot {{- $secret_name := "connect-secrets" -}} --- apiVersion: v1 kind: Secret metadata: name: "{{ $secret_name }}" data: # try to get the old secret # keep in mind, that a dry-run only returns an empty map {{- $old_sec := lookup "v1" "Secret" .Release.Namespace $secret_name | default dict }} {{- $old_sec_data := (get $old_sec "data") | default dict }} # {{- $jwtSecret := (get $old_sec_data "JWT_SECRET") | default (randAlphaNum 32 | b64enc) }} JWT_SECRET: {{ default (randAlphaNum 32) | b64enc }} ADMIN_PASSWORD: "{{ .Values.connect.database.password | b64enc}}" DATASOURCE_USERNAME: "{{ .Values.connect.database.username | b64enc }}" DATASOURCE_PASSWORD: "{{ .Values.connect.database.password | b64enc }}" ELASTIC_USERNAME: "{{ .Values.connect.database.username | b64enc }}" ELASTIC_PASSWORD: "{{ .Values.connect.database.password | b64enc }}" OIDC_CLIENT_SECRET: "{{ .Values.connect.oidc.client_secret | b64enc }}" MAIL_USER: "{{ .Values.connect.mail.username | b64enc }}" MAIL_PASSWORD: "{{ .Values.connect.mail.password | b64enc }}"