Skip to content

Commit 6569133

Browse files
authored
chore(ci): update to silkbomb 2.0 (#6734)
1 parent 16724bf commit 6569133

File tree

4 files changed

+30
-28
lines changed

4 files changed

+30
-28
lines changed

.evergreen/buildvariants-and-tasks.in.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,31 +32,31 @@ const PACKAGE_BUILD_VARIANTS = [
3232
// # when compiling/re-building addons. This ensures compatibility with other
3333
// # debian platforms that have glibc 2.27 or newer.
3434
run_on: 'ubuntu1804-large',
35-
silk_asset_group: 'compass-ubuntu',
35+
target_platform: 'ubuntu',
3636
},
3737
{
3838
name: 'package-windows',
3939
display_name: 'Package Windows',
4040
run_on: 'windows-vsCurrent-large',
41-
silk_asset_group: 'compass-windows',
41+
target_platform: 'windows',
4242
},
4343
{
4444
name: 'package-rhel',
4545
display_name: 'Package RHEL',
4646
run_on: 'rhel80-large',
47-
silk_asset_group: 'compass-rhel',
47+
target_platform: 'rhel',
4848
},
4949
{
5050
name: 'package-macos-x64',
5151
display_name: 'Package MacOS Intel',
5252
run_on: 'macos-14',
53-
silk_asset_group: 'compass-macos',
53+
target_platform: 'macos',
5454
},
5555
{
5656
name: 'package-macos-arm',
5757
display_name: 'Package MacOS Arm64',
5858
run_on: 'macos-14-arm64',
59-
silk_asset_group: 'compass-macos-arm',
59+
target_platform: 'macos-arm',
6060
}
6161
];
6262

.evergreen/buildvariants-and-tasks.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ buildvariants:
3333
run_on: macos-14-arm64-gui
3434
- name: package-ubuntu
3535
expansions:
36-
silk_asset_group: compass-ubuntu
36+
target_platform: ubuntu
3737
display_name: Package Ubuntu
3838
run_on: ubuntu1804-large
3939
tasks:
@@ -42,7 +42,7 @@ buildvariants:
4242
- name: package-compass-readonly
4343
- name: package-windows
4444
expansions:
45-
silk_asset_group: compass-windows
45+
target_platform: windows
4646
display_name: Package Windows
4747
run_on: windows-vsCurrent-large
4848
tasks:
@@ -51,7 +51,7 @@ buildvariants:
5151
- name: package-compass-readonly
5252
- name: package-rhel
5353
expansions:
54-
silk_asset_group: compass-rhel
54+
target_platform: rhel
5555
display_name: Package RHEL
5656
run_on: rhel80-large
5757
tasks:
@@ -60,7 +60,7 @@ buildvariants:
6060
- name: package-compass-readonly
6161
- name: package-macos-x64
6262
expansions:
63-
silk_asset_group: compass-macos
63+
target_platform: macos
6464
display_name: Package MacOS Intel
6565
run_on: macos-14
6666
tasks:
@@ -69,7 +69,7 @@ buildvariants:
6969
- name: package-compass-readonly
7070
- name: package-macos-arm
7171
expansions:
72-
silk_asset_group: compass-macos-arm
72+
target_platform: macos-arm
7373
display_name: Package MacOS Arm64
7474
run_on: macos-14-arm64
7575
tasks:

.evergreen/create-sbom.sh

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,27 +7,26 @@ CRYPT_SHARED_VERSION=$(cat packages/compass/src/deps/csfle/version)
77

88
set +x
99
echo "${ARTIFACTORY_PASSWORD}" > /tmp/artifactory_password
10-
cat << EOF > /tmp/silkbomb.env
11-
SILK_CLIENT_ID=${SILK_CLIENT_ID}
12-
SILK_CLIENT_SECRET=${SILK_CLIENT_SECRET}
13-
EOF
1410
set -x
1511

1612
trap_handler() {
17-
rm -vf /tmp/artifactory_password /tmp/silkbomb.env
13+
rm -vf /tmp/artifactory_password
1814
}
1915
trap trap_handler ERR EXIT
2016

21-
scp -v -i "$SIGNING_SERVER_PRIVATE_KEY_CYGPATH" -P "$SIGNING_SERVER_PORT" .sbom/dependencies.json /tmp/silkbomb.env /tmp/artifactory_password "$SIGNING_SERVER_USERNAME"@"$SIGNING_SERVER_HOSTNAME":/tmp/
17+
scp -v -i "$SIGNING_SERVER_PRIVATE_KEY_CYGPATH" -P "$SIGNING_SERVER_PORT" .sbom/dependencies.json /tmp/artifactory_password "$SIGNING_SERVER_USERNAME"@"$SIGNING_SERVER_HOSTNAME":/tmp/
2218
ssh -v -i "$SIGNING_SERVER_PRIVATE_KEY_CYGPATH" -p "$SIGNING_SERVER_PORT" "$SIGNING_SERVER_USERNAME"@"$SIGNING_SERVER_HOSTNAME" \
2319
"(cat /tmp/dependencies.json | jq -r '.[] | "'"pkg:npm/" + .name + "@" + .version'"' > /tmp/purls.txt) && \
2420
echo "pkg:generic/mongo_crypt_shared@${CRYPT_SHARED_VERSION}" >> /tmp/purls.txt && \
25-
(cat /tmp/artifactory_password | docker login artifactory.corp.mongodb.com --username '${ARTIFACTORY_USERNAME}' --password-stdin ; rm -f /tmp/artifactor_password ) && \
26-
docker pull artifactory.corp.mongodb.com/release-tools-container-registry-public-local/silkbomb:1.0 && \
27-
docker run --rm -v /tmp:/tmp artifactory.corp.mongodb.com/release-tools-container-registry-public-local/silkbomb:1.0 update \
21+
(cat /tmp/artifactory_password | docker login artifactory.corp.mongodb.com --username '${ARTIFACTORY_USERNAME}' --password-stdin ; rm -f /tmp/artifactory_password ) && \
22+
docker pull artifactory.corp.mongodb.com/release-tools-container-registry-public-local/silkbomb:2.0 && \
23+
docker run --rm -v /tmp:/tmp artifactory.corp.mongodb.com/release-tools-container-registry-public-local/silkbomb:2.0 update \
2824
--purls /tmp/purls.txt --sbom-out /tmp/sbom-lite.json && \
29-
docker run --env-file /tmp/silkbomb.env --rm -v /tmp:/tmp artifactory.corp.mongodb.com/release-tools-container-registry-public-local/silkbomb:1.0 upload \
30-
--silk-asset-group "${SILK_ASSET_GROUP}" --sbom-in /tmp/sbom-lite.json && \
31-
docker run --env-file /tmp/silkbomb.env --rm -v /tmp:/tmp artifactory.corp.mongodb.com/release-tools-container-registry-public-local/silkbomb:1.0 download \
32-
--silk-asset-group "${SILK_ASSET_GROUP}" --sbom-out /tmp/sbom.json"
33-
scp -v -i "$SIGNING_SERVER_PRIVATE_KEY_CYGPATH" -P "$SIGNING_SERVER_PORT" "$SIGNING_SERVER_USERNAME"@"$SIGNING_SERVER_HOSTNAME":/tmp/{sbom-lite.json,sbom.json,purls.txt} .sbom/
25+
kondukto_token=\$(AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} \
26+
AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} \
27+
AWS_SESSION_TOKEN=${AWS_SESSION_TOKEN} \
28+
aws secretsmanager get-secret-value --secret-id \"kondukto-token\" --query 'SecretString' --output text) && \
29+
echo \"KONDUKTO_TOKEN=\$kondukto_token\" > /tmp/kondukto_credentials.env && \
30+
docker run --env-file /tmp/kondukto_credentials.env --rm -v /tmp:/tmp artifactory.corp.mongodb.com/release-tools-container-registry-public-local/silkbomb:2.0 augment \
31+
--repo mongodb-js/compass --branch ${KONDUKTO_BRANCH} --sbom-in /tmp/sbom-lite.json --sbom-out /tmp/sbom.json"
32+
scp -v -i "$SIGNING_SERVER_PRIVATE_KEY_CYGPATH" -P "$SIGNING_SERVER_PORT" "$SIGNING_SERVER_USERNAME"@"$SIGNING_SERVER_HOSTNAME":/tmp/{sbom-lite.json,sbom.json,purls.txt} .sbom/

.evergreen/functions.yml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -413,10 +413,15 @@ functions:
413413
# Load environment variables
414414
eval $(.evergreen/print-compass-env.sh)
415415
cd packages/compass && npm run prepackage-compass
416+
- command: ec2.assume_role
417+
display_name: Assume IAM role with permissions to pull Kondukto API token
418+
params:
419+
role_arn: ${kondukto_role_arn}
416420
- command: shell.exec
417421
params:
418422
working_dir: src
419423
shell: bash
424+
include_expansions_in_env: [AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN]
420425
env:
421426
ARTIFACTORY_USERNAME: ${artifactory_username}
422427
ARTIFACTORY_PASSWORD: ${artifactory_password}
@@ -425,10 +430,8 @@ functions:
425430
SIGNING_SERVER_PRIVATE_KEY_CYGPATH: ${SIGNING_SERVER_PRIVATE_KEY_CYGPATH}
426431
SIGNING_SERVER_USERNAME: ${SIGNING_SERVER_USERNAME}
427432
SIGNING_SERVER_PORT: ${SIGNING_SERVER_PORT}
428-
# for Silk SBOM integration
429-
SILK_ASSET_GROUP: ${silk_asset_group}
430-
SILK_CLIENT_ID: ${silk_client_id}
431-
SILK_CLIENT_SECRET: ${silk_client_secret}
433+
# for SilkBomb integration
434+
KONDUKTO_BRANCH: ${branch_name}_${target_platform}
432435
script: |
433436
set -e
434437

0 commit comments

Comments
 (0)