Superset Configuration
What is Apache Superset?
Apache Superset is TDP's data visualization layer.
It is where analysts and managers create dashboards, explore tables, and generate charts without having to write SQL directly — although SQL is also supported for advanced users.
In TDP Kubernetes, Superset connects to Trino and ClickHouse as data sources.
Trino provides federated access to all data lake data; ClickHouse provides high-speed analytical queries.
Superset is the frontend that makes this data accessible to everyone in the organization.
See Apache Superset — Concepts for a complete overview of the tool, its architecture and how it works.
Deployed components
| Component | Description |
|---|---|
| Superset Web | Web interface and API (Flask/Python) |
| Celery Workers | Process asynchronous queries and background caches |
| Celery Beat | Periodic task scheduler (dashboard refresh, alerts) |
| Redis (embedded) | Message broker for Celery and results cache |
| External PostgreSQL | Superset metadata database (dashboards, users, datasources) |
Superset stores its metadata (dashboards, charts, database connections, users) in a relational database. In TDP, this is done in the shared tdp-postgresql. Superset itself does not store analysis data — it only stores the definitions of how to visualize that data.
This page describes the Apache Superset configuration in TDP Kubernetes according to the tdp-superset chart.
Overview
| Property | Value |
|---|---|
| Chart | tdp-superset |
| Superset Version | 5.0.0 |
| Chart Version | 3.0.0 |
| Registry (examples) | oci://registry.tecnisys.com.br/tdp/charts/tdp-superset |
The deployment typically includes a Superset node, Celery workers, Celery Beat, embedded Redis (as configured in the values file) and external PostgreSQL for metadata when superset.postgresql.enabled=false.
Installation
helm install <release> oci://registry.tecnisys.com.br/tdp/charts/tdp-superset \
-n <namespace> --create-namespace
Main parameters
| Parameter | Description | Typical default |
|---|---|---|
superset.enabled | Enable Superset | true |
superset.fullnameOverride | Base name for resources | tdp-superset (adjust if needed) |
superset.extraSecretEnv.SUPERSET_SECRET_KEY | Superset secret key (required) | Placeholder in values |
supersetPostgresqlPassword | Superset DB user password (Secret managed by chart, optional) | "" |
TDPConfigurations.externalDatabase.enabled | db-create-job bootstrap job | false |
TDPConfigurations.externalDatabase.externalSecret.releaseName | PostgreSQL admin Secret prefix | E.g.: PostgreSQL release name |
TDPConfigurations.externalDatabase.externalSecret.area | Secret suffix | E.g.: project |
superset.postgresqlSecrets.name | Name of the Superset DB password Secret | See helm show values |
superset.postgresqlSecrets.passwordKey | Password key inside the Secret | See helm show values |
superset.supersetNode.connections.db_host | Metadata PostgreSQL host | <service>.<namespace>.svc.cluster.local |
superset.datasources.autoImport.enabled | Auto-import datasources on init | false |
superset.datasources.clickhouse.enabled | ClickHouse block | false |
superset.datasources.trino.enabled | Trino block | false |
Secret key
superset.extraSecretEnv.SUPERSET_SECRET_KEY is required for encrypting sensitive data in Superset. Generate a strong value and inject it via Secret/values (do not version in plaintext).
openssl rand -base64 42
External PostgreSQL and db-create-job
The chart can create a database and user via Helm hook when all of the following are true simultaneously:
TDPConfigurations.externalDatabase.enabled=truesuperset.postgresql.enabled=falsesuperset.supersetNode.connections.db_type=postgresql
The PostgreSQL admin password is read from a Secret named <releaseName>-<area>, key postgres-password, following the TDP chart pattern. Adjust TDPConfigurations.externalDatabase.externalSecret to the pattern you use for PostgreSQL.
Generic connection example (metadata):
superset:
postgresql:
enabled: false
supersetNode:
connections:
db_type: postgresql
db_host: <postgresql-service>.<namespace>.svc.cluster.local
db_name: superset_db
db_user: superset_user
Datasources: ClickHouse and Trino
The blocks are located under superset.datasources.*. With superset.datasources.autoImport.enabled=true, enabled blocks can be imported by the upstream init job.
Example of enabling via CLI:
helm upgrade --install <release> oci://registry.tecnisys.com.br/tdp/charts/tdp-superset \
-n <namespace> \
--set superset.datasources.autoImport.enabled=true \
--set superset.datasources.clickhouse.enabled=true
Illustrative YAML values (replace hosts and credentials):
superset:
datasources:
clickhouse:
enabled: true
name: "ClickHouse"
host: "<clickhouse-service>.<namespace>.svc.cluster.local"
port: "8123"
database: "default"
trino:
enabled: true
name: "Trino"
host: "<trino-service>.<namespace>.svc.cluster.local"
port: "8080"
catalog: "<catalog>"
SQLAlchemy connection strings depend on the drivers installed in the image; there is no single fixed URL in the package — align with the image you are using and the Superset documentation.
Redis and replicas
Embedded Redis and replicas of supersetNode / workers follow the chart and upstream subchart values.yaml. Adjust resources according to load.
Accessing the interface
The Service name follows fullnameOverride (default tdp-superset if not changed):
kubectl -n <namespace> port-forward service/<service-name> 8088:8088
Open http://127.0.0.1:8088. Initial credentials come from the superset.init block in your values file (change after the first login).
Troubleshooting
kubectl -n <namespace> get pods
kubectl -n <namespace> get jobs
kubectl -n <namespace> get events --sort-by=.lastTimestamp
Uninstallation
helm uninstall <release> -n <namespace>
For the full list of parameters, run helm show values for the chart version you installed.