{{- $name := include "go-guess.secretName" . -}} {{- $existing := lookup "v1" "Secret" .Release.Namespace $name -}} {{- $jwt := .Values.secrets.jwtSecret -}} {{- $postgresPassword := .Values.secrets.postgresqlPassword -}} {{- $rabbitmqPassword := .Values.secrets.rabbitmqPassword -}} {{- if and (not $jwt) $existing }}{{ $jwt = index $existing.data "jwt-secret" | b64dec }}{{ end -}} {{- if and (not $postgresPassword) $existing }}{{ $postgresPassword = index $existing.data "postgresql-password" | b64dec }}{{ end -}} {{- if and (not $rabbitmqPassword) $existing }}{{ $rabbitmqPassword = index $existing.data "rabbitmq-password" | b64dec }}{{ end -}} {{- if not $jwt }}{{ $jwt = randAlphaNum 48 }}{{ end -}} {{- if not $postgresPassword }}{{ $postgresPassword = randAlphaNum 32 }}{{ end -}} {{- if not $rabbitmqPassword }}{{ $rabbitmqPassword = randAlphaNum 32 }}{{ end -}} {{- $databaseURL := .Values.secrets.databaseURL -}} {{- if and (not $databaseURL) .Values.postgresql.enabled -}} {{- $databaseURL = printf "postgres://%s:%s@%s:5432/%s?sslmode=disable" .Values.postgresql.auth.username ($postgresPassword | urlquery) (include "go-guess.postgresqlName" .) .Values.postgresql.auth.database -}} {{- end -}} {{- if not $databaseURL }}{{ fail "secrets.databaseURL is required when postgresql.enabled is false" }}{{ end -}} {{- $rabbitmqURL := .Values.secrets.rabbitmqURL -}} {{- if and (not $rabbitmqURL) .Values.rabbitmq.enabled -}} {{- $rabbitmqURL = printf "amqp://%s:%s@%s:5672/" .Values.rabbitmq.auth.username ($rabbitmqPassword | urlquery) (include "go-guess.rabbitmqName" .) -}} {{- end -}} {{- if not $rabbitmqURL }}{{ fail "secrets.rabbitmqURL is required when rabbitmq.enabled is false" }}{{ end -}} apiVersion: v1 kind: Secret metadata: name: {{ $name }} labels: {{- include "go-guess.labels" . | nindent 4 }} type: Opaque data: jwt-secret: {{ $jwt | b64enc | quote }} database-url: {{ $databaseURL | b64enc | quote }} rabbitmq-url: {{ $rabbitmqURL | b64enc | quote }} postgresql-password: {{ $postgresPassword | b64enc | quote }} rabbitmq-password: {{ $rabbitmqPassword | b64enc | quote }}