From fb8aeca6d0122c7ad99cff57bef43276ce61774a Mon Sep 17 00:00:00 2001 From: franklin Date: Tue, 14 Oct 2025 09:53:28 +0200 Subject: [PATCH 1/3] feat: add externaldb usernameKey and passwordKey --- docs/external-db-integration.md | 2 ++ waldur/templates/_helpers.tpl | 17 ++++++++++++++++- waldur/test/values.yaml | 2 ++ waldur/values.yaml | 2 ++ 4 files changed, 22 insertions(+), 1 deletion(-) diff --git a/docs/external-db-integration.md b/docs/external-db-integration.md index 3239f72a..ebe1a273 100644 --- a/docs/external-db-integration.md +++ b/docs/external-db-integration.md @@ -8,6 +8,8 @@ For this, you need to set the following variables in `values.yaml`: 2. `externalDB.flavor` - a type of the DB management system; currently only `zalando` ([Zalando operator](https://postgres-operator.readthedocs.io/en/latest/)) is supported 3. `externalDB.secretName` - name of the secret with PostgreSQL credentials for Waldur user; should include `username` and `password` keys 4. `externalDB.serviceName` - name of the service linked to PostgreSQL master +5. `externalDB.usernameKey` - name of the key defining the PostgreSQL user's name; default: `username` +6. `externalDB.passwordKey` - name of the key defining the PostgreSQL user's password; default: `password` Zalando-managed PostgreSQL cluster example: diff --git a/waldur/templates/_helpers.tpl b/waldur/templates/_helpers.tpl index 1b94b3a6..d9a049c0 100755 --- a/waldur/templates/_helpers.tpl +++ b/waldur/templates/_helpers.tpl @@ -88,12 +88,27 @@ Set postgres secret {{- end -}} {{- end -}} +{{/* +Set postgres secret password key +*/}} +{{- define "waldur.postgresql.secret.usernameKey" -}} +{{- if .Values.externalDB.enabled -}} +{{ .Values.externalDB.usernameKey }} +{{- else -}} +"username" +{{- end -}} +{{- end -}} + {{/* Set postgres secret password key */}} {{- define "waldur.postgresql.secret.passwordKey" -}} +{{- if .Values.externalDB.enabled -}} +{{ .Values.externalDB.passwordKey }} +{{- else -}} "password" {{- end -}} +{{- end -}} {{/* Set postgres database name @@ -179,7 +194,7 @@ Add environment variables to configure database values and Sentry environment valueFrom: secretKeyRef: name: {{ include "waldur.postgresql.secret" . }} - key: username + key: {{ include "waldur.postgresql.secret.usernameKey" . }} {{ else }} value: {{ include "waldur.postgresql.user" . }} {{ end }} diff --git a/waldur/test/values.yaml b/waldur/test/values.yaml index 62a17614..8fe4d350 100755 --- a/waldur/test/values.yaml +++ b/waldur/test/values.yaml @@ -479,6 +479,8 @@ externalDB: flavor: "zalando" secretName: "waldur.waldur-testing-postgres.credentials.postgresql.acid.zalan.do" serviceName: "waldur-testing-postgres" + passwordKey: password + usernameKey: username postgresql: enabled: true diff --git a/waldur/values.yaml b/waldur/values.yaml index 63e0695c..6afc0ea4 100755 --- a/waldur/values.yaml +++ b/waldur/values.yaml @@ -443,6 +443,8 @@ externalDB: flavor: "zalando" secretName: "waldur.waldur.credentials.postgresql.acid.zalan.do" serviceName: "waldur-postgres" + usernameKey: "username" + passwordKey: "password" postgresql: enabled: false From f949241029b6c8a4a5b91db37d9f995a41fc9ec2 Mon Sep 17 00:00:00 2001 From: franklin Date: Tue, 14 Oct 2025 10:09:30 +0200 Subject: [PATCH 2/3] revert: remove usernameKey --- docs/external-db-integration.md | 3 +-- waldur/templates/_helpers.tpl | 13 +------------ waldur/test/values.yaml | 3 +-- waldur/values.yaml | 1 - 4 files changed, 3 insertions(+), 17 deletions(-) diff --git a/docs/external-db-integration.md b/docs/external-db-integration.md index ebe1a273..25443005 100644 --- a/docs/external-db-integration.md +++ b/docs/external-db-integration.md @@ -8,8 +8,7 @@ For this, you need to set the following variables in `values.yaml`: 2. `externalDB.flavor` - a type of the DB management system; currently only `zalando` ([Zalando operator](https://postgres-operator.readthedocs.io/en/latest/)) is supported 3. `externalDB.secretName` - name of the secret with PostgreSQL credentials for Waldur user; should include `username` and `password` keys 4. `externalDB.serviceName` - name of the service linked to PostgreSQL master -5. `externalDB.usernameKey` - name of the key defining the PostgreSQL user's name; default: `username` -6. `externalDB.passwordKey` - name of the key defining the PostgreSQL user's password; default: `password` +5. `externalDB.passwordKey` - name of the key defining the PostgreSQL user's password; default: `password` Zalando-managed PostgreSQL cluster example: diff --git a/waldur/templates/_helpers.tpl b/waldur/templates/_helpers.tpl index d9a049c0..02ef8e1e 100755 --- a/waldur/templates/_helpers.tpl +++ b/waldur/templates/_helpers.tpl @@ -88,17 +88,6 @@ Set postgres secret {{- end -}} {{- end -}} -{{/* -Set postgres secret password key -*/}} -{{- define "waldur.postgresql.secret.usernameKey" -}} -{{- if .Values.externalDB.enabled -}} -{{ .Values.externalDB.usernameKey }} -{{- else -}} -"username" -{{- end -}} -{{- end -}} - {{/* Set postgres secret password key */}} @@ -190,7 +179,7 @@ Add environment variables to configure database values and Sentry environment value: {{ include "waldur.postgresql.port" . }} - name: POSTGRESQL_USER -{{ if and .Values.externalDB.enabled (eq .Values.externalDB.flavor "zalando") }} +{{ if .Values.externalDB.enabled (eq .Values.externalDB.flavor "zalando") }} valueFrom: secretKeyRef: name: {{ include "waldur.postgresql.secret" . }} diff --git a/waldur/test/values.yaml b/waldur/test/values.yaml index 8fe4d350..799e7195 100755 --- a/waldur/test/values.yaml +++ b/waldur/test/values.yaml @@ -479,8 +479,7 @@ externalDB: flavor: "zalando" secretName: "waldur.waldur-testing-postgres.credentials.postgresql.acid.zalan.do" serviceName: "waldur-testing-postgres" - passwordKey: password - usernameKey: username + passwordKey: "password" postgresql: enabled: true diff --git a/waldur/values.yaml b/waldur/values.yaml index 6afc0ea4..bb0885c3 100755 --- a/waldur/values.yaml +++ b/waldur/values.yaml @@ -443,7 +443,6 @@ externalDB: flavor: "zalando" secretName: "waldur.waldur.credentials.postgresql.acid.zalan.do" serviceName: "waldur-postgres" - usernameKey: "username" passwordKey: "password" postgresql: From 2529eb6d75bb2b125964f951a439633ce7413a4a Mon Sep 17 00:00:00 2001 From: franklin Date: Tue, 14 Oct 2025 10:11:03 +0200 Subject: [PATCH 3/3] revert: remove usernameKey --- waldur/templates/_helpers.tpl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/waldur/templates/_helpers.tpl b/waldur/templates/_helpers.tpl index 02ef8e1e..7299a6a1 100755 --- a/waldur/templates/_helpers.tpl +++ b/waldur/templates/_helpers.tpl @@ -179,11 +179,11 @@ Add environment variables to configure database values and Sentry environment value: {{ include "waldur.postgresql.port" . }} - name: POSTGRESQL_USER -{{ if .Values.externalDB.enabled (eq .Values.externalDB.flavor "zalando") }} +{{ if and .Values.externalDB.enabled (eq .Values.externalDB.flavor "zalando") }} valueFrom: secretKeyRef: name: {{ include "waldur.postgresql.secret" . }} - key: {{ include "waldur.postgresql.secret.usernameKey" . }} + key: username {{ else }} value: {{ include "waldur.postgresql.user" . }} {{ end }}