Skip to content

Commit 641056f

Browse files
Julien-Benclaude
andcommitted
Merge master into jben/refactor-state-and-helper-pattern
Resolved conflicts by: 1. Removed TLS lock members logic (now blocked by validation per CLOUDP-349087) 2. Kept helper pattern refactoring from this branch 3. Adapted master's simplified replicaSet building to use helper pattern receivers 4. Removed test for deleted updateOmDeploymentDisableTLSConfiguration function The helper pattern separates reconciliation state into ReplicaSetReconcilerHelper that exists only for a single reconcile execution, keeping the shared controller instance stateless. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
2 parents bbb173b + b478944 commit 641056f

File tree

65 files changed

+1255
-778
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+1255
-778
lines changed

.evergreen-functions.yml

Lines changed: 16 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,9 @@ functions:
227227
type: setup
228228
params:
229229
working_dir: src/github.com/mongodb/mongodb-kubernetes
230+
include_expansions_in_env:
231+
- quay_prod_username
232+
- quay_prod_robot_token
230233
add_to_path:
231234
- ${workdir}/bin
232235
- ${PROJECT_DIR}/bin
@@ -507,21 +510,18 @@ functions:
507510
params:
508511
working_dir: src/github.com/mongodb/mongodb-kubernetes
509512
binary: scripts/release/publish_helm_chart.sh
510-
513+
511514
build_multi_cluster_binary:
512515
- command: subprocess.exec
513516
params:
514517
working_dir: src/github.com/mongodb/mongodb-kubernetes
515-
binary: scripts/dev/run_python.sh scripts/release/kubectl-mongodb/python/build_kubectl_plugin.py
516-
517-
build_and_push_appdb_database:
518+
binary: scripts/release/kubectl_mongodb/build_kubectl_plugin.sh
519+
520+
download_multi_cluster_binary:
518521
- command: subprocess.exec
519522
params:
520-
working_dir: src/github.com/mongodb/mongodb-kubernetes/docker/mongodb-kubernetes-appdb-database
521-
binary: ./build_and_push_appdb_database_images.sh
522-
add_to_path:
523-
- ${workdir}/bin
524-
- ${workdir}
523+
working_dir: src/github.com/mongodb/mongodb-kubernetes
524+
binary: scripts/release/kubectl_mongodb/download_kubectl_plugin.sh
525525

526526
build_test_image_ibm:
527527
- command: subprocess.exec
@@ -542,50 +542,9 @@ functions:
542542
working_dir: src/github.com/mongodb/mongodb-kubernetes
543543
binary: scripts/release/pipeline.sh
544544
env:
545-
IMAGE_NAME: ${IMAGE_NAME}
546-
FLAGS: ${FLAGS}
547-
548-
pipeline_agent:
549-
- command: subprocess.exec
550-
retry_on_failure: true
551-
type: setup
552-
params:
553-
shell: bash
554-
<<: *e2e_include_expansions_in_env
555-
working_dir: src/github.com/mongodb/mongodb-kubernetes
556-
binary: scripts/release/pipeline_agent.sh
557-
env:
558-
FLAGS: ${FLAGS}
559-
560-
pipeline_ops_manager:
561-
- command: subprocess.exec
562-
retry_on_failure: true
563-
type: setup
564-
params:
565-
shell: bash
566-
<<: *e2e_include_expansions_in_env
567-
working_dir: src/github.com/mongodb/mongodb-kubernetes
568-
binary: scripts/release/pipeline_ops_manager.sh
569-
570-
pipeline_readiness_probe:
571-
- command: subprocess.exec
572-
retry_on_failure: true
573-
type: setup
574-
params:
575-
shell: bash
576-
<<: *e2e_include_expansions_in_env
577-
working_dir: src/github.com/mongodb/mongodb-kubernetes
578-
binary: scripts/release/pipeline_readiness_probe.sh
579-
580-
pipeline_version_upgrade_hook:
581-
- command: subprocess.exec
582-
retry_on_failure: true
583-
type: setup
584-
params:
585-
shell: bash
586-
<<: *e2e_include_expansions_in_env
587-
working_dir: src/github.com/mongodb/mongodb-kubernetes
588-
binary: scripts/release/pipeline_version_upgrade_hook.sh
545+
IMAGE_NAME: ${image_name}
546+
BUILD_SCENARIO_OVERRIDE: ${build_scenario}
547+
FLAGS: ${flags}
589548

590549
teardown_cloud_qa_all:
591550
- command: shell.exec
@@ -839,22 +798,6 @@ functions:
839798
script: |
840799
./scripts/code_snippets/tests/${task_name}
841800
842-
#
843-
# kubectl mongodb plugin release functions
844-
#
845-
install_goreleaser:
846-
- command: shell.exec
847-
type: setup
848-
include_expansions_in_env:
849-
- goreleaser_pro_tar_gz
850-
params:
851-
script: |
852-
set -Eeu pipefail
853-
curl -fL "${goreleaser_pro_tar_gz}" --output goreleaser_Linux_x86_64.tar.gz
854-
tar -xf goreleaser_Linux_x86_64.tar.gz
855-
chmod 755 ./goreleaser
856-
sudo cp goreleaser /usr/local/bin/
857-
858801
install_macos_notarization_service:
859802
- command: shell.exec
860803
type: setup
@@ -888,8 +831,8 @@ functions:
888831
release_kubectl_mongodb_plugin:
889832
- command: github.generate_token
890833
params:
891-
expansion_name: generated_token
892-
- command: shell.exec
834+
expansion_name: GH_TOKEN
835+
- command: subprocess.exec
893836
type: setup
894837
params:
895838
working_dir: src/github.com/mongodb/mongodb-kubernetes
@@ -906,15 +849,7 @@ functions:
906849
- triggered_by_git_tag
907850
- OPERATOR_VERSION
908851
env:
909-
XDG_CONFIG_HOME: ${go_base_path}${workdir}
910-
GO111MODULE: "on"
911-
GOROOT: "/opt/golang/go1.24"
912852
MACOS_NOTARY_KEY: ${macos_notary_keyid}
913853
MACOS_NOTARY_SECRET: ${macos_notary_secret}
914-
# shell.exec EVG Task doesn't have add_to_path, so we need to explicitly add the path export below.
915-
script: |
916-
set -Eeu pipefail
917-
export GORELEASER_CURRENT_TAG=${OPERATOR_VERSION|*triggered_by_git_tag}
918-
export PATH=$GOROOT/bin:$PATH
919-
export GITHUB_TOKEN=${generated_token}
920-
${workdir}/goreleaser release --clean
854+
GH_TOKEN: ${GH_TOKEN}
855+
binary: scripts/dev/run_python.sh scripts/release/kubectl_mongodb/promote_kubectl_plugin.py

.evergreen-release.yml

Lines changed: 39 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ tasks:
99
commands:
1010
- func: clone
1111
- func: setup_building_host
12-
- func: build_multi_cluster_binary
12+
- func: download_multi_cluster_binary
1313
- func: pipeline
1414
vars:
15-
IMAGE_NAME: meko-tests
15+
image_name: meko-tests
1616

1717
- name: release_operator
1818
tags: [ "image_release" ]
@@ -23,7 +23,7 @@ tasks:
2323
- func: quay_login
2424
- func: pipeline
2525
vars:
26-
IMAGE_NAME: operator
26+
image_name: operator
2727

2828
# Releases init images to Quay
2929
- name: release_init_appdb
@@ -35,7 +35,7 @@ tasks:
3535
- func: quay_login
3636
- func: pipeline
3737
vars:
38-
IMAGE_NAME: init-appdb
38+
image_name: init-appdb
3939

4040
- name: release_init_database
4141
tags: [ "image_release" ]
@@ -46,7 +46,7 @@ tasks:
4646
- func: quay_login
4747
- func: pipeline
4848
vars:
49-
IMAGE_NAME: init-database
49+
image_name: init-database
5050

5151
- name: release_init_ops_manager
5252
tags: [ "image_release" ]
@@ -57,7 +57,7 @@ tasks:
5757
- func: quay_login
5858
- func: pipeline
5959
vars:
60-
IMAGE_NAME: init-ops-manager
60+
image_name: init-ops-manager
6161

6262
- name: release_database
6363
tags: [ "image_release" ]
@@ -68,7 +68,7 @@ tasks:
6868
- func: quay_login
6969
- func: pipeline
7070
vars:
71-
IMAGE_NAME: database
71+
image_name: database
7272

7373
- name: release_readiness_probe
7474
tags: [ "image_release" ]
@@ -77,7 +77,9 @@ tasks:
7777
- func: clone
7878
- func: setup_building_host
7979
- func: quay_login
80-
- func: pipeline_readiness_probe
80+
- func: pipeline
81+
vars:
82+
image_name: readiness-probe
8183

8284
- name: release_version_upgrade_hook
8385
tags: [ "image_release" ]
@@ -86,7 +88,9 @@ tasks:
8688
- func: clone
8789
- func: setup_building_host
8890
- func: quay_login
89-
- func: pipeline_version_upgrade_hook
91+
- func: pipeline
92+
vars:
93+
image_name: upgrade-hook
9094

9195
- name: prepare_and_upload_openshift_bundles
9296
tags: [ "openshift_bundles" ]
@@ -119,17 +123,27 @@ tasks:
119123
tags: [ "binary_release" ]
120124
commands:
121125
- func: clone
122-
- func: install_goreleaser
126+
- func: python_venv
123127
- func: install_macos_notarization_service
124128
- func: release_kubectl_mongodb_plugin
125-
129+
126130
- name: create_chart_release_pr
127131
tags: [ "helm_chart_release_pr" ]
128132
commands:
129133
- func: clone
130134
- func: python_venv
131135
- func: create_chart_release_pr
132136

137+
- name: release_chart_to_oci_registry
138+
tags: [ "release_chart_to_oci_registry" ]
139+
commands:
140+
- func: clone
141+
- func: python_venv
142+
- func: setup_kubectl
143+
- func: setup_aws
144+
- func: helm_registry_login
145+
- func: publish_helm_chart
146+
133147
### Release build variants
134148
buildvariants:
135149

@@ -209,6 +223,9 @@ buildvariants:
209223
allowed_requesters: [ "patch", "github_tag" ]
210224
run_on:
211225
- release-ubuntu2404-small # This is required for CISA attestation https://jira.mongodb.org/browse/DEVPROD-17780
226+
depends_on:
227+
- name: release_kubectl_mongodb_plugin
228+
variant: release_kubectl_mongodb_plugin
212229
tasks:
213230
- name: build_test_image_for_smoke_tests
214231

@@ -235,6 +252,8 @@ buildvariants:
235252
depends_on:
236253
- name: "*"
237254
variant: release_images
255+
- name: "*"
256+
variant: init_smoke_tests
238257
tasks:
239258
- name: e2e_smoke_task_group
240259

@@ -255,3 +274,12 @@ buildvariants:
255274
allowed_requesters: [ "patch", "github_tag" ]
256275
tasks:
257276
- name: create_chart_release_pr
277+
278+
- name: release_chart_to_oci_registry
279+
display_name: release_chart_to_oci_registry
280+
tags: [ "release" ]
281+
run_on:
282+
- release-ubuntu2404-small # This is required for CISA attestation https://jira.mongodb.org/browse/DEVPROD-17780
283+
allowed_requesters: [ "patch", "github_tag" ]
284+
tasks:
285+
- name: release_chart_to_oci_registry

.evergreen-snippets.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ variables:
77
- func: setup_mongosh
88
- func: download_kube_tools
99
- func: switch_context
10-
- func: build_multi_cluster_binary
10+
- func: download_multi_cluster_binary
1111
teardown_task:
1212
- func: upload_e2e_logs
1313
- func: upload_code_snippets_logs

.evergreen-tasks.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -502,7 +502,7 @@ tasks:
502502
commands:
503503
- func: "e2e_test"
504504

505-
- name: e2e_disable_tls_scale_up
505+
- name: e2e_disable_tls_and_scale
506506
tags: [ "patch-run" ]
507507
commands:
508508
- func: "e2e_test"
@@ -1116,7 +1116,6 @@ tasks:
11161116

11171117
- name: e2e_multi_cluster_validation
11181118
tags: [ "patch-run" ]
1119-
exec_timeout_secs: 1000
11201119
commands:
11211120
- func: e2e_test
11221121

0 commit comments

Comments
 (0)