Releases¶
This page tracks notable changes in Apache Superset Kubernetes Operator releases.
Unreleased¶
Added¶
- Seconds and year precision in
cronSchedule. Lifecycle taskcronSchedulefields now accept 6- and 7-field cron expressions in addition to the classic 5-field form — an optional leading seconds field and/or trailing year field (e.g.*/30 * * * * *every 30 seconds,0 0 2 * * * 2027). Existing 5-field schedules are unaffected (#238, @villebro). - Helm
imagePullSecrets. The Helm chart now exposes animagePullSecretsvalue that setsspec.template.spec.imagePullSecretson the operator Deployment, letting operators pull the manager image from a private registry. The referenced Secrets must already exist in the release namespace — the chart does not create them (#240, @younsl). - Helm
topologySpreadConstraints. The Helm chart now exposes atopologySpreadConstraintsvalue that setsspec.template.spec.topologySpreadConstraintson the operator Deployment, letting operators distribute manager pods across failure domains such as nodes and zones (#213, @younsl). - Helm
revisionHistoryLimit. The Helm chart now exposes arevisionHistoryLimitvalue that allows settingspec.revisionHistoryLimiton the operator Deployment, capping the number of old ReplicaSets retained for rollback (@younsl). - Helm extra manifests. The Helm chart now supports
extraManifestsfor rendering trusted, release-scoped Kubernetes manifests with Helmtpl. Use it for companion resources owned by the operator release, not shared cluster infrastructure such as Gateway API controllers, CRDs, or shared Gateways (#196, @younsl). - Helm resize policy. The Helm chart now supports
resizePolicyon the manager container, controlling whether an in-place pod resize (InPlacePodVerticalScaling) restarts the container (#200, @younsl).
Changed¶
- Breaking: renamed the "version" status fields to "tag".
status.version→status.tag(thekubectl getcolumn is renamed Version → Tag), andstatus.lifecycle.upgrade.fromVersion/toVersion→fromTag/toTag. No behavior change. - Breaking: downgrade blocking is removed. Any change to the lifecycle image tag now re-runs the migrate task (
superset db upgrade) regardless of direction — the operator no longer performs semver comparison or setsstatus.phase: Blockedon a version decrease. The migrate task only runssuperset db upgrade(Superset's down migrations are poorly tested and often break, so the operator never runs them), so take a database backup before an upgrade if you may need to revert. Thedirectionfield is removed fromstatus.lifecycle.upgrade, and theVersionComparisonSkippedwarning event no longer fires. - Breaking: the lifecycle
clonetask is renamed toseed. Renamespec.lifecycle.clonetospec.lifecycle.seed(and itspostCloneSQLfield topostSeedSQL) in your Superset resources. The task Job name suffix changes from-cloneto-seed, and the lifecycle status phase fromCloningtoSeeding. Customseed.commandscripts must read the renamedSUPERSET_OPERATOR__SEED_SRC_*environment variables.
Security¶
- Credential redaction in task failure output. Lifecycle task failure messages are now scrubbed with best-effort pattern-based redaction before being persisted to the parent Superset status and Kubernetes Events: passwords embedded in connection URIs and common credential assignments (
password=...,token=..., etc.) are masked. This mitigates the known limitation where a failing task command could leak credential fragments into status (@younsl).
0.1.1 - 2026-06-29¶
Fixed¶
- Honor HPA-managed replica counts: the operator no longer overwrites the replica count on Deployments whose scaling is owned by a HorizontalPodAutoscaler (#152, @pashtet04).
0.1.0 - 2026-06-10¶
Added¶
- Initial release (@villebro).
Known limitations¶
- Websocket server is experimental. The websocket server is not yet well supported and is pending security hardening; it is not recommended for production use.
- Downgrade protection requires semver image tags. Downgrades are detected and blocked only when both image tags are valid semver. Non-semver tags (
latest, date stamps, digest pins) cannot be ordered, so the operator emits aVersionComparisonSkippedwarning and proceeds without blocking. See Lifecycle. - Task failure messages may include credential fragments. Lifecycle task failure output is truncated into
statusand could contain fragments of task stdout, including credentials. See security.md.