From 7bbed61a0ee07794eb4239711fda84117f854abd Mon Sep 17 00:00:00 2001 From: David Burke Date: Fri, 30 Jul 2021 14:45:31 +0000 Subject: [PATCH 1/3] Fix redis URL generation --- templates/_helpers.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/_helpers.tpl b/templates/_helpers.tpl index 9c466b7..a659a8b 100644 --- a/templates/_helpers.tpl +++ b/templates/_helpers.tpl @@ -85,7 +85,7 @@ We truncate at 63 chars because some Kubernetes name fields are limited to this {{- else -}} {{- $name := default .Chart.Name -}} {{- if contains $name .Release.Name -}} -{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}}-redis-master {{- else -}} {{- printf "%s-%s" .Release.Name "redis-master" | trunc 63 | trimSuffix "-" -}} {{- end -}} From fa7f7acd2bb8e9ff0840c1b8f55d53ea70082dfe Mon Sep 17 00:00:00 2001 From: David Burke Date: Fri, 13 Aug 2021 17:48:44 -0400 Subject: [PATCH 2/3] Update helm cli --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 66d3b2b..e83eec4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,5 +1,5 @@ image: - name: alpine/helm:3.5.4 + name: alpine/helm:3.6.3 entrypoint: ["/bin/sh", "-c"] lint: From 74f1ec9f6c770f43fa1a2c1af30f53262aaa6193 Mon Sep 17 00:00:00 2001 From: David Burke Date: Tue, 5 Apr 2022 11:04:48 -0400 Subject: [PATCH 3/3] Attempt to make use of postgres helm chart without setting DATABASE_URL --- templates/_helpers.tpl | 35 ++++++++++++++++++++++++++++---- templates/beat/deployment.yaml | 6 +++++- templates/configmap.yaml | 8 +++++++- templates/pre-install-job.yaml | 13 +++++++++--- templates/secrets.yaml | 3 --- templates/web/deployment.yaml | 4 ++++ templates/worker/deployment.yaml | 6 +++++- 7 files changed, 62 insertions(+), 13 deletions(-) diff --git a/templates/_helpers.tpl b/templates/_helpers.tpl index a659a8b..34ed73c 100644 --- a/templates/_helpers.tpl +++ b/templates/_helpers.tpl @@ -74,7 +74,7 @@ We truncate at 63 chars because some Kubernetes name fields are limited to this {{- if contains $name .Release.Name -}} {{- .Release.Name | trunc 63 | trimSuffix "-" -}} {{- else -}} -{{- printf "%s-%s" .Release.Name "django-postgresql" | trunc 63 | trimSuffix "-" -}} +{{- printf "%s-%s" .Release.Name "postgresql" | trunc 63 | trimSuffix "-" -}} {{- end -}} {{- end -}} {{- end -}} @@ -93,11 +93,38 @@ We truncate at 63 chars because some Kubernetes name fields are limited to this {{- end -}} {{/* -Set postgresql url +Set postgresql host */}} -{{- define "django.postgresql.url" -}} +{{- define "django.postgresql.host" -}} {{- if .Values.postgresql.enabled -}} -postgres://{{ .Values.postgresql.postgresqlUsername }}:{{ .Values.postgresql.postgresqlPassword }}@{{- template "django.postgresql.fullname" . -}} +{{- template "django.postgresql.fullname" . -}} +{{- end -}} +{{- end -}} + +{{/* +Set postgresql username +*/}} +{{- define "django.postgresql.username" -}} +{{- if .Values.postgresql.enabled -}} +{{ .Values.postgresql.auth.username | default "postgres" }} +{{- end -}} +{{- end -}} + +{{/* +Set postgresql name +*/}} +{{- define "django.postgresql.name" -}} +{{- if .Values.postgresql.enabled -}} +{{ .Values.postgresql.auth.database | default "postgres" }} +{{- end -}} +{{- end -}} + +{{/* +Set postgresql port +*/}} +{{- define "django.postgresql.port" -}} +{{- if .Values.postgresql.enabled -}} +{{ .Values.postgresql.global.postgresql.service.ports.postgresql | default 5432 }} {{- end -}} {{- end -}} diff --git a/templates/beat/deployment.yaml b/templates/beat/deployment.yaml index 583cf19..5d6cddd 100644 --- a/templates/beat/deployment.yaml +++ b/templates/beat/deployment.yaml @@ -48,10 +48,14 @@ spec: env: - name: SERVER_ROLE value: "beat" +{{- if .Values.env.secret.DATABASE_URL }} + - name: DATABASE_URL + value: {{ .Values.env.secret.DATABASE_URL }} +{{- end }} envFrom: - secretRef: name: {{ include "django.fullname" . }} - configMapRef: name: {{ include "django.fullname" . }} {{- end }} -{{- end }} \ No newline at end of file +{{- end }} diff --git a/templates/configmap.yaml b/templates/configmap.yaml index 70f8c56..0e42d8c 100644 --- a/templates/configmap.yaml +++ b/templates/configmap.yaml @@ -9,4 +9,10 @@ metadata: data: {{- range $k, $v := .Values.env.normal }} {{ $k }}: {{ $v | quote }} -{{- end }} \ No newline at end of file +{{- end }} +{{- if .Values.postgresql.enabled }} + DATABASE_HOST: {{ include "django.postgresql.host" . | quote }} + DATABASE_USER: {{ include "django.postgresql.username" . | quote }} + DATABASE_NAME: {{ include "django.postgresql.name" . | quote }} + DATABASE_PORT: {{ include "django.postgresql.port" . | quote }} +{{- end }} diff --git a/templates/pre-install-job.yaml b/templates/pre-install-job.yaml index 0b1ef91..f44d643 100644 --- a/templates/pre-install-job.yaml +++ b/templates/pre-install-job.yaml @@ -31,9 +31,13 @@ spec: {{- if .Values.env.secret.DATABASE_URL }} - name: DATABASE_URL value: {{ .Values.env.secret.DATABASE_URL }} -{{- else if .Values.postgresql.enabled }} - - name: DATABASE_URL - value: {{ include "django.postgresql.url" . | b64enc | quote }} +{{- end }} +{{- if .Values.postgresql.enabled }} + - name: DATABASE_PASSWORD + valueFrom: + secretKeyRef: + name: {{ include "django.postgresql.fullname" . }} + key: postgres-password {{- end }} - name: SECRET_KEY value: {{ required "env.secret.SECRET_KEY is a required value." .Values.env.secret.SECRET_KEY }} @@ -41,3 +45,6 @@ spec: - name: {{ $k }} value: {{ $v | quote }} {{- end }} + envFrom: + - configMapRef: + name: {{ include "django.fullname" . }} diff --git a/templates/secrets.yaml b/templates/secrets.yaml index b8aff3f..5e02da3 100644 --- a/templates/secrets.yaml +++ b/templates/secrets.yaml @@ -12,6 +12,3 @@ data: {{- if .Values.redis.enabled }} REDIS_URL: {{ include "django.redis.url" . | b64enc | quote }} {{- end }} -{{- if .Values.postgresql.enabled }} - DATABASE_URL: {{ include "django.postgresql.url" . | b64enc | quote }} -{{- end }} \ No newline at end of file diff --git a/templates/web/deployment.yaml b/templates/web/deployment.yaml index 2cfec45..75664eb 100644 --- a/templates/web/deployment.yaml +++ b/templates/web/deployment.yaml @@ -64,6 +64,10 @@ spec: valueFrom: fieldRef: fieldPath: status.podIP +{{- if .Values.env.secret.DATABASE_URL }} + - name: DATABASE_URL + value: {{ .Values.env.secret.DATABASE_URL }} +{{- end }} envFrom: - secretRef: name: {{ include "django.fullname" . }} diff --git a/templates/worker/deployment.yaml b/templates/worker/deployment.yaml index 5d62f20..d427a67 100644 --- a/templates/worker/deployment.yaml +++ b/templates/worker/deployment.yaml @@ -42,6 +42,10 @@ spec: env: - name: SERVER_ROLE value: "worker" +{{- if .Values.env.secret.DATABASE_URL }} + - name: DATABASE_URL + value: {{ .Values.env.secret.DATABASE_URL }} +{{- end }} envFrom: - secretRef: name: {{ include "django.fullname" . }} @@ -59,4 +63,4 @@ spec: tolerations: {{- toYaml . | nindent 8 }} {{- end }} -{{- end }} \ No newline at end of file +{{- end }}