33 lines
1.8 KiB
YAML
33 lines
1.8 KiB
YAML
{{- if or (not .Values.secrets.JWT_SECRET) (eq .Values.secrets.JWT_SECRET "change-me-to-a-long-random-secret") }}
|
|
{{- fail "secrets.JWT_SECRET must be overridden to a strong, unique value (e.g. `openssl rand -base64 48`)" }}
|
|
{{- end }}
|
|
{{- if and .Values.seedJob.enabled (not .Values.secrets.SEED_ADMIN_PASSWORD) }}
|
|
{{- fail "secrets.SEED_ADMIN_PASSWORD is required when seedJob.enabled=true" }}
|
|
{{- end }}
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: {{ include "backend.secretName" . }}
|
|
labels:
|
|
{{- include "backend.labels" . | nindent 4 }}
|
|
annotations:
|
|
# Hook pre-install/pre-upgrade : le Job de migration (hook lui aussi) tourne
|
|
# AVANT la création des ressources normales du chart et lit DATABASE_URL
|
|
# depuis ce Secret. Sans ce hook, le Job démarrerait sans Secret.
|
|
# Conséquence : `helm uninstall` ne supprime pas ce Secret.
|
|
"helm.sh/hook": pre-install,pre-upgrade
|
|
"helm.sh/hook-weight": "-10"
|
|
"helm.sh/hook-delete-policy": before-hook-creation
|
|
type: Opaque
|
|
stringData:
|
|
{{- range $k, $v := .Values.secrets }}
|
|
{{ $k }}: {{ $v | quote }}
|
|
{{- end }}
|
|
# Assemblées ici (plutôt que passées telles quelles) pour que
|
|
# database.*/redis.* restent des champs structurés côté values.yaml, à
|
|
# l'image de postgresql.auth/redis.auth des charts ../postgresql, ../redis
|
|
# -- alors que backend/internal/platform/config ne sait lire qu'une seule
|
|
# chaîne de connexion.
|
|
DATABASE_URL: {{ printf "postgres://%s:%s@%s:%v/%s?sslmode=%s" (.Values.database.user | urlquery) (.Values.secrets.DB_PASSWORD | urlquery) .Values.database.host .Values.database.port .Values.database.name .Values.database.sslmode | quote }}
|
|
REDIS_URL: {{ printf "redis://:%s@%s:%v/%v" (.Values.secrets.REDIS_PASSWORD | urlquery) .Values.redis.host .Values.redis.port .Values.redis.db | quote }}
|