apiVersion: v1 kind: Secret metadata: name: {{ include "garage.rpcSecretName" . }} labels: {{- include "garage.labels" . | nindent 4 }} type: Opaque data: {{/* retrieve the secret data using lookup function and when not exists, return an empty dictionary / map as result */}} {{- $prevSecret := (lookup "v1" "Secret" .Release.Namespace (include "garage.rpcSecretName" .)) | default dict }} {{- $prevSecretData := $prevSecret.data | default dict }} {{- $prevRpcSecret := $prevSecretData.rpcSecret | default "" | b64dec }} {{/* Priority is: 1. from values, 2. previous value, 3. generate random */}} rpcSecret: {{ .Values.garage.rpcSecret | default $prevRpcSecret | default (include "jupyterhub.randHex" 64) | b64enc | quote }}