From ad66bbed6291fa1cd3aee21e184d3ec7610688fa Mon Sep 17 00:00:00 2001
From: Cees-Jan Kiewiet <ceesjank@gmail.com>
Date: Sun, 13 Nov 2022 12:06:03 -0800
Subject: [PATCH] Add the option to configure external postgresql port (#20370)

While the normal assumption of port `5432` for a postgresql server is pretty reliable I found that DigitalOcean puts them on a somewhat random port. This adds the ability to specify the port in the helm chart.
---
 chart/Chart.yaml                   | 2 +-
 chart/templates/configmap-env.yaml | 3 ++-
 chart/values.yaml                  | 1 +
 3 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/chart/Chart.yaml b/chart/Chart.yaml
index c8ed0c9f97..7080095f2d 100644
--- a/chart/Chart.yaml
+++ b/chart/Chart.yaml
@@ -15,7 +15,7 @@ type: application
 # This is the chart version. This version number should be incremented each time you make changes
 # to the chart and its templates, including the app version.
 # Versions are expected to follow Semantic Versioning (https://semver.org/)
-version: 2.2.0
+version: 2.3.0
 
 # This is the version number of the application being deployed. This version number should be
 # incremented each time you make changes to the application. Versions are not expected to
diff --git a/chart/templates/configmap-env.yaml b/chart/templates/configmap-env.yaml
index 82a6a31e4a..5d0b96db8a 100644
--- a/chart/templates/configmap-env.yaml
+++ b/chart/templates/configmap-env.yaml
@@ -7,12 +7,13 @@ metadata:
 data:
   {{- if .Values.postgresql.enabled }}
   DB_HOST: {{ template "mastodon.postgresql.fullname" . }}
+  DB_PORT: "5432"
   {{- else }}
   DB_HOST: {{ .Values.postgresql.postgresqlHostname }}
+  DB_PORT: {{ .Values.postgresql.postgresqlPort | default "5432" | quote }}
   {{- end }}
   DB_NAME: {{ .Values.postgresql.auth.database }}
   DB_POOL: {{ .Values.mastodon.sidekiq.concurrency | quote }}
-  DB_PORT: "5432"
   DB_USER: {{ .Values.postgresql.auth.username }}
   DEFAULT_LOCALE: {{ .Values.mastodon.locale }}
   {{- if .Values.elasticsearch.enabled }}
diff --git a/chart/values.yaml b/chart/values.yaml
index af1c7cbfc7..07171fc1a8 100644
--- a/chart/values.yaml
+++ b/chart/values.yaml
@@ -149,6 +149,7 @@ postgresql:
   # must match those of that external postgres instance
   enabled: true
   # postgresqlHostname: preexisting-postgresql
+  # postgresqlPort: 5432
   auth:
     database: mastodon_production
     username: mastodon