Skip to content

KUBE-171: Add sharded multi-cluster Search snippets#1380

Open
anandsyncs wants to merge 1 commit into
anandsyncs-kube-170-rs-multicluster-search-snippetsfrom
anandsyncs-kube-171-sharded-multicluster-search-sni
Open

KUBE-171: Add sharded multi-cluster Search snippets#1380
anandsyncs wants to merge 1 commit into
anandsyncs-kube-170-rs-multicluster-search-snippetsfrom
anandsyncs-kube-171-sharded-multicluster-search-sni

Conversation

@anandsyncs

@anandsyncs anandsyncs commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

skip-ci

Summary

  • Add the complete sharded multi-cluster MongoDB Search snippets scenario.
  • Add its kind test runner and register it alongside the inherited replica-set task in the existing multi-cluster Evergreen task group.

Customer/internal split

  • Customer-facing: docs/search/13-search-sharded-multi-cluster.
  • Internal: the kind runner and minimal Evergreen task registration.

Validation

  • Bash syntax and ShellCheck pass for all 26 changed shell files.
  • Evergreen validation and evaluation pass; the evaluated multi-cluster variant retains all 11 dependencies and the task group contains exactly the RS and sharded tasks.
  • git diff --check, exact source content/mode comparison, and the strict path allowlist pass.

Evergreen proof

Full-stack Search snippets patch passed all nine Search snippet tasks: seven single-cluster and two multi-cluster.

Tracking

@anandsyncs
anandsyncs requested a review from a team as a code owner July 15, 2026 14:32
@anandsyncs
anandsyncs requested review from lucian-tosa and viveksinghggits and removed request for a team July 15, 2026 14:32
@anandsyncs anandsyncs added the skip-changelog Use this label in Pull Request to not require new changelog entry file label Jul 15, 2026
@anandsyncs
anandsyncs force-pushed the anandsyncs-kube-170-rs-multicluster-search-snippets branch from f9fe967 to fca5325 Compare July 16, 2026 12:06
@anandsyncs
anandsyncs force-pushed the anandsyncs-kube-171-sharded-multicluster-search-sni branch from 545ad3c to f664c82 Compare July 16, 2026 12:07
Comment thread docs/search/13-search-sharded-multi-cluster/README.md Outdated
Comment thread docs/search/13-search-sharded-multi-cluster/README.md Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Adds the sharded multi-cluster MongoDB Search “scenario 13” to the snippets suite, including the full snippet flow, a kind-based E2E runner, and Evergreen task wiring so it runs alongside the existing replica-set multi-cluster scenario.

Changes:

  • Introduces docs/search/13-search-sharded-multi-cluster (customer README + env contracts + snippet/test runner + CI-only helpers).
  • Adds a kind test runner that provisions scenario 13, runs shared sharded-query scenario 08, and validates queries against both clusters’ mongos.
  • Registers the new runner as an Evergreen task and includes it in the existing kind multi-cluster task group.

Reviewed changes

Copilot reviewed 28 out of 28 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
scripts/code_snippets/tests/test_kind_search_sharded_multi_cluster_snippets.sh New kind runner for scenario 13 + scenario 08 validation flow.
docs/search/13-search-sharded-multi-cluster/test.sh Orchestrates scenario 13 snippet execution in CI runner format.
docs/search/13-search-sharded-multi-cluster/README.md Customer-facing instructions and prerequisites for sharded multi-cluster Search.
docs/search/13-search-sharded-multi-cluster/env_variables.sh Customer-facing environment contract for scenario 13.
docs/search/13-search-sharded-multi-cluster/env_variables_internal.sh CI-only variables for provisioning a simulated external sharded cluster.
docs/search/13-search-sharded-multi-cluster/env_variables_e2e_private.sh E2E overrides for multi-cluster kind + OM, including kubeconfig adjustments.
docs/search/13-search-sharded-multi-cluster/code_snippets/13_0040_validate_env.sh Validates required env vars and kube contexts for scenario 13.
docs/search/13-search-sharded-multi-cluster/code_snippets/13_0045_create_namespaces.sh Creates/labels namespaces across both member clusters.
docs/search/13-search-sharded-multi-cluster/code_snippets/13_0046_internal_create_image_pull_secrets.sh CI helper to create image pull secret in both clusters.
docs/search/13-search-sharded-multi-cluster/code_snippets/13_0100_install_operator.sh Multi-cluster setup + operator install steps for scenario 13.
docs/search/13-search-sharded-multi-cluster/code_snippets/13_0300_internal_create_ops_manager_resources.sh CI helper to create OM credentials/config for the simulated external deployment.
docs/search/13-search-sharded-multi-cluster/code_snippets/13_0301_install_cert_manager.sh Installs (or reuses) cert-manager for TLS generation in CI/manual.
docs/search/13-search-sharded-multi-cluster/code_snippets/13_0302_internal_configure_tls_prerequisites.sh CI helper to create self-signed CA + issuer.
docs/search/13-search-sharded-multi-cluster/code_snippets/13_0302a_internal_configure_tls_prerequisites_mongod.sh CI helper to create CA ConfigMaps in both clusters for mongod/mongos trust.
docs/search/13-search-sharded-multi-cluster/code_snippets/13_0304_internal_generate_tls_certificates.sh CI helper to create component TLS certs for the simulated sharded cluster.
docs/search/13-search-sharded-multi-cluster/code_snippets/13_0310_internal_create_mongodb_mc_sharded.sh CI helper to create a multi-cluster sharded MongoDB resource with Search parameters.
docs/search/13-search-sharded-multi-cluster/code_snippets/13_0315_internal_wait_for_sharded_cluster.sh Waits for the multi-cluster sharded cluster to reach Running.
docs/search/13-search-sharded-multi-cluster/code_snippets/13_0315a_internal_create_mongodb_users.sh CI helper to create MongoDBUser resources and corresponding secrets.
docs/search/13-search-sharded-multi-cluster/code_snippets/13_0316_create_search_sync_secret.sh Creates the Search sync password Secret for the MongoDBSearch resource.
docs/search/13-search-sharded-multi-cluster/code_snippets/13_0316a_create_mongot_tls_certificates.sh Requests mongot TLS certificates for both clusters/shards (issued centrally).
docs/search/13-search-sharded-multi-cluster/code_snippets/13_0316b_create_lb_tls_certificates.sh Requests managed LB (Envoy) TLS certs for both clusters (issued centrally).
docs/search/13-search-sharded-multi-cluster/code_snippets/13_0317_replicate_search_secrets.sh Replicates required Search TLS/password secrets to the member cluster.
docs/search/13-search-sharded-multi-cluster/code_snippets/13_0320_create_mongodb_search_resource.sh Creates the sharded external-source MongoDBSearch with per-cluster managed LB.
docs/search/13-search-sharded-multi-cluster/code_snippets/13_0325_wait_for_search_resource.sh Waits for MongoDBSearch readiness and displays per-cluster pods.
docs/search/13-search-sharded-multi-cluster/code_snippets/13_0326_internal_verify_envoy_deployment.sh CI verification of expected mongot/Envoy/Service resources across clusters.
docs/search/13-search-sharded-multi-cluster/code_snippets/13_0330_show_running_pods.sh Displays pods/services in both clusters plus MongoDBSearch resources.
docs/search/13-search-sharded-multi-cluster/code_snippets/13_9010_internal_delete_namespace.sh CI cleanup helper to delete namespace across both clusters.
.evergreen-snippets.yml Adds the new kind task and registers it in the kind multi-cluster task group.

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

@anandsyncs
anandsyncs force-pushed the anandsyncs-kube-170-rs-multicluster-search-snippets branch from fca5325 to 2c1ec16 Compare July 17, 2026 09:12
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@anandsyncs
anandsyncs force-pushed the anandsyncs-kube-171-sharded-multicluster-search-sni branch from f664c82 to 4cd4c0a Compare July 17, 2026 09:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-changelog Use this label in Pull Request to not require new changelog entry file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants