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.
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: Development secretKey: thisIsNotSecure_changeInProduction! metastore: uri: postgresql+psycopg2://superset:superset@postgres:5432/superset webServer: {}
Note: The example above uses
environment: Developmentfor simplicity. In production (the default), usesecretKeyFromandmetastore.uriFromto reference Kubernetes Secrets. See the User Guide and the sample manifests for production-ready examples.
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.
Licensed under the Apache License, Version 2.0. See LICENSE for details.