Skip to main content
Version Next

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.

Learn more

See Apache Superset — Concepts for a complete overview of the tool, its architecture and how it works.

Deployed components

ComponentDescription
Superset WebWeb interface and API (Flask/Python)
Celery WorkersProcess asynchronous queries and background caches
Celery BeatPeriodic task scheduler (dashboard refresh, alerts)
Redis (embedded)Message broker for Celery and results cache
External PostgreSQLSuperset metadata database (dashboards, users, datasources)
Why does Superset need PostgreSQL?

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

PropertyValue
Charttdp-superset
Superset Version5.0.0
Chart Version3.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

Example
helm install <release> oci://registry.tecnisys.com.br/tdp/charts/tdp-superset \
-n <namespace> --create-namespace

Main parameters

ParameterDescriptionTypical default
superset.enabledEnable Supersettrue
superset.fullnameOverrideBase name for resourcestdp-superset (adjust if needed)
superset.extraSecretEnv.SUPERSET_SECRET_KEYSuperset secret key (required)Placeholder in values
supersetPostgresqlPasswordSuperset DB user password (Secret managed by chart, optional)""
TDPConfigurations.externalDatabase.enableddb-create-job bootstrap jobfalse
TDPConfigurations.externalDatabase.externalSecret.releaseNamePostgreSQL admin Secret prefixE.g.: PostgreSQL release name
TDPConfigurations.externalDatabase.externalSecret.areaSecret suffixE.g.: project
superset.postgresqlSecrets.nameName of the Superset DB password SecretSee helm show values
superset.postgresqlSecrets.passwordKeyPassword key inside the SecretSee helm show values
superset.supersetNode.connections.db_hostMetadata PostgreSQL host<service>.<namespace>.svc.cluster.local
superset.datasources.autoImport.enabledAuto-import datasources on initfalse
superset.datasources.clickhouse.enabledClickHouse blockfalse
superset.datasources.trino.enabledTrino blockfalse

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).

Generate value (example)
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=true
  • superset.postgresql.enabled=false
  • superset.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:

Example
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.