flux-charts/mycloud-matrix/templates/server/doublepuppet.yaml

45 lines
1.4 KiB
YAML

{{- if or .Values.bridge.signal.enabled .Values.bridge.slack.enabled }}
---
{{ $secretName := printf "%s-doublepuppet" .Release.Name }}
{{- $asToken := "" }}
{{- $hsToken := "" }}
{{- $senderLocalpart := "" }}
{{- 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 }}
type: Opaque
data:
as_token: {{ $asToken | b64enc }}
as_token_code: {{ printf "as_token:%s" $asToken | b64enc }}
hs_token: {{ $hsToken | b64enc }}
sender_localpart: {{ $senderLocalpart | b64enc }}
registration.yaml: {{ (dict
"id" "doublepuppet"
"url" nil
"as_token" $asToken
"hs_token" $hsToken
"sender_localpart" $senderLocalpart
"rate_limited" false
"namespaces" (dict
"users" (list
(dict
"regex" (printf "@.*:%s" (include "mycloud-matrix.domain" . | replace "." "\\." ))
"exclusive" false
)
)
)
) | toYaml | b64enc }}
{{- end }}