{{- $systemSecret := (lookup "v1" "Secret" .Release.Namespace "euler-copilot-system") -}}
{{- if $systemSecret -}}
apiVersion: v1
kind: Secret
metadata:
  name: euler-copilot-system
  namespace: {{ .Release.Namespace }}
  annotations:
    helm.sh/resource-policy: keep
type: Opaque
stringData:
  jwtKey: {{ index $systemSecret.data.jwtKey | b64dec }}
  halfKey1: {{ index $systemSecret.data.halfKey1 | b64dec }}
  halfKey2: {{ index $systemSecret.data.halfKey2 | b64dec }}
  halfKey3: {{ index $systemSecret.data.halfKey3 | b64dec }}
  csrfKey: {{ index $systemSecret.data.csrfKey | b64dec }}
  clientId: {{ .Values.login.client.id }}
  clientSecret: {{ .Values.login.client.secret }}
{{- else -}}
apiVersion: v1
kind: Secret
metadata:
  name: euler-copilot-system
  namespace: {{ .Release.Namespace }}
  annotations:
    helm.sh/resource-policy: keep
type: Opaque
stringData:
  jwtKey: {{ randAlphaNum 32 | b64enc }}
  halfKey1: {{ randAlphaNum 32 }}
  halfKey2: {{ randAlphaNum 32 }}
  halfKey3: {{ randAlphaNum 32 }}
  csrfKey: {{ randAlphaNum 32 | b64enc}}
  clientId: {{ .Values.login.client.id }}
  clientSecret: {{ .Values.login.client.secret }}
{{- end -}}