Skip to content

Commit bc0c40c

Browse files
authored
feat(helm): Allow multi-database connection support (#34327)
1 parent f030d65 commit bc0c40c

File tree

4 files changed

+17
-3
lines changed

4 files changed

+17
-3
lines changed

helm/superset/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ maintainers:
2929
- name: craig-rueda
3030
3131
url: https://github.com/craig-rueda
32-
version: 0.15.0 # See [README](https://github.com/apache/superset/blob/master/helm/superset/README.md#versioning) for version details.
32+
version: 0.15.1 # See [README](https://github.com/apache/superset/blob/master/helm/superset/README.md#versioning) for version details.
3333
dependencies:
3434
- name: postgresql
3535
version: 13.4.4

helm/superset/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ NOTE: This file is generated by helm-docs: https://github.com/norwoodj/helm-docs
2323

2424
# superset
2525

26-
![Version: 0.15.0](https://img.shields.io/badge/Version-0.15.0-informational?style=flat-square)
26+
![Version: 0.15.1](https://img.shields.io/badge/Version-0.15.1-informational?style=flat-square)
2727

2828
Apache Superset is a modern, enterprise-ready business intelligence web application
2929

@@ -203,6 +203,7 @@ On helm this can be set on `extraSecretEnv.SUPERSET_SECRET_KEY` or `configOverri
203203
| supersetNode.connections.db_name | string | `"superset"` | |
204204
| supersetNode.connections.db_pass | string | `"superset"` | |
205205
| supersetNode.connections.db_port | string | `"5432"` | |
206+
| supersetNode.connections.db_type | string | `"postgresql"` | Database type for Superset metadata (Supported types: "postgresql", "mysql") |
206207
| supersetNode.connections.db_user | string | `"superset"` | |
207208
| supersetNode.connections.redis_cache_db | string | `"1"` | |
208209
| supersetNode.connections.redis_celery_db | string | `"0"` | |

helm/superset/templates/_helpers.tpl

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,18 @@ CACHE_CONFIG = {
9696
}
9797
DATA_CACHE_CONFIG = CACHE_CONFIG
9898

99-
SQLALCHEMY_DATABASE_URI = f"postgresql+psycopg2://{env('DB_USER')}:{env('DB_PASS')}@{env('DB_HOST')}:{env('DB_PORT')}/{env('DB_NAME')}"
99+
100+
if os.getenv("SQLALCHEMY_DATABASE_URI"):
101+
SQLALCHEMY_DATABASE_URI = os.getenv("SQLALCHEMY_DATABASE_URI")
102+
else:
103+
{{- if eq .Values.supersetNode.connections.db_type "postgresql" }}
104+
SQLALCHEMY_DATABASE_URI = f"postgresql+psycopg2://{os.getenv('DB_USER')}:{os.getenv('DB_PASS')}@{os.getenv('DB_HOST')}:{os.getenv('DB_PORT')}/{os.getenv('DB_NAME')}"
105+
{{- else if eq .Values.supersetNode.connections.db_type "mysql" }}
106+
SQLALCHEMY_DATABASE_URI = f"mysql+mysqldb://{os.getenv('DB_USER')}:{os.getenv('DB_PASS')}@{os.getenv('DB_HOST')}:{os.getenv('DB_PORT')}/{os.getenv('DB_NAME')}"
107+
{{- else }}
108+
{{ fail (printf "Unsupported database type: %s. Please use 'postgresql' or 'mysql'." .Values.supersetNode.connections.db_type) }}
109+
{{- end }}
110+
100111
SQLALCHEMY_TRACK_MODIFICATIONS = True
101112

102113
class CeleryConfig:

helm/superset/values.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -289,6 +289,8 @@ supersetNode:
289289
enabled: false
290290
ssl_cert_reqs: CERT_NONE
291291
# You need to change below configuration incase bringing own PostgresSQL instance and also set postgresql.enabled:false
292+
# -- Database type for Superset metadata (Supported types: "postgresql", "mysql")
293+
db_type: "postgresql"
292294
db_host: "{{ .Release.Name }}-postgresql"
293295
db_port: "5432"
294296
db_user: superset

0 commit comments

Comments
 (0)