Skip to content

Commit 4e33829

Browse files
authored
CLOUDP-315269: Add SSDLC report (#3898)
1 parent 369f3f6 commit 4e33829

File tree

3 files changed

+80
-0
lines changed

3 files changed

+80
-0
lines changed

build/ci/release.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,15 @@ functions:
112112
--repo mongodb_mongodb-atlas-cli \
113113
--branch ${branch_name}
114114
rm ${workdir}/kondukto_credentials.env
115+
"generate ssdlc report":
116+
- command: subprocess.exec
117+
params:
118+
include_expansions_in_env:
119+
- author
120+
env:
121+
AUTHOR: ${author}
122+
<<: *go_options
123+
binary: build/package/gen-ssdlc-report.sh
115124
"package":
116125
- command: github.generate_token
117126
params:
@@ -395,6 +404,7 @@ tasks:
395404
commands:
396405
- func: "generate sbom"
397406
- func: "run silkbomb"
407+
- func: "generate ssdlc report"
398408
- name: package_goreleaser
399409
tags: ["packaging"]
400410
depends_on:

build/package/gen-ssdlc-report.sh

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
#!/bin/bash
2+
# Copyright 2025 MongoDB Inc
3+
#
4+
# Licensed under the Apache License, Version 2.0 (the "License");
5+
# you may not use this file except in compliance with the License.
6+
# You may obtain a copy of the License at
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS,
12+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
# See the License for the specific language governing permissions and
14+
# limitations under the License.
15+
16+
17+
set -eu
18+
19+
release_date=${DATE:-$(date -u '+%Y-%m-%d')}
20+
21+
export DATE="${release_date}"
22+
VERSION=""
23+
VERSION=$(git tag --list 'atlascli/v*' --sort=-taggerdate | head -1 | cut -d 'v' -f 2)
24+
export VERSION
25+
export AUTHOR="${AUTHOR:-$(git config user.name)}"
26+
27+
echo "Generating SSDLC checklist for AtlasCLI version ${VERSION}, author ${AUTHOR} and release date ${DATE}..."
28+
29+
# Ensure compliance directory exists
30+
mkdir -p "compliance/"
31+
32+
# Generate the report in compliance/ with a versioned filename
33+
envsubst < docs/releases/ssdlc-compliance.template.md \
34+
> "compliance/ssdlc-compliance-${VERSION}.md"
35+
36+
echo "SDLC checklist ready. Files in compliance/:"
37+
ls -l "compliance/"
38+
39+
echo "Printing the generated report:"
40+
cat "compliance/ssdlc-compliance-${VERSION}.md"
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
SSDLC Compliance Report: Atlas CLI ${VERSION}
2+
=================================================================
3+
4+
- Release Creator: ${AUTHOR}
5+
- Created On: ${DATE}
6+
7+
Overview:
8+
9+
- **Product and Release Name**
10+
- Atlas CLI ${VERSION}, ${DATE}.
11+
12+
- **Process Document**
13+
- https://www.mongodb.com/blog/post/how-mongodb-protects-against-supply-chain-vulnerabilities
14+
15+
- **Tool used to track third party vulnerabilities**
16+
- [Kondukto](https://arcticglow.kondukto.io/)
17+
18+
- **Dependency Information**
19+
- See SBOM Lite manifests (CycloneDX in JSON format):
20+
- https://github.com/mongodb/mongodb-atlas-cli/releases/download/atlascli%2Fv${VERSION}/sbom.json
21+
22+
- **Security Testing Report**
23+
- Available as needed from Cloud Security.
24+
25+
- **Security Assessment Report**
26+
- Available as needed from Cloud Security.
27+
28+
Assumptions and attestations:
29+
30+
- Internal processes are used to ensure CVEs are identified and mitigated within SLAs.

0 commit comments

Comments
 (0)