Search Sharded+LoadBalancing: Code snippets for sharded mongo (internal+external)#809
Draft
lsierant wants to merge 37 commits intosearch/basefrom
Draft
Search Sharded+LoadBalancing: Code snippets for sharded mongo (internal+external)#809lsierant wants to merge 37 commits intosearch/basefrom
lsierant wants to merge 37 commits intosearch/basefrom
Conversation
This was referenced Feb 18, 2026
Contributor
Author
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
1ca3501 to
ceaced6
Compare
60cc9f1 to
804bedd
Compare
This was referenced Feb 20, 2026
ceaced6 to
4ae9bfc
Compare
804bedd to
a3108a8
Compare
a3108a8 to
d753343
Compare
4ae9bfc to
2cedafd
Compare
d753343 to
f71f434
Compare
2cedafd to
f89d675
Compare
f71f434 to
69971c9
Compare
f599344 to
b823e40
Compare
69971c9 to
33c46f7
Compare
2f23181 to
f1d9e3c
Compare
77d6c13 to
b292b51
Compare
f1d9e3c to
f61047f
Compare
- Fix try_load() by removing the FIXME early-return that was causing get_ops_manager() to return unloaded resources (empty status), resulting in empty baseUrl in OpsManager connection ConfigMaps on om80 variant - Fix endpoint template in search-sharded-external-lb.yaml - Fix username mismatch in enterprise_tls sample_movies_helper - Fix CRD field name sharded→shardedCluster in sharded_enterprise_external_mongod - Fix CA configmap and mongodbResourceRef overrides in sharded_enterprise_managed_lb - Fix username mismatches in sharded_external_mongod_single_mongot
<!-- start git-machete generated --> # Based on PR #817 ## Chain of upstream PRs as of 2026-03-03 * PR #806: `master` ← `search/base` * PR #816: `search/base` ← `search/sharded-cluster` * PR #817: `search/sharded-cluster` ← `search/multiple-mongot` * **PR #853 (THIS ONE)**: `search/multiple-mongot` ← `search/lsierant/revert-rs-cluster-index` <!-- end git-machete generated -->
…ss tests (#863) # Summary <!-- Enter your PR summary here. Try to emphasize on WHY this change is needed, followed by what's being done in the PR. --> ## Proof of Work <!-- Enter your proof that it works here.--> ## 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? - use `skip-changelog` label if not needed - refer to [Changelog files and Release Notes](https://github.com/mongodb/mongodb-kubernetes/blob/master/CONTRIBUTING.md#changelog-files-and-release-notes) section in CONTRIBUTING.md for more details
# Summary Improve managed Envoy proxy: replace custom config types with go-control-plane, support external mongod sources, and add CRD configurability Replace hand-rolled Envoy config structs with the official envoyproxy/go-control-plane protobuf types for type-safe JSON config generation Refactor the Envoy controller to share database source resolution with the main search controller via getSearchSource, enabling managed LB support for external mongod sharded sources. Add CRD fields for Envoy image and resource requirements overrides, proper security contexts, and a new e2e test for sharded enterprise with external mongod managed LB.
# Summary ### Why The managed LB was previously only wired for sharded clusters. RS deployments with multiple mongot replicas need the same L7 load balancing, a single mongod opens one long-lived TCP connection. This PR implements that. ### Changes Necessary changes to the envoy controller. It is fully topology agnostic (no different code paths for RS/Sharded topologies), except at a single point. Two new e2e tests for RS Managed LB, external and internal db. I also moved all the building logic + tests in a separate file. Note: the controller needs full reconcile loop unit tests, that will come in follow ups PRs. ## Proof of Work Two new E2E tests pass ## Checklist - [x] Have you linked a jira ticket and/or is the ticket in the title? - [x] Have you checked whether your jira ticket required DOCSP changes?
8df1594 to
2c11635
Compare
1283102 to
8695df8
Compare
# Summary Introduce Astral's [ty](https://docs.astral.sh/ty/) static type checker to avoid simple syntactic/type errors in e2e tests. ty check is applied only to search files for now and is part of precommit. <!-- start git-machete generated --> # Based on PR #817 ## Chain of upstream PRs as of 2026-03-16 * PR #806: `master` ← `search/base` * PR #817: `search/base` ← `search/multiple-mongot` * **PR #896 (THIS ONE)**: `search/multiple-mongot` ← `search/lsierant/mypy` <!-- end git-machete generated -->
8695df8 to
44fbdca
Compare
e21bef7 to
7008937
Compare
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.

Based on PR #817
Chain of upstream PRs as of 2026-03-13
PR Search Sharded+LoadBalancing: base feature branch #806:
master←search/basePR CLOUDP-392735: Search: support multiple mongots and envoy load balancer #817:
search/base←search/multiple-mongotsearch/multiple-mongot←search/snippets[skip-ci]
Summary
Proof of Work
Checklist
skip-changeloglabel if not needed