Skip to content

release: advance to v26.2.2 and operator v1.0.0-rc.3#657

Merged
VishalJaishankar merged 1 commit into
masterfrom
vijaisha/operator-rc3-changelog
Jul 23, 2026
Merged

release: advance to v26.2.2 and operator v1.0.0-rc.3#657
VishalJaishankar merged 1 commit into
masterfrom
vijaisha/operator-rc3-changelog

Conversation

@VishalJaishankar

@VishalJaishankar VishalJaishankar commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

This release advances CockroachDB to v26.2.2 and the CockroachDB operator to v1.0.0-rc.3.

Highlights:

  • CockroachDB v26.2.2 chart and image updates
  • Operator v1.0.0-rc.3 chart and image updates
  • CrdbCluster spec.postInitSQL support
  • Under-replicated ranges checks before rolling upgrades and scale-down
  • Recovery override documentation for skip-under-replicated-ranges-check
  • batch/jobs update RBAC for operator-managed jobs
  • CrdbCluster feature gates exposed through the CockroachDB chart

See CHANGELOG.md for full details

`cockroachdb.crdbCluster.postInitSQL` sets `spec.postInitSQL` on the `CrdbCluster`
resource. The operator runs these SQL sources once after cluster initialization.
TLS must be enabled, and the `CrdbCluster` reconciliation mode must be empty/default or
`MutableOnly`.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: I think the empty/default mode is MutableOnly(IIRC, we handle this in helpers ). So we could just say MutableOnly?


## Under-Replicated Ranges Check

Before starting a rolling restart or scale-down, the operator checks cluster-wide replication

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: rolling upgrades/cluster upgrades might suit better here?

a new pod eviction or node decommission is pending.

The operator executes SQL from a running CockroachDB pod against `crdb_internal.kv_store_status`
and sums the `ranges.underreplicated` metric across stores. If the result is non-zero, or if the

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: We can omit these details here.


Before starting a rolling restart or scale-down, the operator checks cluster-wide replication
health so it does not make an already degraded cluster less available. The check runs only when
a new pod eviction or node decommission is pending.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think "when node decommission is pending" might sound differently - If the node is already selected for scale down or pending decom they are not affected. This check only runs before scale down is initiated.

"The check runs before the operator starts a new node decommission during scale-down".

For rolling updates, it runs right before starting a new node disruption/eviction. It intentionally does not block an already in-flight pod update.

Nit: new pod eviction or node decommission - we can mention pod or node in both places.


## [1.0.0-rc.3] — 2026-07-20
### Added
- Added operator support for `spec.postInitSQL` on `CrdbCluster` to run raw SQL once after cluster

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: Since this changelog is specifically for operator, we can just say Added support?

return "", fmt.Errorf("no pods found with label %s", operator.LabelSelector)
}

output, err := k8s.RunKubectlAndGetOutputE(t, kubectlOptions,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: I think there must be some helper which does similar stuff by execing into pod and executes sql command. Just check if we could reuse and eliminate this block here.

If changes turns out to have moe effort, we can continue as is.

@NishanthNalluri NishanthNalluri left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@VishalJaishankar
VishalJaishankar force-pushed the vijaisha/operator-rc3-changelog branch from 557af69 to 8412197 Compare July 21, 2026 10:50
Render and validate postInitSQL in the v2 CockroachDB chart, preserve it in v1beta1 values export, and document it in the CockroachDB chart README.

Consume the operator v1.0.0-rc.3 image and update the operator chart changelog and docs for RC3 features, including the under-replicated ranges gate.

Expose CrdbCluster feature gates through the CockroachDB chart and set the under-replicated-ranges recovery override in rollout-focused e2e upgrades so RC3's gate does not block unrelated pod-template assertions.

Add upgrade compatibility coverage for postInitSQL and reuse the shared SQL exec helper in operator e2e tests.
@VishalJaishankar
VishalJaishankar force-pushed the vijaisha/operator-rc3-changelog branch from 8412197 to efd9037 Compare July 22, 2026 11:07
@VishalJaishankar VishalJaishankar changed the title chore(charts): consume operator v1.0.0-rc.3 release: advance to v26.2.2 and operator v1.0.0-rc.3 Jul 23, 2026
@VishalJaishankar
VishalJaishankar merged commit 92fe038 into master Jul 23, 2026
16 checks passed
@VishalJaishankar
VishalJaishankar deleted the vijaisha/operator-rc3-changelog branch July 23, 2026 11:12
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.

2 participants