Skip to content

fix(clickstack-operators): bump clickhouse-operator-helm dep to >=0.0.5#226

Open
ZeynelKoca wants to merge 1 commit into
ClickHouse:mainfrom
ZeynelKoca:zeynel/bump-clickhouse-operator-helm-0.0.5
Open

fix(clickstack-operators): bump clickhouse-operator-helm dep to >=0.0.5#226
ZeynelKoca wants to merge 1 commit into
ClickHouse:mainfrom
ZeynelKoca:zeynel/bump-clickhouse-operator-helm-0.0.5

Conversation

@ZeynelKoca
Copy link
Copy Markdown

Problem

The clickstack-operators chart at v1.0.0 declares its clickhouse-operator-helm dependency as ~0.0.2. In Helm's Masterminds semver implementation, the tilde range for pre-1.0 patch-level versions is interpreted narrowly as >=0.0.2 <0.0.3 — so this dep resolves only to v0.0.2 of the operator chart, even though newer 0.0.x releases (v0.0.3, v0.0.4, v0.0.5) exist.

Consumers of clickstack-operators v1.0.0 are effectively pinned to operator v0.0.2 and miss every fix since then. In particular, v0.0.5 ships:

  • New CRD schema field spec.podDisruptionBudget on both ClickHouseCluster and KeeperCluster (lets users override the auto-generated PDB).
  • Smart default for ClickHouseCluster with replicas <= 1: maxUnavailable=1 (instead of minAvailable=1) so single-replica clusters do not deadlock on voluntary disruption (e.g. node drains, upgrades).
  • RBAC additions (notably the Jobs informer the v0.0.5 controller manager requires).

We hit this in production: a single-replica deployment of ClickStack on AKS got stuck on a node-pool VM resize because the v0.0.2 operator generated PDBs that no eviction could satisfy (minAvailable=1 on a 1-replica ClickHouse, maxUnavailable=0 on a 1-replica Keeper). Bumping the wrapper chart's operator image alone is not enough — the v0.0.5 binary crashloops against v0.0.2's RBAC/CRDs.

Fix

Widen the dependency constraint so the chart pulls v0.0.5 (and stays compatible with future 0.0.x releases):

# charts/clickstack-operators/Chart.yaml
- name: clickhouse-operator-helm
  version: ">=0.0.5, <0.1.0"   # was: "~0.0.2"

This pulls operator v0.0.5 + its matching CRDs + matching RBAC together, as one consistent set.

Verification

$ helm dependency build charts/clickstack-operators
Pulled: ghcr.io/clickhouse/clickhouse-operator-helm:0.0.5

$ helm template clickstack-operators charts/clickstack-operators | grep -c "^kind:"
29

Resolves cleanly, no template errors, all expected resources render.

Changeset

Added .changeset/bump-clickhouse-operator-helm.md (minor bump) describing the user-visible change for the next release.

Notes for adopters

Existing installations have CRDs with helm.sh/resource-policy: keep (from the original install), which prevents Helm from updating them on upgrade. After this change merges and a new chart release is published, adopters upgrading from v1.0.0 will need a one-time kubectl apply -f of the new CRDs (or remove the keep annotation) to pick up the new schema. This is unrelated to this PR but worth mentioning in the release notes.

@ZeynelKoca ZeynelKoca requested a review from a team as a code owner June 1, 2026 12:06
@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Jun 1, 2026

🦋 Changeset detected

Latest commit: b431e9e

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
helm-charts Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@ZeynelKoca
Copy link
Copy Markdown
Author

@dhable Any indication on when this can be merged + released? Running into production upgrade issues now, which we had to find a temporary solution for.

@ZeynelKoca
Copy link
Copy Markdown
Author

Relevant PR for single-replica upgrade issues: ClickHouse/clickhouse-operator#208

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant