Skip to content
SYS.DOCS // DOCS

Deploy and Operate Metabase

Metabase is open-source business intelligence: dashboards, questions, and SQL exploration. Edka deploys it as a managed app in your Kubernetes cluster and connects it to a managed PostgreSQL database for its own metadata instead of the embedded H2 database.

ComponentPurposeHow Edka connects it
MetabaseDashboards, questions, and SQL exploration UIInstalled from the Edka Metabase chart, single replica on port 3000
PostgreSQLMetabase’s own metadata: questions, dashboards, users, and saved database credentialsSelect an installation, database, and user from the Databases workspace
Envoy GatewayHTTPS access on one hostnameSelect a traffic class and hostname

Before installing Metabase, prepare:

  • an Edka cluster with an Envoy Gateway traffic class and managed TLS
  • a DNS hostname for the Metabase dashboard
  • a managed PostgreSQL installation with a database and login user for Metabase to use as its application database

Create the database and user in the Databases workspace first.

  1. Open your cluster and select Apps.
  2. Find Metabase and select Install.
  3. In General, choose the Namespace and decide whether Edka may automatically apply compatible chart and image updates.
  4. In Database, select the PostgreSQL Installation, PostgreSQL Database, and PostgreSQL User Metabase should use for its own metadata. Edka resolves the connection host, port, schema, and SSL settings from the selected installation, and the password from the selected user’s Kubernetes Secret.
  5. In Configuration, decide whether to enable Anonymous Tracking.
  6. Review resources, placement, and access.
  7. Select Install App and follow the operation progress until Metabase is ready.
SecretPurposeHandling
Encryption Secret KeyEncrypts the credentials of databases Metabase connects to, at restGenerated at install (32 characters, minimum 16), kept stable for the app’s lifetime, not editable after install
PostgreSQL PasswordAuthenticates Metabase to its application databaseResolved from the selected PostgreSQL user’s Secret and kept in sync on updates

The Encryption Secret Key cannot be revealed from the app configuration view after installation.

SettingDefault
CPU request500m
Memory request1Gi
CPU limit2000m
Memory limit2Gi

Metabase runs as a single replica. You can pin pods to a node pool and have Edka automatically add tolerations for that pool’s taints.

Metabase always publishes through an Envoy Gateway traffic class. Select a Traffic Class and a Hostname for the dashboard; Edka publishes it through an HTTPRoute and sets the Metabase site URL to that hostname.

Auto-update is disabled by default. When Auto-update App is enabled, choose an Auto-update Policy of patch, minor, major, all, or a custom tag pattern (using a glob: or regexp: prefix), and an Auto-update Check interval of every 5 minutes, every 30 minutes, every hour, every 6 hours, or daily. Edka tracks the Metabase Helm chart version and the metabase/metabase image tag as separate auto-update targets.

SymptomCheck
Install fails validating PostgreSQL settingsConfirm the selected PostgreSQL installation, database, and user resolve a host, port, database name, and user; Edka validates these before installing
Pod stays unreadyVerify the selected PostgreSQL installation, database, and user are reachable and the password Secret exists
Dashboard unreachable externallyConfirm the selected Traffic Class and Hostname resolve through the Gateway