{{- $secretName := printf "%s-db-url" (include "twenty.fullname" .) -}} {{- if .Values.db.enabled -}} {{- $existingSecret := lookup "v1" "Secret" (include "twenty.namespace" .) $secretName -}} {{- $appPassword := "" -}} {{- if $existingSecret -}} {{- $appPassword = index $existingSecret.data "appPassword" | b64dec -}} {{- else -}} {{- $appPassword = .Values.db.internal.appPassword | default (randAlphaNum 32) -}} {{- end -}} {{- $appUser := .Values.db.internal.appUser | default "twenty_app_user" -}} apiVersion: v1 kind: Secret metadata: name: {{ $secretName }} namespace: {{ include "twenty.namespace" . }} labels: app.kubernetes.io/name: {{ include "twenty.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: server type: Opaque stringData: url: {{ printf "postgres://%s:%s@%s-db.%s.svc.cluster.local/%s" (urlquery $appUser) (urlquery $appPassword) (include "twenty.fullname" .) (include "twenty.namespace" .) (.Values.db.internal.database | default "twenty") | quote }} appPassword: {{ $appPassword | quote }} {{- else if not .Values.db.external.secretName -}} {{- $scheme := "postgres" -}} {{- $host := .Values.db.external.host -}} {{- $port := .Values.db.external.port | default 5432 -}} {{- $user := .Values.db.external.user | default "postgres" -}} {{- $pass := .Values.db.external.password | default "" -}} {{- $db := .Values.db.external.database | default "twenty" -}} {{- $qs := ternary "?sslmode=require" "" (eq .Values.db.external.ssl true) -}} apiVersion: v1 kind: Secret metadata: name: {{ $secretName }} namespace: {{ include "twenty.namespace" . }} labels: app.kubernetes.io/name: {{ include "twenty.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: server type: Opaque stringData: url: {{ printf "%s://%s:%s@%s:%v/%s%s" $scheme (urlquery $user) (urlquery $pass) $host $port $db $qs | quote }} password: {{ $pass | quote }} {{- end -}}