Skip to content

Conversation

@anandsyncs
Copy link
Contributor

@anandsyncs anandsyncs commented Oct 28, 2025

Summary

This pull request updates the minimum supported MongoDB version for search features to 8.2.0 and removes legacy compatibility logic for older versions. The main changes include raising the version requirements in validation logic and related tests, and cleaning up code that previously polyfilled the Search Coordinator role for older MongoDB versions.

Version requirement updates:

  • Raised the minimum MongoDB version required for search features from 8.0.10 to 8.2.0 in both community and enterprise validation logic (community_search_source.go, enterprise_search_source.go). [1] [2]
  • Updated all related test cases to use 8.2.0 as the minimum version and adjusted version-specific test scenarios accordingly (community_search_source_test.go, enterprise_search_source_test.go). [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16]
  • Updated the default version in test object creation to 8.2.0 (mongodbsearch_controller_test.go).

Legacy code cleanup:

  • Removed the Search Coordinator role polyfill logic from the replica set controller, as it is no longer needed with the new minimum version (mongodbreplicaset_controller.go).
  • Added the changelog entry for removing the MongoDB Search Coordinator polyfill (changelog/20251015_other_remove_legacy_search_coordinator_polyfill.md).

Minor dependency cleanup:

  • Removed unused imports related to legacy semver and API modules in the search reconcile helper (mongodbsearch_reconcile_helper.go). [1] [2]

Proof of Work

Tests pass

Checklist

  • Have you linked a jira ticket and/or is the ticket in the title?
  • Have you checked whether your jira ticket required DOCSP changes?
  • Have you added changelog file?

@anandsyncs anandsyncs changed the base branch from master to fealebenpae/search-grpc October 28, 2025 19:29
@github-actions
Copy link

github-actions bot commented Oct 28, 2025

⚠️ (this preview might not be accurate if the PR is not rebased on current master branch)

MCK 1.6.0 Release Notes

New Features

  • MongoDBCommunity: Added support to configure custom cluster domain via newly introduced spec.clusterDomain resource field. If spec.clusterDomain is not set, environment variable CLUSTER_DOMAIN is used as cluster domain. If the environment variable CLUSTER_DOMAIN is also not set, operator falls back to cluster.local as default cluster domain.
  • Helm Chart: Introduced two new helm fields operator.podSecurityContext and operator.securityContext that can be used to configure securityContext for Operator deployment through Helm Chart.
  • MongoDBSearch: Switch to gRPC and mTLS for internal communication
    Since MCK 1.4 the mongod and mongot processess communicated using the MongoDB Wire Protocol and used keyfile authentication. This release switches that to gRPC with mTLS authentication. gRPC will allow for load-balancing search queries against multiple mongot processes in the future, and mTLS decouples the internal cluster authentication mode and credentials among mongod processes from the connection to the mongot process. The Operator will automatically enable gRPC for existing and new workloads, and will enable mTLS authentication if both Database Server and MongoDBSearch resource are configured for TLS.

Bug Fixes

  • Fixed parsing of the customEnvVars Helm value when values contain = characters.
  • ReplicaSet: Blocked disabling TLS and changing member count simultaneously. These operations must now be applied separately to prevent configuration inconsistencies.

Other Changes

  • Simplified MongoDB Search setup: Removed the custom Search Coordinator polyfill (a piece of compatibility code previously needed to add the required permissions), as MongoDB 8.2.0 and later now include the necessary permissions via the built-in searchCoordinator role.
  • kubectl-mongodb plugin: cosign, the signing tool that is used to sign kubectl-mongodb plugin binaries, has been updated to version 3.0.2. With this change, released binaries will be bundled with .bundle files containing both signature and certificate information. For more information on how to verify signatures using new cosign version please refer to -> https://github.com/sigstore/cosign/blob/v3.0.2/doc/cosign_verify-blob.md

@anandsyncs anandsyncs changed the title anandsyncs/remove-search-8.0.10-support CLOUDP-353163: remove search 8.0.10 support Oct 29, 2025
@anandsyncs anandsyncs marked this pull request as ready for review October 29, 2025 11:23
@anandsyncs anandsyncs requested review from a team and vinilage as code owners October 29, 2025 11:23
@anandsyncs anandsyncs requested review from a team, Copilot, mircea-cosbuc and nammn and removed request for a team October 29, 2025 11:23
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR removes support for MongoDB 8.0.10 by raising the minimum required version for search features to 8.2.0, eliminating the need for legacy compatibility code that polyfilled the Search Coordinator role in older versions.

  • Updated minimum version validation from 8.0.10 to 8.2.0 in both community and enterprise search source validation
  • Removed Search Coordinator role polyfill logic that was previously needed for MongoDB versions below 8.2.0
  • Updated all test cases to reflect the new 8.2.0 minimum version requirement

Reviewed Changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated no comments.

Show a summary per file
File Description
mongodb-community-operator/controllers/replica_set_controller.go Removed searchCoordinatorCustomRoleModification function and its call, along with the unused import
controllers/searchcontroller/mongodbsearch_reconcile_helper_test.go Removed test cases for NeedsSearchCoordinatorRolePolyfill function
controllers/searchcontroller/mongodbsearch_reconcile_helper.go Removed SearchCoordinatorRole and NeedsSearchCoordinatorRolePolyfill functions and their unused imports
controllers/searchcontroller/enterprise_search_source_test.go Updated test cases from 8.0.10 minimum to 8.2.0 minimum
controllers/searchcontroller/enterprise_search_source.go Updated version validation logic to require 8.2.0 instead of 8.0.10
controllers/searchcontroller/community_search_source_test.go Updated test cases from 8.0.10 minimum to 8.2.0 minimum
controllers/searchcontroller/community_search_source.go Updated version validation logic to require 8.2.0 instead of 8.0.10
controllers/operator/mongodbsearch_controller_test.go Updated default test version from 8.0.10 to 8.2.0
controllers/operator/mongodbreplicaset_controller.go Removed Search Coordinator role polyfill logic
changelog/20251015_other_remove_legacy_search_coordinator_polyfill.md Added changelog entry documenting the removal

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@anandsyncs anandsyncs requested review from fealebenpae and lsierant and removed request for nammn October 29, 2025 11:24
@anandsyncs anandsyncs requested a review from vinilage October 29, 2025 20:38
@fealebenpae fealebenpae force-pushed the fealebenpae/search-grpc branch from fc149a0 to cb83dbc Compare October 30, 2025 13:42
Base automatically changed from fealebenpae/search-grpc to master November 3, 2025 17:57
@anandsyncs anandsyncs merged commit 1988e86 into master Nov 4, 2025
33 of 37 checks passed
@anandsyncs anandsyncs deleted the anandsyncs/remove-search-8.0.10-support branch November 4, 2025 08:14
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.

5 participants