Skip to content

Commit 995e429

Browse files
CLOUDP-308108 Update SSDLC report for MCK (#120)
# Summary - In the ssdlc script, some names were hardcoded, this PR updates them to use MCK names and path - `MongoDB Enterprise Kubernetes Operator` was changed to` MongoDB Controllers for Kubernetes` - Updated ssdlc report names in `release.json` - Add MCO images (version upgrade hook and readiness probe) to report # Proof of Work Link to generated report for [MCK-1.0.1](https://drive.google.com/drive/folders/1Zdqqlnn8yrPZ-cKelIiQqYkXXIVG50aS?usp=drive_link) New report structure: ![Screenshot 2025-05-15 at 15 07 50](https://github.com/user-attachments/assets/a40e2977-fd0a-4a84-8b4f-056a95042904) Each report has also updated contents: ![Screenshot 2025-05-15 at 14 53 45](https://github.com/user-attachments/assets/b170c5e7-65b2-4c88-9a59-705ce2f27249) ![Screenshot 2025-05-15 at 12 47 57](https://github.com/user-attachments/assets/ebabda12-e7b9-4bdf-9270-121e6e8632a1) ![Screenshot 2025-05-15 at 12 47 42](https://github.com/user-attachments/assets/eea4c1d5-4c87-4505-8f64-204991a4cb2a) # After merge steps - [ ] Update WiKi - [ ] Remove https://wiki.corp.mongodb.com/spaces/MMS/pages/285103641/Generating+SSDLC+Report+for+MCO - [ ] Change references from MEKO to MCK - [ ] [Release Guide - main doc](https://wiki.corp.mongodb.com/spaces/MMS/pages/96675470/Kubernetes+Enterprise+Operator+Release+Guide#KubernetesEnterpriseOperatorReleaseGuide-SSDLC) - [ ] [Release Guide - Release Steps](https://wiki.corp.mongodb.com/spaces/MMS/pages/346718467/Release+Steps) - [ ] [SSDLC Containerized Shipped Products](https://docs.google.com/document/d/1BPyZTW8eGablzy1gzDnyHMK4AwlO3Ttav27yDNNy6rY/edit?tab=t.0#heading=h.6axdrvtjzljr) - [ ] Rerun SSDLC report for `1.0.0` version and update Google Drive --------- Co-authored-by: Maciej Karaś <[email protected]>
1 parent bf58be0 commit 995e429

9 files changed

+65
-54
lines changed

.evergreen-periodic-builds.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ tasks:
103103
vars:
104104
image_name: mongodb-agent-1-daily
105105

106+
#TODO should we still build the community operator?
106107
- name: periodic_build_community_operator
107108
commands:
108109
- func: enable_QEMU
@@ -114,13 +115,13 @@ tasks:
114115
commands:
115116
- func: pipeline
116117
vars:
117-
image_name: mongodb-kubernetes-readinessprobe-daily
118+
image_name: readinessprobe-daily
118119

119120
- name: periodic_build_version_upgrade_post_start_hook
120121
commands:
121122
- func: pipeline
122123
vars:
123-
image_name: mongodb-kubernetes-operator-version-upgrade-post-start-hook-daily
124+
image_name: operator-version-upgrade-post-start-hook-daily
124125

125126
task_groups:
126127
- name: periodic_build_task_group

generate_ssdlc_report.py

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
- Replacing Release Version
1010
1111
The script should be called manually from the project root. It will put generated files
12-
into "./ssdlc-report/MEKO-$release" directory.
12+
into "./ssdlc-report/MCK-$release" directory.
1313
"""
1414

1515
import enum
@@ -38,14 +38,17 @@
3838
class Subreport(enum.Enum):
3939
AGENT = ("Containerized MongoDB Agent", "scripts/ssdlc/templates/SSDLC Containerized MongoDB Agent ${VERSION}.md")
4040
OPERATOR = (
41-
"Enterprise Kubernetes Operator",
42-
"scripts/ssdlc/templates/SSDLC Containerized MongoDB Enterprise Kubernetes Operator ${VERSION}.md",
41+
"MongoDB Controllers for Kubernetes",
42+
"scripts/ssdlc/templates/SSDLC Containerized MongoDB Controllers for Kubernetes ${VERSION}.md",
4343
)
4444
OPS_MANAGER = (
45-
"Containerized OpsManager",
45+
"Containerized MongoDB Enterprise OpsManager",
4646
"scripts/ssdlc/templates/SSDLC Containerized MongoDB Enterprise OpsManager ${VERSION}.md",
4747
)
48-
TESTING = ("not-used", "scripts/ssdlc/templates/SSDLC MongoDB Enterprise Operator Testing Report ${VERSION}.md")
48+
TESTING = (
49+
"not-used",
50+
"scripts/ssdlc/templates/SSDLC MongoDB Controllers for Kubernetes Testing Report ${VERSION}.md",
51+
)
4952

5053
def __new__(cls, *args, **kwds):
5154
value = len(cls.__members__) + 1
@@ -98,7 +101,7 @@ def get_supported_images(release: Dict) -> dict[str, SupportedImage]:
98101
"quay.io/mongodb/mongodb-agent-ubi",
99102
release["supportedImages"]["mongodb-agent"]["ssdlc_name"],
100103
list(),
101-
# Once MEKO supports both architectures, this should be re-enabled.
104+
# Once MCK supports both architectures, this should be re-enabled.
102105
# ["linux/amd64", "linux/arm64"],
103106
["linux/amd64"],
104107
Subreport.AGENT,
@@ -108,11 +111,12 @@ def get_supported_images(release: Dict) -> dict[str, SupportedImage]:
108111
[release["mongodbOperator"]],
109112
"mongodb-kubernetes-cli",
110113
"mongodb-kubernetes-cli",
111-
"MongoDB Kubernetes Kubernetes Operator CLI",
114+
"MongoDB Controllers for Kubernetes CLI",
112115
list(),
113116
["linux/amd64", "linux/arm64", "darwin/amd64", "darwin/arm64"],
114117
Subreport.OPERATOR,
115118
)
119+
116120
supported_images = filter_out_non_current_versions(release, supported_images)
117121
logger.debug(f"Supported images: {supported_images}")
118122
return supported_images
@@ -142,10 +146,6 @@ def filter_out_unsupported_images(supported_images: Dict[str, SupportedImage]):
142146
del supported_images["appdb-database"]
143147
if "mongodb-enterprise-server" in supported_images:
144148
del supported_images["mongodb-enterprise-server"]
145-
if "mongodb-kubernetes-operator-version-upgrade-post-start-hook" in supported_images:
146-
del supported_images["mongodb-kubernetes-operator-version-upgrade-post-start-hook"]
147-
if "mongodb-kubernetes-readinessprobe" in supported_images:
148-
del supported_images["mongodb-kubernetes-readinessprobe"]
149149
if "mongodb-kubernetes-operator" in supported_images:
150150
del supported_images["mongodb-kubernetes-operator"]
151151
return supported_images
@@ -154,7 +154,11 @@ def filter_out_unsupported_images(supported_images: Dict[str, SupportedImage]):
154154
def filter_out_non_current_versions(release: Dict, supported_images: Dict[str, SupportedImage]):
155155
for supported_image_key in supported_images:
156156
supported_image = supported_images[supported_image_key]
157-
if supported_image.subreport == Subreport.OPERATOR:
157+
# For old MCO artefacts "readinessprobe" and "operator-version-upgrade-post-start-hook" we don't expect to match operator versioning scheme
158+
if supported_image.subreport == Subreport.OPERATOR and supported_image_key not in [
159+
"readinessprobe",
160+
"operator-version-upgrade-post-start-hook",
161+
]:
158162
supported_image.versions = filter(lambda x: x == release["mongodbOperator"], supported_image.versions)
159163
return supported_images
160164

@@ -236,7 +240,7 @@ def generate_ssdlc_report(ignore_sbom_download_errors: bool = False):
236240

237241
operator_version = release["mongodbOperator"]
238242
supported_images = get_supported_images(release)
239-
report_path = os.getcwd() + "/ssdlc-report/MEKO-" + operator_version
243+
report_path = os.getcwd() + "/ssdlc-report/MCK-" + operator_version
240244

241245
try:
242246
if not os.path.exists(path=report_path):

generate_ssdlc_report_test.py

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -28,24 +28,32 @@ def test_report_generation():
2828
generate_ssdlc_report.generate_ssdlc_report(ignore_sbom_download_errors=True)
2929

3030
# Then
31-
assert os.path.exists(f"{current_directory}/ssdlc-report/MEKO-{current_version}")
32-
assert os.path.exists(f"{current_directory}/ssdlc-report/MEKO-{current_version}/Containerized MongoDB Agent")
33-
assert os.listdir(f"{current_directory}/ssdlc-report/MEKO-{current_version}/Containerized MongoDB Agent") != []
34-
assert os.path.exists(f"{current_directory}/ssdlc-report/MEKO-{current_version}/Containerized OpsManager")
35-
assert os.listdir(f"{current_directory}/ssdlc-report/MEKO-{current_version}/Containerized OpsManager") != []
36-
if os.path.exists(f"{current_directory}/ssdlc-report/MEKO-{current_version}/Enterprise Kubernetes Operator"):
31+
assert os.path.exists(f"{current_directory}/ssdlc-report/MCK-{current_version}")
32+
assert os.path.exists(f"{current_directory}/ssdlc-report/MCK-{current_version}/Containerized MongoDB Agent")
33+
assert os.listdir(f"{current_directory}/ssdlc-report/MCK-{current_version}/Containerized MongoDB Agent") != []
34+
assert os.path.exists(
35+
f"{current_directory}/ssdlc-report/MCK-{current_version}/Containerized MongoDB Enterprise OpsManager"
36+
)
37+
assert (
38+
os.listdir(
39+
f"{current_directory}/ssdlc-report/MCK-{current_version}/Containerized MongoDB Enterprise OpsManager"
40+
)
41+
!= []
42+
)
43+
if os.path.exists(f"{current_directory}/ssdlc-report/MCK-{current_version}/MongoDB Controllers for Kubernetes"):
3744
assert (
38-
os.listdir(f"{current_directory}/ssdlc-report/MEKO-{current_version}/Enterprise Kubernetes Operator") != []
45+
os.listdir(f"{current_directory}/ssdlc-report/MCK-{current_version}/MongoDB Controllers for Kubernetes")
46+
!= []
3947
)
4048
assert os.path.exists(
41-
f"{current_directory}/ssdlc-report/MEKO-{current_version}/SSDLC Containerized MongoDB Agent {current_version}.md"
49+
f"{current_directory}/ssdlc-report/MCK-{current_version}/SSDLC Containerized MongoDB Agent {current_version}.md"
4250
)
4351
assert os.path.exists(
44-
f"{current_directory}/ssdlc-report/MEKO-{current_version}/SSDLC Containerized MongoDB Enterprise Kubernetes Operator {current_version}.md"
52+
f"{current_directory}/ssdlc-report/MCK-{current_version}/SSDLC Containerized MongoDB Controllers for Kubernetes {current_version}.md"
4553
)
4654
assert os.path.exists(
47-
f"{current_directory}/ssdlc-report/MEKO-{current_version}/SSDLC Containerized MongoDB Enterprise OpsManager {current_version}.md"
55+
f"{current_directory}/ssdlc-report/MCK-{current_version}/SSDLC Containerized MongoDB Enterprise OpsManager {current_version}.md"
4856
)
4957
assert os.path.exists(
50-
f"{current_directory}/ssdlc-report/MEKO-{current_version}/SSDLC MongoDB Enterprise Operator Testing Report {current_version}.md"
58+
f"{current_directory}/ssdlc-report/MCK-{current_version}/SSDLC MongoDB Controllers for Kubernetes Testing Report {current_version}.md"
5159
)

pipeline.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -655,15 +655,13 @@ def args_for_daily_image(image_name: str) -> Dict[str, str]:
655655
ubi_suffix="",
656656
),
657657
image_config(
658-
image_name="mongodb-kubernetes-readinessprobe",
658+
image_name="readinessprobe",
659659
ubi_suffix="",
660-
name_prefix="",
661660
s3_bucket="enterprise-operator-dockerfiles",
662661
),
663662
image_config(
664-
image_name="mongodb-kubernetes-operator-version-upgrade-post-start-hook",
663+
image_name="operator-version-upgrade-post-start-hook",
665664
ubi_suffix="",
666-
name_prefix="",
667665
s3_bucket="enterprise-operator-dockerfiles",
668666
),
669667
]
@@ -1460,11 +1458,11 @@ def get_builder_function_for_image_name() -> Dict[str, Callable]:
14601458
# This only builds the agents without the operator suffix
14611459
"mongodb-agent-daily": build_image_daily("mongodb-agent", operator_version="onlyAgents"),
14621460
# Community images
1463-
"mongodb-kubernetes-readinessprobe-daily": build_image_daily(
1464-
"mongodb-kubernetes-readinessprobe",
1461+
"readinessprobe-daily": build_image_daily(
1462+
"readinessprobe",
14651463
),
1466-
"mongodb-kubernetes-operator-version-upgrade-post-start-hook-daily": build_image_daily(
1467-
"mongodb-kubernetes-operator-version-upgrade-post-start-hook",
1464+
"operator-version-upgrade-post-start-hook-daily": build_image_daily(
1465+
"operator-version-upgrade-post-start-hook",
14681466
),
14691467
"mongodb-kubernetes-operator-daily": build_image_daily("mongodb-kubernetes-operator"),
14701468
}

release.json

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,17 @@
1717
}
1818
},
1919
"supportedImages": {
20-
"mongodb-kubernetes-readinessprobe": {
21-
"ssdlc_name": "MongoDB Community Operator Readiness Probe",
20+
"readinessprobe": {
21+
"ssdlc_name": "MongoDB Controllers for Kubernetes Readiness Probe",
2222
"versions": [
2323
"1.0.22"
2424
],
2525
"variants": [
2626
"ubi"
2727
]
2828
},
29-
"mongodb-kubernetes-operator-version-upgrade-post-start-hook": {
30-
"ssdlc_name": "MongoDB Community Operator Version Upgrade Hook",
29+
"operator-version-upgrade-post-start-hook": {
30+
"ssdlc_name": "MongoDB Controllers for Kubernetes Operator Version Upgrade Hook",
3131
"versions": [
3232
"1.0.9"
3333
],
@@ -36,7 +36,7 @@
3636
]
3737
},
3838
"ops-manager": {
39-
"ssdlc_name": "MongoDB Enterprise Kubernetes Operator Ops Manager",
39+
"ssdlc_name": "MongoDB Controllers for Kubernetes Enterprise Ops Manager",
4040
"versions": [
4141
"6.0.25",
4242
"6.0.26",
@@ -55,7 +55,7 @@
5555
},
5656
"mongodb-kubernetes": {
5757
"Description": "We support 3 last versions, see https://wiki.corp.mongodb.com/display/MMS/Kubernetes+Operator+Support+Policy",
58-
"ssdlc_name": "MongoDB Kubernetes Kubernetes Operator",
58+
"ssdlc_name": "MongoDB Controllers for Kubernetes Operator",
5959
"versions": [
6060
"1.0.0",
6161
"1.0.1"
@@ -87,7 +87,7 @@
8787
},
8888
"mongodb-agent": {
8989
"Description": "Agents corresponding to OpsManager 5.x and 6.x series",
90-
"ssdlc_name": "MongoDB Kubernetes Kubernetes Operator MongoDB Agent",
90+
"ssdlc_name": "MongoDB Controllers for Kubernetes MongoDB Agent",
9191
"Description for specific versions": {
9292
"11.0.5.6963-1": "An upgraded version for OM 5.0 we use for Operator-only deployments",
9393
"12.0.28.7763-1": "OM 6 basic version"
@@ -144,7 +144,7 @@
144144
},
145145
"init-ops-manager": {
146146
"Description": "The lowest version corresponds to the lowest supported Operator version, see https://wiki.corp.mongodb.com/display/MMS/Kubernetes+Operator+Support+Policy",
147-
"ssdlc_name": "MongoDB Kubernetes Kubernetes Operator Init Ops Manager",
147+
"ssdlc_name": "MongoDB Controllers for Kubernetes Init Ops Manager",
148148
"versions": [
149149
"1.0.0",
150150
"1.0.1"
@@ -155,7 +155,7 @@
155155
},
156156
"init-database": {
157157
"Description": "The lowest version corresponds to the lowest supported Operator version, see https://wiki.corp.mongodb.com/display/MMS/Kubernetes+Operator+Support+Policy",
158-
"ssdlc_name": "MongoDB Kubernetes Kubernetes Operator Init Database",
158+
"ssdlc_name": "MongoDB Controllers for Kubernetes Init Database",
159159
"versions": [
160160
"1.0.0",
161161
"1.0.1"
@@ -166,7 +166,7 @@
166166
},
167167
"init-appdb": {
168168
"Description": "The lowest version corresponds to the lowest supported Operator version, see https://wiki.corp.mongodb.com/display/MMS/Kubernetes+Operator+Support+Policy",
169-
"ssdlc_name": "MongoDB Kubernetes Kubernetes Operator Init AppDB",
169+
"ssdlc_name": "MongoDB Controllers for Kubernetes Init AppDB",
170170
"versions": [
171171
"1.0.0",
172172
"1.0.1"
@@ -177,7 +177,7 @@
177177
},
178178
"database": {
179179
"Description": "The lowest version corresponds to the lowest supported Operator version, see https://wiki.corp.mongodb.com/display/MMS/Kubernetes+Operator+Support+Policy",
180-
"ssdlc_name": "MongoDB Kubernetes Kubernetes Operator Database",
180+
"ssdlc_name": "MongoDB Controllers for Kubernetes Database",
181181
"versions": [
182182
"1.0.0",
183183
"1.0.1"

scripts/ssdlc/templates/SSDLC Containerized MongoDB Agent ${VERSION}.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
SSDLC Compliance Report: MongoDB Agent (shipped with MongoDB Kubernetes Enterprise Operator ${VERSION})
1+
SSDLC Compliance Report: MongoDB Agent (shipped with MongoDB Controllers for Kubernetes ${VERSION})
22
=======================================================================================================
33

44
- Release Creators: ${AUTHOR}
@@ -8,7 +8,7 @@ Overview:
88

99
- **Product and Release Name**
1010

11-
- MongoDB Enterprise Operator ${VERSION}, ${DATE}.
11+
- MongoDB Controllers for Kubernetes ${VERSION}, ${DATE}.
1212
- Release Type: ${RELEASE_TYPE}
1313

1414
- **Process Document**
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
SSDLC Compliance Report: MongoDB Enterprise Operator ${VERSION}
1+
SSDLC Compliance Report: MongoDB Controllers for Kubernetes ${VERSION}
22
=================================================================
33

44
- Release Creators: ${AUTHOR}
@@ -8,7 +8,7 @@ Overview:
88

99
- **Product and Release Name**
1010

11-
- MongoDB Enterprise Operator ${VERSION}, ${DATE}.
11+
- MongoDB Controllers for Kubernetes ${VERSION}, ${DATE}.
1212
- Release Type: ${RELEASE_TYPE}
1313

1414
- **Process Document**

scripts/ssdlc/templates/SSDLC Containerized MongoDB Enterprise OpsManager ${VERSION}.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
SSDLC Compliance Report: MongoDB Ops Manager (shipped with MongoDB Kubernetes Enterprise Operator ${VERSION})
1+
SSDLC Compliance Report: MongoDB Ops Manager (shipped with MongoDB Controllers for Kubernetes ${VERSION})
22
=============================================================================================================
33

44
- Release Creators: ${AUTHOR}
@@ -8,7 +8,7 @@ Overview:
88

99
- **Product and Release Name**
1010

11-
- MongoDB Enterprise Operator ${VERSION}, ${DATE}.
11+
- MongoDB Controllers for Kubernetes ${VERSION}, ${DATE}.
1212
- Release Type: ${RELEASE_TYPE}
1313

1414
- **Process Document**

scripts/ssdlc/templates/SSDLC MongoDB Enterprise Operator Testing Report ${VERSION}.md renamed to scripts/ssdlc/templates/SSDLC MongoDB Controllers for Kubernetes Testing Report ${VERSION}.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
MongoDB Enterprise Kubernetes Operator Security Testing Summary
1+
MongoDB Controllers for Kubernetes Security Testing Summary
22
==
33

4-
This document lists specific instances of security-relevant testing that is being performed for the MongoDB Enterprise Kubernetes Operator. All parts of the MongoDB Enterprise Kubernetes source code are subject to unit and end-to-end testing on every change made to the project, including the specific instances listed below. Additionally, smoke tests (end-to-end) are performed every time we release a new tagged version of Docker images used by the operator.
4+
This document lists specific instances of security-relevant testing that is being performed for the MongoDB Controllers for Kubernetes. All parts of the MongoDB Controllers for Kubernetes source code are subject to unit and end-to-end testing on every change made to the project, including the specific instances listed below. Additionally, smoke tests (end-to-end) are performed every time we release a new tagged version of Docker images used by the operator.
55

66
Authentication End-to-End Tests
77
===
@@ -26,4 +26,4 @@ All the end-to-end tests that we run for the MongoDB functionality using dynamic
2626
Data encryption End-to-End Tests
2727
===
2828

29-
The enterprise operator supports configuring Automatic Queryable Encryption with KMIP. Our end-to-end tests cover the configuration of MongoDB resources to connect to a KMIP server and encrypt data and related backups.
29+
The MongoDB Controllers for Kubernetes supports configuring Automatic Queryable Encryption with KMIP. Our end-to-end tests cover the configuration of MongoDB resources to connect to a KMIP server and encrypt data and related backups.

0 commit comments

Comments
 (0)