diff --git a/chart/templates/secrets/metadata-connection-secret.yaml b/chart/templates/secrets/metadata-connection-secret.yaml index 220a516682ece..d304414cc18b0 100644 --- a/chart/templates/secrets/metadata-connection-secret.yaml +++ b/chart/templates/secrets/metadata-connection-secret.yaml @@ -51,9 +51,9 @@ data: {{- with .Values.data.metadataConnection }} kedaConnection: {{ urlJoin (dict "scheme" .protocol "userinfo" (printf "%s:%s" (.user | urlquery) (.pass | urlquery) ) "host" (printf "%s:%s" $metadataHost $metadataPort) "path" (printf "/%s" $metadataDatabase) "query" $query) | b64enc | quote }} {{- end }} - {{- else if and .Values.workers.keda.enabled (eq .Values.data.metadataConnection.protocol "mysql") }} + {{- else if and (or .Values.workers.keda.enabled .Values.triggerer.keda.enabled) (eq .Values.data.metadataConnection.protocol "mysql") }} {{- with .Values.data.metadataConnection }} - kedaConnection: {{ urlJoin (dict "userinfo" (printf "%s:%s" (.user | urlquery) (.pass | urlquery) ) "host" (printf "tcp(%s:%s)" $metadataHost $metadataPort) "path" (printf "/%s" $metadataDatabase) "query" $query) | b64enc | quote }} + kedaConnection: {{ urlJoin (dict "userinfo" (printf "%s:%s" (.user | urlquery) (.pass | urlquery) ) "host" (printf "tcp(%s:%s)" $metadataHost $metadataPort) "path" (printf "/%s" $metadataDatabase) "query" $query) | trimPrefix "//" | b64enc | quote }} {{- end }} {{- end }} {{- end }} diff --git a/helm_tests/other/test_keda.py b/helm_tests/other/test_keda.py index 07c07fc91ea71..8f4661fe35bb6 100644 --- a/helm_tests/other/test_keda.py +++ b/helm_tests/other/test_keda.py @@ -278,6 +278,8 @@ def test_default_keda_db_connection_pgbouncer_enabled_usePgbouncer_false(self): def test_mysql_keda_db_connection(self): """Verify keda db connection when pgbouncer is enabled.""" + import base64 + docs = render_chart( values={ "data": {"metadataConnection": {"protocol": "mysql", "port": 3306}}, @@ -304,8 +306,10 @@ def test_mysql_keda_db_connection(self): assert "queryValue" in keda_autoscaler_metadata secret_data = jmespath.search("data", metadata_connection_secret) + keda_connection_secret = base64.b64decode(secret_data["kedaConnection"]).decode() assert "connection" in secret_data.keys() assert "kedaConnection" in secret_data.keys() + assert not keda_connection_secret.startswith("//") autoscaler_connection_env_var = jmespath.search( "spec.triggers[0].metadata.connectionStringFromEnv", keda_autoscaler