--- {{ $secretName := include "mautrix-bridge.fullname" . }} {{- $asToken := get .Values.config.appservice "as_token" }} {{- $hsToken := get .Values.config.appservice "hs_token" }} {{- $senderLocalpart := false }} {{- if not (and $asToken $hsToken $senderLocalpart) }} {{- with (lookup "v1" "Secret" .Release.Namespace $secretName)}} {{- with get . "data" }} {{- $asToken = $asToken | default (get . "as_token" | b64dec) }} {{- $hsToken = $hsToken | default (get . "hs_token" | b64dec) }} {{- $senderLocalpart = (get . "sender_localpart" | b64dec) }} {{- end }} {{- end }} {{- end }} {{- $asToken = $asToken | default (randAlphaNum 64) }} {{- $hsToken = $hsToken | default (randAlphaNum 64) }} {{- $senderLocalpart = $senderLocalpart | default (randAlphaNum 64) }} apiVersion: v1 kind: Secret metadata: name: {{ $secretName }} labels: {{- include "mautrix-bridge.labels" . | nindent 4 }} type: Opaque data: as_token: {{ $asToken | b64enc }} hs_token: {{ $hsToken | b64enc }} sender_localpart: {{ $senderLocalpart | b64enc }} config.yaml: {{ mergeOverwrite (dict "appservice" (dict "as_token" $asToken "hs_token" $hsToken ) "bridge" (dict "login_shared_secret_map" (dict .Values.config.homeserver.domain (printf "as_token:%s" $asToken) ) ) ) .Values.config | toYaml | b64enc }} registration.yaml: {{ mergeOverwrite (dict "id" .Values.config.appservice.id "as_token" $asToken "hs_token" $hsToken "url" .Values.config.appservice.address "sender_localpart" $senderLocalpart ) .Values.registration | toYaml | b64enc }}