Repository navigation
Conversation
Picks up the Solr 9.10.1 fixes for CVE-2026-22022, CVE-2026-22444 and CVE-2025-66516, and makes the local tutorial's upgrade step a real upgrade.
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Upgrade documentation needs corrections so users can accurately determine whether existing clusters receive the security fixes and understand downgrade restrictions.
2 open issues
What changed in this PR
Updates the operator’s default Solr version from 9.10.0 to 9.11.0 and aligns charts, examples, documentation, and test defaults.
Changes:
- Sets Solr 9.11.0 as the default across runtime configuration and test tooling.
- Updates chart release notes and security metadata.
- Adds upgrade guidance and restores a genuine version upgrade in the local tutorial.
| File | Description |
|---|---|
tests/scripts/manage_e2e_tests.sh |
Updates default test image and help text. |
tests/e2e/suite_test.go |
Updates the default e2e Solr image. |
helm/solr/README.md |
Updates documented versions and commands. |
helm/solr/Chart.yaml |
Updates app version, changelog, and security metadata. |
helm/solr-operator/Chart.yaml |
Adds release notes and updates example images. |
hack/release/smoke_test/test_cluster.sh |
Updates smoke-test image defaults and help. |
example/test_solrprometheusexporter.yaml |
Updates the exporter image tag. |
example/test_solrcloud.yaml |
Updates the example Solr image tag. |
example/test_solrcloud_toleration_example.yaml |
Updates the toleration example’s image tag. |
example/test_solrcloud_private_repo.yaml |
Updates the private-repository image tag. |
example/test_solrcloud_backuprepos.yaml |
Updates the backup example’s image tag. |
docs/modules/upgrade-notes/pages/upgrade-notes.adoc |
Adds default-version and downgrade guidance. |
docs/modules/getting-started/pages/local-tutorial.adoc |
Demonstrates upgrading to 9.11.0. |
dev-docs/e2e-testing.md |
Documents the new default test image. |
api/v1beta1/solrcloud_types.go |
Sets DefaultSolrVersion to 9.11.0. |
Review effort: Balanced
The operator persists the resolved tag into the spec, so only newly created SolrClouds start on 9.11.0; running clusters are unaffected.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Makes Solr
9.11.0the default, up from9.10.0.Operator work
None needed. I went through the 9.10 → 9.11 changes for everything the operator depends on:
blockUnknownnow defaults totrue— the operator only ever writessolr.BasicAuthPlugin, and writesblockUnknownexplicitly, so nothing changes./{core}/replicationand/update/extractpermission tightening — the operator calls neither.solr.xmlallowZkHostssetting — optional cross-collection-join hardening, already reachable through a customsolr.xmlConfigMap, so not exposed as a CRD field here.UPGRADECOREINDEX, Luke shard aggregation,LocalTikaExtractionBackendand gosu removal — no operator touchpoint.One behaviour change earns an upgrade note: a Solr 9.11 node refuses to start if its
major.minoris below that of a node already running in the cluster, so rolling a live cluster back to an older Solr no longer works.Security
9.11.0 carries the 9.10.1 fixes for three CVEs that all affect "Solr 9.10.0 and earlier":
security.jsonalready contains the documented mitigation ({ "name": "all", "role":["admin"] }), so operator defaults were never exposed. Users supplying their ownsecurity.jsonmay be.Both charts record the CVE fixes in their changelog.
artifacthub.io/containsSecurityUpdatesis flipped to"true"on the Solr chart only — the operator's own code carries no security fix, it just changes which Solr version newly created clusters start on.Compatibility matrix
Unchanged:
9.11falls inside the existing9.4+ column and thev0.10.xrow already readsYES.Changelog
A
changedentry in bothhelm/solr/Chart.yamlandhelm/solr-operator/Chart.yaml, plus asecurityentry in the Solr chart.Worth being precise about who this reaches, because the obvious reading is wrong.
helm/solr/values.yamlshipstag: ""and the chart omits the field entirely when it is empty (helm/solr/templates/solrcloud.yaml), so a new SolrCloud comes up onDefaultSolrVersion— but the operator then writes that tag back into the spec (withDefaultsfills an empty tag, and the controller persists the change withr.Update), and a laterhelm upgradeleaves an absent field alone. So the new default reaches newly created SolrClouds only; a running cluster keeps the Solr version already in its spec and is not upgraded by upgrading the operator. The changelog entries and thev0.10.0upgrade note both say so, and the upgrade note says how to move an existing cluster.An earlier revision of this PR claimed the opposite in all four places. Thanks @Copilot for catching it on #870 — stating that running clusters had picked up three CVE fixes would have misled in the dangerous direction.
Drive-by
local-tutorial.adocinstalled9.10.0and then "upgraded" to9.10.0, so its Upgrade to newer version section demonstrated nothing — both sites were collapsed onto one version by the blanket sed in #807. The install step now uses9.10.0and the upgrade step9.11.0.Testing
make test,check-manifests,check-generated,check-helmandcheck-docsall pass.make e2e-testswas not run — it fails before the suite starts, on #859:kind loadof the registry-pulledsolr:9.11.0dies on Docker 29's containerd image store withctr: content digest ...: not found. Unrelated to this change, and #860 is open against it. CI's e2e workflow is permanently disabled, so it is evidence of nothing either way; this bump is worth a local e2e run before merge, on a machine where #859 does not bite.Produced with the
solr-version-supportskill proposed in #866, which encodes the 15 duplicated version sites, the sizing rules above, the compatibility matrix and the both-charts changelog requirement — none of which anymaketarget checks.🤖 AI assisted