-
Notifications
You must be signed in to change notification settings - Fork 15.9k
feat(helm): Allow multi-database connection support #34327
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(helm): Allow multi-database connection support #34327
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
31c4bbd
to
8cbf755
Compare
Can we have one more look, please? @rusackas @betodealmeida |
Pinged @betodealmeida on Slack about this, but it looks like the PR is also in need of a rebase, if you don't mind brushing it up a little :D |
Sure. Thank you, and Done. |
Hey there, do we have an update on this? @rusackas |
SUMMARY
This feature introduces dynamic database connection support for Superset Helm Chart, allowing users to select between different database types like PostgreSQL (default) and MySQL. Previously, the SQLALCHEMY_DATABASE_URI was hardcoded to postgresql+psycopg2. This enhancement enables the database backend to be configured directly through
values.yaml
.The
supersetNode.connections.db_type
option controls which database type Superset will connect to.This change is fully backward compatible:
If
supersetNode.connections.db_type
is not explicitly set invalues.yaml
(as would be the case for existing deployments), it defaults to "postgresql", preserving current functionality.Validation is included to prevent unsupported database_type values from being deployed.
TESTING INSTRUCTIONS
To test PostgreSQL (Default Behavior):
supersetNode.connections.db_type
is either commented out or set to"postgresql"
invalues.yaml
.helm upgrade --install superset .
To test MySQL:
mysqlclient
Python package (e.g., by addingRUN pip install mysqlclient
after installing build dependencies likedefault-libmysqlclient-dev
). Update yourvalues.yaml
to use this new image.values.yaml
, setsupersetNode.connections.db_type: "mysql"
.supersetNode.connections.db_host
to your MySQL server's host.supersetNode.connections.db_user
,db_pass
,db_name
,db_port
for your MySQL database.helm upgrade --install superset .
To test Validation (Unsupported Type):
values.yaml
, setsupersetNode.connections.db_type: "unsupported_db_type"
.helm upgrade --install superset .
database_type
.ADDITIONAL INFORMATION