Apache Superset Kubernetes Operator
Warning: This project is under active development and is not yet stable. APIs, CRD schemas, and behavior may change without notice between releases. Do not use in production.

A Kubernetes operator for deploying and managing Apache Superset on Kubernetes. Read the documentation to get started. Built with the Go-based Operator SDK.
The operator is designed to make running Superset on Kubernetes as painless as possible. It works well out of the box with production-ready defaults, and every default is overridable when you need more control.
Quick Start
Install the operator via Helm:
helm install superset-operator \
oci://ghcr.io/apache/superset-kubernetes-operator/charts/superset-operator \
--version <version> \
--namespace superset-operator-system \
--create-namespace
Then create a minimal Superset instance:
apiVersion: superset.apache.org/v1alpha1
kind: Superset
metadata:
name: my-superset
spec:
image:
tag: "latest"
environment: dev
secretKey: thisIsNotSecure_changeInProduction!
metastore:
uri: postgresql+psycopg2://superset:superset@postgres:5432/superset
webServer: {}
Note: The example above uses environment: dev for simplicity. In production (the default), use secretKeyFrom and metastore.uriFrom to reference Kubernetes Secrets. See the User Guide and the sample manifests for production-ready examples.
Development
make build # Build operator binary
make test # Run unit/integration tests
make lint # Run golangci-lint
make helm-lint # Lint the Helm chart
make docs-serve # Serve docs locally (http://localhost:8000)
make manifests # Regenerate CRDs + RBAC from markers
make generate # Regenerate DeepCopy methods
After editing type definitions in api/v1alpha1/, run make manifests generate and commit the generated files alongside your changes.
License
Licensed under the Apache License, Version 2.0. See LICENSE for details.