@catladder/pipeline 1.110.2 → 1.110.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build/custom/buildJob.js +4 -2
- package/dist/build/node/buildJob.js +4 -2
- package/dist/build/rails/build.js +13 -2
- package/dist/build/sbom.d.ts +5 -0
- package/dist/build/sbom.js +29 -0
- package/dist/bundles/catladder-gitlab/index.js +3 -3
- package/dist/constants.js +1 -1
- package/dist/deploy/base.js +38 -2
- package/dist/deploy/cloudRun/deployJob.js +5 -4
- package/dist/deploy/custom/deployJob.js +3 -2
- package/dist/deploy/kubernetes/deployJob.js +3 -2
- package/dist/deploy/sbom.d.ts +4 -0
- package/dist/deploy/sbom.js +17 -0
- package/dist/pipeline/createJobsForComponent.js +1 -3
- package/dist/pipeline/gitlab/createGitlabJobs.js +5 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/examples/__snapshots__/cloud-run-memory-limit.ts.snap +40 -96
- package/examples/__snapshots__/cloud-run-no-cpu-throttling.ts.snap +40 -96
- package/examples/__snapshots__/cloud-run-non-public.ts.snap +40 -96
- package/examples/__snapshots__/cloud-run-with-sql-reuse-db.ts.snap +80 -192
- package/examples/__snapshots__/cloud-run-with-sql.ts.snap +80 -192
- package/examples/__snapshots__/custom-build-job-with-tests.ts.snap +40 -96
- package/examples/__snapshots__/custom-build-job.ts.snap +40 -96
- package/examples/__snapshots__/custom-deploy.ts.snap +40 -96
- package/examples/__snapshots__/custom-envs.ts.snap +6 -126
- package/examples/__snapshots__/custom-sbom-java.ts.snap +40 -96
- package/examples/__snapshots__/kubernetes-application-customization.ts.snap +40 -96
- package/examples/__snapshots__/kubernetes-with-cloud-sql-legacy.ts.snap +40 -96
- package/examples/__snapshots__/kubernetes-with-cloud-sql.ts.snap +40 -96
- package/examples/__snapshots__/kubernetes-with-jobs.ts.snap +80 -192
- package/examples/__snapshots__/kubernetes-with-mongodb.ts.snap +40 -96
- package/examples/__snapshots__/native-app.ts.snap +72 -192
- package/examples/__snapshots__/node-build-with-custom-image.ts.snap +40 -96
- package/examples/__snapshots__/rails-k8s-with-worker.ts.snap +40 -96
- package/examples/__snapshots__/wait-for-other-deploy.ts.snap +64 -192
- package/package.json +1 -1
- package/src/build/custom/buildJob.ts +3 -0
- package/src/build/node/buildJob.ts +3 -0
- package/src/build/rails/build.ts +3 -0
- package/src/build/sbom.ts +43 -0
- package/src/deploy/base.ts +14 -7
- package/src/deploy/cloudRun/deployJob.ts +6 -0
- package/src/deploy/custom/deployJob.ts +9 -1
- package/src/deploy/kubernetes/deployJob.ts +10 -1
- package/src/deploy/sbom.ts +24 -0
- package/src/pipeline/createJobsForComponent.ts +1 -3
- package/src/pipeline/gitlab/createGitlabJobs.ts +6 -2
- package/dist/verify/reporting.d.ts +0 -3
- package/dist/verify/reporting.js +0 -48
- package/src/verify/reporting.ts +0 -69
|
@@ -130,6 +130,10 @@ exports[`matches snapshot 1`] = `
|
|
|
130
130
|
"artifacts": false,
|
|
131
131
|
"job": "app 🔨 docker | dev ",
|
|
132
132
|
},
|
|
133
|
+
{
|
|
134
|
+
"artifacts": true,
|
|
135
|
+
"job": "app 🧾 sbom | dev ",
|
|
136
|
+
},
|
|
133
137
|
],
|
|
134
138
|
"retry": {
|
|
135
139
|
"max": 2,
|
|
@@ -157,6 +161,8 @@ exports[`matches snapshot 1`] = `
|
|
|
157
161
|
"echo "$ENV_VARS" > ____envvars.yaml",
|
|
158
162
|
"gcloud run deploy pan-test-app-dev-app --command="" --image=asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG --project=asdf --region=asia-east1 --labels=customer-name=pan,app-name=test-app,env-type=dev,env-name=dev,build-type=custom --env-vars-file=____envvars.yaml --min-instances=0 --max-instances=100 --cpu-throttling --allow-unauthenticated --cpu-boost",
|
|
159
163
|
"docker image rm asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG",
|
|
164
|
+
"echo Uploading SBOM to Dependency Track",
|
|
165
|
+
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/app" "https://pan-test-app-dev-app-unknown-host.example.com" "__sbom.json" vex.json || true",
|
|
160
166
|
],
|
|
161
167
|
"services": [
|
|
162
168
|
{
|
|
@@ -242,6 +248,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
242
248
|
",
|
|
243
249
|
"gcloud auth activate-service-account --key-file="./____keyfile.json"",
|
|
244
250
|
"gcloud run services delete pan-test-app-dev-app --project=asdf --region=asia-east1",
|
|
251
|
+
"echo Disabling component in Dependency Track",
|
|
252
|
+
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/app" "https://pan-test-app-dev-app-unknown-host.example.com" || true",
|
|
245
253
|
"set -e",
|
|
246
254
|
],
|
|
247
255
|
"stage": "stop dev",
|
|
@@ -254,26 +262,6 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
254
262
|
"KUBERNETES_MEMORY_REQUEST": "200Mi",
|
|
255
263
|
},
|
|
256
264
|
},
|
|
257
|
-
"app 🧾 sbom upload | dev ": {
|
|
258
|
-
"allow_failure": true,
|
|
259
|
-
"image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
|
|
260
|
-
"interruptible": true,
|
|
261
|
-
"needs": [
|
|
262
|
-
"app 🧾 sbom | dev ",
|
|
263
|
-
],
|
|
264
|
-
"retry": {
|
|
265
|
-
"max": 2,
|
|
266
|
-
"when": [
|
|
267
|
-
"runner_system_failure",
|
|
268
|
-
"stuck_or_timeout_failure",
|
|
269
|
-
],
|
|
270
|
-
},
|
|
271
|
-
"script": [
|
|
272
|
-
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/app" "dev" "__sbom.json" vex.json",
|
|
273
|
-
],
|
|
274
|
-
"stage": "verify",
|
|
275
|
-
"variables": {},
|
|
276
|
-
},
|
|
277
265
|
"app 🧾 sbom | dev ": {
|
|
278
266
|
"allow_failure": true,
|
|
279
267
|
"artifacts": {
|
|
@@ -283,9 +271,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
283
271
|
},
|
|
284
272
|
"image": "maven:3-eclipse-temurin-11",
|
|
285
273
|
"interruptible": true,
|
|
286
|
-
"needs": [
|
|
287
|
-
"app 🚀 Deploy | dev ",
|
|
288
|
-
],
|
|
274
|
+
"needs": [],
|
|
289
275
|
"retry": {
|
|
290
276
|
"max": 2,
|
|
291
277
|
"when": [
|
|
@@ -297,7 +283,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
297
283
|
"mvn org.cyclonedx:cyclonedx-maven-plugin:2.7.4:makeBom",
|
|
298
284
|
"mv target/bom.json __sbom.json",
|
|
299
285
|
],
|
|
300
|
-
"stage": "
|
|
286
|
+
"stage": "build",
|
|
301
287
|
"variables": {},
|
|
302
288
|
},
|
|
303
289
|
},
|
|
@@ -497,6 +483,10 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
497
483
|
"artifacts": false,
|
|
498
484
|
"job": "app 🔨 docker | review ",
|
|
499
485
|
},
|
|
486
|
+
{
|
|
487
|
+
"artifacts": true,
|
|
488
|
+
"job": "app 🧾 sbom | review ",
|
|
489
|
+
},
|
|
500
490
|
],
|
|
501
491
|
"retry": {
|
|
502
492
|
"max": 2,
|
|
@@ -524,6 +514,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
524
514
|
"echo "$ENV_VARS" > ____envvars.yaml",
|
|
525
515
|
"gcloud run deploy pan-test-app-review-mr1234-app --command="" --image=asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG --project=asdf --region=asia-east1 --labels=customer-name=pan,app-name=test-app,env-type=review,env-name=review,build-type=custom --env-vars-file=____envvars.yaml --min-instances=0 --max-instances=100 --cpu-throttling --allow-unauthenticated --cpu-boost",
|
|
526
516
|
"docker image rm asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG",
|
|
517
|
+
"echo Uploading SBOM to Dependency Track",
|
|
518
|
+
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/app" "https://pan-test-app-review-mr1234-app-unknown-host.example.com" "__sbom.json" vex.json || true",
|
|
527
519
|
],
|
|
528
520
|
"services": [
|
|
529
521
|
{
|
|
@@ -609,6 +601,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
609
601
|
",
|
|
610
602
|
"gcloud auth activate-service-account --key-file="./____keyfile.json"",
|
|
611
603
|
"gcloud run services delete pan-test-app-review-mr1234-app --project=asdf --region=asia-east1",
|
|
604
|
+
"echo Disabling component in Dependency Track",
|
|
605
|
+
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/app" "https://pan-test-app-review-mr1234-app-unknown-host.example.com" || true",
|
|
612
606
|
"set -e",
|
|
613
607
|
],
|
|
614
608
|
"stage": "stop review",
|
|
@@ -621,26 +615,6 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
621
615
|
"KUBERNETES_MEMORY_REQUEST": "200Mi",
|
|
622
616
|
},
|
|
623
617
|
},
|
|
624
|
-
"app 🧾 sbom upload | review ": {
|
|
625
|
-
"allow_failure": true,
|
|
626
|
-
"image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
|
|
627
|
-
"interruptible": true,
|
|
628
|
-
"needs": [
|
|
629
|
-
"app 🧾 sbom | review ",
|
|
630
|
-
],
|
|
631
|
-
"retry": {
|
|
632
|
-
"max": 2,
|
|
633
|
-
"when": [
|
|
634
|
-
"runner_system_failure",
|
|
635
|
-
"stuck_or_timeout_failure",
|
|
636
|
-
],
|
|
637
|
-
},
|
|
638
|
-
"script": [
|
|
639
|
-
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/app" "review" "__sbom.json" vex.json",
|
|
640
|
-
],
|
|
641
|
-
"stage": "verify",
|
|
642
|
-
"variables": {},
|
|
643
|
-
},
|
|
644
618
|
"app 🧾 sbom | review ": {
|
|
645
619
|
"allow_failure": true,
|
|
646
620
|
"artifacts": {
|
|
@@ -650,9 +624,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
650
624
|
},
|
|
651
625
|
"image": "maven:3-eclipse-temurin-11",
|
|
652
626
|
"interruptible": true,
|
|
653
|
-
"needs": [
|
|
654
|
-
"app 🚀 Deploy | review ",
|
|
655
|
-
],
|
|
627
|
+
"needs": [],
|
|
656
628
|
"retry": {
|
|
657
629
|
"max": 2,
|
|
658
630
|
"when": [
|
|
@@ -664,7 +636,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
664
636
|
"mvn org.cyclonedx:cyclonedx-maven-plugin:2.7.4:makeBom",
|
|
665
637
|
"mv target/bom.json __sbom.json",
|
|
666
638
|
],
|
|
667
|
-
"stage": "
|
|
639
|
+
"stage": "build",
|
|
668
640
|
"variables": {},
|
|
669
641
|
},
|
|
670
642
|
},
|
|
@@ -965,6 +937,10 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
965
937
|
"artifacts": false,
|
|
966
938
|
"job": "app 🔨 docker | prod ",
|
|
967
939
|
},
|
|
940
|
+
{
|
|
941
|
+
"artifacts": true,
|
|
942
|
+
"job": "app 🧾 sbom | prod ",
|
|
943
|
+
},
|
|
968
944
|
],
|
|
969
945
|
"retry": {
|
|
970
946
|
"max": 2,
|
|
@@ -992,6 +968,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
992
968
|
"echo "$ENV_VARS" > ____envvars.yaml",
|
|
993
969
|
"gcloud run deploy pan-test-app-prod-app --command="" --image=asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG --project=asdf --region=asia-east1 --labels=customer-name=pan,app-name=test-app,env-type=prod,env-name=prod,build-type=custom --env-vars-file=____envvars.yaml --min-instances=0 --max-instances=100 --cpu-throttling --allow-unauthenticated --cpu-boost",
|
|
994
970
|
"docker image rm asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG",
|
|
971
|
+
"echo Uploading SBOM to Dependency Track",
|
|
972
|
+
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/app" "https://pan-test-app-prod-app-unknown-host.example.com" "__sbom.json" vex.json || true",
|
|
995
973
|
],
|
|
996
974
|
"services": [
|
|
997
975
|
{
|
|
@@ -1068,6 +1046,10 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
1068
1046
|
"artifacts": false,
|
|
1069
1047
|
"job": "app 🔨 docker | stage ",
|
|
1070
1048
|
},
|
|
1049
|
+
{
|
|
1050
|
+
"artifacts": true,
|
|
1051
|
+
"job": "app 🧾 sbom | stage ",
|
|
1052
|
+
},
|
|
1071
1053
|
],
|
|
1072
1054
|
"retry": {
|
|
1073
1055
|
"max": 2,
|
|
@@ -1095,6 +1077,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
1095
1077
|
"echo "$ENV_VARS" > ____envvars.yaml",
|
|
1096
1078
|
"gcloud run deploy pan-test-app-stage-app --command="" --image=asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG --project=asdf --region=asia-east1 --labels=customer-name=pan,app-name=test-app,env-type=stage,env-name=stage,build-type=custom --env-vars-file=____envvars.yaml --min-instances=0 --max-instances=100 --cpu-throttling --allow-unauthenticated --cpu-boost",
|
|
1097
1079
|
"docker image rm asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG",
|
|
1080
|
+
"echo Uploading SBOM to Dependency Track",
|
|
1081
|
+
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/app" "https://pan-test-app-stage-app-unknown-host.example.com" "__sbom.json" vex.json || true",
|
|
1098
1082
|
],
|
|
1099
1083
|
"services": [
|
|
1100
1084
|
{
|
|
@@ -1180,6 +1164,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
1180
1164
|
",
|
|
1181
1165
|
"gcloud auth activate-service-account --key-file="./____keyfile.json"",
|
|
1182
1166
|
"gcloud run services delete pan-test-app-prod-app --project=asdf --region=asia-east1",
|
|
1167
|
+
"echo Disabling component in Dependency Track",
|
|
1168
|
+
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/app" "https://pan-test-app-prod-app-unknown-host.example.com" || true",
|
|
1183
1169
|
"set -e",
|
|
1184
1170
|
],
|
|
1185
1171
|
"stage": "stop prod",
|
|
@@ -1225,6 +1211,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
1225
1211
|
",
|
|
1226
1212
|
"gcloud auth activate-service-account --key-file="./____keyfile.json"",
|
|
1227
1213
|
"gcloud run services delete pan-test-app-stage-app --project=asdf --region=asia-east1",
|
|
1214
|
+
"echo Disabling component in Dependency Track",
|
|
1215
|
+
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/app" "https://pan-test-app-stage-app-unknown-host.example.com" || true",
|
|
1228
1216
|
"set -e",
|
|
1229
1217
|
],
|
|
1230
1218
|
"stage": "stop stage",
|
|
@@ -1237,46 +1225,6 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
1237
1225
|
"KUBERNETES_MEMORY_REQUEST": "200Mi",
|
|
1238
1226
|
},
|
|
1239
1227
|
},
|
|
1240
|
-
"app 🧾 sbom upload | prod ": {
|
|
1241
|
-
"allow_failure": true,
|
|
1242
|
-
"image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
|
|
1243
|
-
"interruptible": true,
|
|
1244
|
-
"needs": [
|
|
1245
|
-
"app 🧾 sbom | prod ",
|
|
1246
|
-
],
|
|
1247
|
-
"retry": {
|
|
1248
|
-
"max": 2,
|
|
1249
|
-
"when": [
|
|
1250
|
-
"runner_system_failure",
|
|
1251
|
-
"stuck_or_timeout_failure",
|
|
1252
|
-
],
|
|
1253
|
-
},
|
|
1254
|
-
"script": [
|
|
1255
|
-
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/app" "prod" "__sbom.json" vex.json",
|
|
1256
|
-
],
|
|
1257
|
-
"stage": "verify",
|
|
1258
|
-
"variables": {},
|
|
1259
|
-
},
|
|
1260
|
-
"app 🧾 sbom upload | stage ": {
|
|
1261
|
-
"allow_failure": true,
|
|
1262
|
-
"image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
|
|
1263
|
-
"interruptible": true,
|
|
1264
|
-
"needs": [
|
|
1265
|
-
"app 🧾 sbom | stage ",
|
|
1266
|
-
],
|
|
1267
|
-
"retry": {
|
|
1268
|
-
"max": 2,
|
|
1269
|
-
"when": [
|
|
1270
|
-
"runner_system_failure",
|
|
1271
|
-
"stuck_or_timeout_failure",
|
|
1272
|
-
],
|
|
1273
|
-
},
|
|
1274
|
-
"script": [
|
|
1275
|
-
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/app" "stage" "__sbom.json" vex.json",
|
|
1276
|
-
],
|
|
1277
|
-
"stage": "verify",
|
|
1278
|
-
"variables": {},
|
|
1279
|
-
},
|
|
1280
1228
|
"app 🧾 sbom | prod ": {
|
|
1281
1229
|
"allow_failure": true,
|
|
1282
1230
|
"artifacts": {
|
|
@@ -1286,9 +1234,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
1286
1234
|
},
|
|
1287
1235
|
"image": "maven:3-eclipse-temurin-11",
|
|
1288
1236
|
"interruptible": true,
|
|
1289
|
-
"needs": [
|
|
1290
|
-
"app 🚀 Deploy | prod ",
|
|
1291
|
-
],
|
|
1237
|
+
"needs": [],
|
|
1292
1238
|
"retry": {
|
|
1293
1239
|
"max": 2,
|
|
1294
1240
|
"when": [
|
|
@@ -1300,7 +1246,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
1300
1246
|
"mvn org.cyclonedx:cyclonedx-maven-plugin:2.7.4:makeBom",
|
|
1301
1247
|
"mv target/bom.json __sbom.json",
|
|
1302
1248
|
],
|
|
1303
|
-
"stage": "
|
|
1249
|
+
"stage": "build",
|
|
1304
1250
|
"variables": {},
|
|
1305
1251
|
},
|
|
1306
1252
|
"app 🧾 sbom | stage ": {
|
|
@@ -1312,9 +1258,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
1312
1258
|
},
|
|
1313
1259
|
"image": "maven:3-eclipse-temurin-11",
|
|
1314
1260
|
"interruptible": true,
|
|
1315
|
-
"needs": [
|
|
1316
|
-
"app 🚀 Deploy | stage ",
|
|
1317
|
-
],
|
|
1261
|
+
"needs": [],
|
|
1318
1262
|
"retry": {
|
|
1319
1263
|
"max": 2,
|
|
1320
1264
|
"when": [
|
|
@@ -1326,7 +1270,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
1326
1270
|
"mvn org.cyclonedx:cyclonedx-maven-plugin:2.7.4:makeBom",
|
|
1327
1271
|
"mv target/bom.json __sbom.json",
|
|
1328
1272
|
],
|
|
1329
|
-
"stage": "
|
|
1273
|
+
"stage": "build",
|
|
1330
1274
|
"variables": {},
|
|
1331
1275
|
},
|
|
1332
1276
|
},
|
|
@@ -326,6 +326,10 @@ COPY --chown=node:node .yarn /app/.yarn",
|
|
|
326
326
|
"artifacts": false,
|
|
327
327
|
"job": "api 🧪 test",
|
|
328
328
|
},
|
|
329
|
+
{
|
|
330
|
+
"artifacts": true,
|
|
331
|
+
"job": "api 🧾 sbom | dev ",
|
|
332
|
+
},
|
|
329
333
|
{
|
|
330
334
|
"artifacts": false,
|
|
331
335
|
"job": "api 🛡 audit",
|
|
@@ -350,6 +354,8 @@ COPY --chown=node:node .yarn /app/.yarn",
|
|
|
350
354
|
"kubectl config use-context "kube-pan-test-app-dev-api"",
|
|
351
355
|
"kubernetesCreateSecret",
|
|
352
356
|
"kubernetesDeploy",
|
|
357
|
+
"echo Uploading SBOM to Dependency Track",
|
|
358
|
+
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "https://api.dev.test-app.pan.panter.cloud" "__sbom.json" vex.json || true",
|
|
353
359
|
"echo deployment successful 😻",
|
|
354
360
|
],
|
|
355
361
|
"stage": "deploy dev",
|
|
@@ -465,6 +471,8 @@ application:
|
|
|
465
471
|
"kubectl config set-context "kube-pan-test-app-dev-api" --cluster="kube-pan-test-app-dev-api" --user="kube-pan-test-app-dev-api" --namespace="pan-test-app-dev"",
|
|
466
472
|
"kubectl config use-context "kube-pan-test-app-dev-api"",
|
|
467
473
|
"kubernetesDelete",
|
|
474
|
+
"echo Disabling component in Dependency Track",
|
|
475
|
+
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/api" "https://api.dev.test-app.pan.panter.cloud" || true",
|
|
468
476
|
],
|
|
469
477
|
"stage": "stop dev",
|
|
470
478
|
"variables": {
|
|
@@ -606,26 +614,6 @@ application:
|
|
|
606
614
|
"KUBERNETES_MEMORY_REQUEST": "2Gi",
|
|
607
615
|
},
|
|
608
616
|
},
|
|
609
|
-
"api 🧾 sbom upload | dev ": {
|
|
610
|
-
"allow_failure": true,
|
|
611
|
-
"image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
|
|
612
|
-
"interruptible": true,
|
|
613
|
-
"needs": [
|
|
614
|
-
"api 🧾 sbom | dev ",
|
|
615
|
-
],
|
|
616
|
-
"retry": {
|
|
617
|
-
"max": 2,
|
|
618
|
-
"when": [
|
|
619
|
-
"runner_system_failure",
|
|
620
|
-
"stuck_or_timeout_failure",
|
|
621
|
-
],
|
|
622
|
-
},
|
|
623
|
-
"script": [
|
|
624
|
-
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "dev" "__sbom.json" vex.json",
|
|
625
|
-
],
|
|
626
|
-
"stage": "verify",
|
|
627
|
-
"variables": {},
|
|
628
|
-
},
|
|
629
617
|
"api 🧾 sbom | dev ": {
|
|
630
618
|
"allow_failure": true,
|
|
631
619
|
"artifacts": {
|
|
@@ -635,9 +623,7 @@ application:
|
|
|
635
623
|
},
|
|
636
624
|
"image": "aquasec/trivy:0.38.3",
|
|
637
625
|
"interruptible": true,
|
|
638
|
-
"needs": [
|
|
639
|
-
"api 🚀 Deploy | dev ",
|
|
640
|
-
],
|
|
626
|
+
"needs": [],
|
|
641
627
|
"retry": {
|
|
642
628
|
"max": 2,
|
|
643
629
|
"when": [
|
|
@@ -648,7 +634,7 @@ application:
|
|
|
648
634
|
"script": [
|
|
649
635
|
"trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
|
|
650
636
|
],
|
|
651
|
-
"stage": "
|
|
637
|
+
"stage": "build",
|
|
652
638
|
"variables": {},
|
|
653
639
|
},
|
|
654
640
|
},
|
|
@@ -1044,6 +1030,10 @@ COPY --chown=node:node .yarn /app/.yarn",
|
|
|
1044
1030
|
"artifacts": false,
|
|
1045
1031
|
"job": "api 🧪 test",
|
|
1046
1032
|
},
|
|
1033
|
+
{
|
|
1034
|
+
"artifacts": true,
|
|
1035
|
+
"job": "api 🧾 sbom | review ",
|
|
1036
|
+
},
|
|
1047
1037
|
{
|
|
1048
1038
|
"artifacts": false,
|
|
1049
1039
|
"job": "api 🛡 audit",
|
|
@@ -1068,6 +1058,8 @@ COPY --chown=node:node .yarn /app/.yarn",
|
|
|
1068
1058
|
"kubectl config use-context "kube-pan-test-app-review-mr1234-api"",
|
|
1069
1059
|
"kubernetesCreateSecret",
|
|
1070
1060
|
"kubernetesDeploy",
|
|
1061
|
+
"echo Uploading SBOM to Dependency Track",
|
|
1062
|
+
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "https://api.mr1234.review.test-app.pan.panter.cloud" "__sbom.json" vex.json || true",
|
|
1071
1063
|
"echo deployment successful 😻",
|
|
1072
1064
|
],
|
|
1073
1065
|
"stage": "deploy review",
|
|
@@ -1183,6 +1175,8 @@ application:
|
|
|
1183
1175
|
"kubectl config set-context "kube-pan-test-app-review-mr1234-api" --cluster="kube-pan-test-app-review-mr1234-api" --user="kube-pan-test-app-review-mr1234-api" --namespace="pan-test-app-review"",
|
|
1184
1176
|
"kubectl config use-context "kube-pan-test-app-review-mr1234-api"",
|
|
1185
1177
|
"kubernetesDelete",
|
|
1178
|
+
"echo Disabling component in Dependency Track",
|
|
1179
|
+
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/api" "https://api.mr1234.review.test-app.pan.panter.cloud" || true",
|
|
1186
1180
|
],
|
|
1187
1181
|
"stage": "stop review",
|
|
1188
1182
|
"variables": {
|
|
@@ -1324,26 +1318,6 @@ application:
|
|
|
1324
1318
|
"KUBERNETES_MEMORY_REQUEST": "2Gi",
|
|
1325
1319
|
},
|
|
1326
1320
|
},
|
|
1327
|
-
"api 🧾 sbom upload | review ": {
|
|
1328
|
-
"allow_failure": true,
|
|
1329
|
-
"image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
|
|
1330
|
-
"interruptible": true,
|
|
1331
|
-
"needs": [
|
|
1332
|
-
"api 🧾 sbom | review ",
|
|
1333
|
-
],
|
|
1334
|
-
"retry": {
|
|
1335
|
-
"max": 2,
|
|
1336
|
-
"when": [
|
|
1337
|
-
"runner_system_failure",
|
|
1338
|
-
"stuck_or_timeout_failure",
|
|
1339
|
-
],
|
|
1340
|
-
},
|
|
1341
|
-
"script": [
|
|
1342
|
-
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "review" "__sbom.json" vex.json",
|
|
1343
|
-
],
|
|
1344
|
-
"stage": "verify",
|
|
1345
|
-
"variables": {},
|
|
1346
|
-
},
|
|
1347
1321
|
"api 🧾 sbom | review ": {
|
|
1348
1322
|
"allow_failure": true,
|
|
1349
1323
|
"artifacts": {
|
|
@@ -1353,9 +1327,7 @@ application:
|
|
|
1353
1327
|
},
|
|
1354
1328
|
"image": "aquasec/trivy:0.38.3",
|
|
1355
1329
|
"interruptible": true,
|
|
1356
|
-
"needs": [
|
|
1357
|
-
"api 🚀 Deploy | review ",
|
|
1358
|
-
],
|
|
1330
|
+
"needs": [],
|
|
1359
1331
|
"retry": {
|
|
1360
1332
|
"max": 2,
|
|
1361
1333
|
"when": [
|
|
@@ -1366,7 +1338,7 @@ application:
|
|
|
1366
1338
|
"script": [
|
|
1367
1339
|
"trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
|
|
1368
1340
|
],
|
|
1369
|
-
"stage": "
|
|
1341
|
+
"stage": "build",
|
|
1370
1342
|
"variables": {},
|
|
1371
1343
|
},
|
|
1372
1344
|
},
|
|
@@ -1959,6 +1931,10 @@ COPY --chown=node:node .yarn /app/.yarn",
|
|
|
1959
1931
|
"artifacts": false,
|
|
1960
1932
|
"job": "api 🔨 docker | prod ",
|
|
1961
1933
|
},
|
|
1934
|
+
{
|
|
1935
|
+
"artifacts": true,
|
|
1936
|
+
"job": "api 🧾 sbom | prod ",
|
|
1937
|
+
},
|
|
1962
1938
|
],
|
|
1963
1939
|
"retry": {
|
|
1964
1940
|
"max": 2,
|
|
@@ -1979,6 +1955,8 @@ COPY --chown=node:node .yarn /app/.yarn",
|
|
|
1979
1955
|
"kubectl config use-context "kube-pan-test-app-prod-api"",
|
|
1980
1956
|
"kubernetesCreateSecret",
|
|
1981
1957
|
"kubernetesDeploy",
|
|
1958
|
+
"echo Uploading SBOM to Dependency Track",
|
|
1959
|
+
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "https://api.prod.test-app.pan.panter.cloud" "__sbom.json" vex.json || true",
|
|
1982
1960
|
"echo deployment successful 😻",
|
|
1983
1961
|
],
|
|
1984
1962
|
"stage": "deploy prod",
|
|
@@ -2080,6 +2058,10 @@ application:
|
|
|
2080
2058
|
"artifacts": false,
|
|
2081
2059
|
"job": "api 🔨 docker | stage ",
|
|
2082
2060
|
},
|
|
2061
|
+
{
|
|
2062
|
+
"artifacts": true,
|
|
2063
|
+
"job": "api 🧾 sbom | stage ",
|
|
2064
|
+
},
|
|
2083
2065
|
],
|
|
2084
2066
|
"retry": {
|
|
2085
2067
|
"max": 2,
|
|
@@ -2100,6 +2082,8 @@ application:
|
|
|
2100
2082
|
"kubectl config use-context "kube-pan-test-app-stage-api"",
|
|
2101
2083
|
"kubernetesCreateSecret",
|
|
2102
2084
|
"kubernetesDeploy",
|
|
2085
|
+
"echo Uploading SBOM to Dependency Track",
|
|
2086
|
+
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "https://api.stage.test-app.pan.panter.cloud" "__sbom.json" vex.json || true",
|
|
2103
2087
|
"echo deployment successful 😻",
|
|
2104
2088
|
],
|
|
2105
2089
|
"stage": "deploy stage",
|
|
@@ -2215,6 +2199,8 @@ application:
|
|
|
2215
2199
|
"kubectl config set-context "kube-pan-test-app-prod-api" --cluster="kube-pan-test-app-prod-api" --user="kube-pan-test-app-prod-api" --namespace="pan-test-app-prod"",
|
|
2216
2200
|
"kubectl config use-context "kube-pan-test-app-prod-api"",
|
|
2217
2201
|
"kubernetesDelete",
|
|
2202
|
+
"echo Disabling component in Dependency Track",
|
|
2203
|
+
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/api" "https://api.prod.test-app.pan.panter.cloud" || true",
|
|
2218
2204
|
],
|
|
2219
2205
|
"stage": "stop prod",
|
|
2220
2206
|
"variables": {
|
|
@@ -2324,6 +2310,8 @@ application:
|
|
|
2324
2310
|
"kubectl config set-context "kube-pan-test-app-stage-api" --cluster="kube-pan-test-app-stage-api" --user="kube-pan-test-app-stage-api" --namespace="pan-test-app-stage"",
|
|
2325
2311
|
"kubectl config use-context "kube-pan-test-app-stage-api"",
|
|
2326
2312
|
"kubernetesDelete",
|
|
2313
|
+
"echo Disabling component in Dependency Track",
|
|
2314
|
+
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/api" "https://api.stage.test-app.pan.panter.cloud" || true",
|
|
2327
2315
|
],
|
|
2328
2316
|
"stage": "stop stage",
|
|
2329
2317
|
"variables": {
|
|
@@ -2397,46 +2385,6 @@ application:
|
|
|
2397
2385
|
"_ALL_ENV_VAR_KEYS": "["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INFO_BUILD_TIME","BUILD_INFO_CURRENT_VERSION","HOST","ROOT_URL","KUBE_NAMESPACE","KUBE_APP_NAME","KUBE_APP_NAME_PREFIX","HOST_CANONICAL"]",
|
|
2398
2386
|
},
|
|
2399
2387
|
},
|
|
2400
|
-
"api 🧾 sbom upload | prod ": {
|
|
2401
|
-
"allow_failure": true,
|
|
2402
|
-
"image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
|
|
2403
|
-
"interruptible": true,
|
|
2404
|
-
"needs": [
|
|
2405
|
-
"api 🧾 sbom | prod ",
|
|
2406
|
-
],
|
|
2407
|
-
"retry": {
|
|
2408
|
-
"max": 2,
|
|
2409
|
-
"when": [
|
|
2410
|
-
"runner_system_failure",
|
|
2411
|
-
"stuck_or_timeout_failure",
|
|
2412
|
-
],
|
|
2413
|
-
},
|
|
2414
|
-
"script": [
|
|
2415
|
-
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "prod" "__sbom.json" vex.json",
|
|
2416
|
-
],
|
|
2417
|
-
"stage": "verify",
|
|
2418
|
-
"variables": {},
|
|
2419
|
-
},
|
|
2420
|
-
"api 🧾 sbom upload | stage ": {
|
|
2421
|
-
"allow_failure": true,
|
|
2422
|
-
"image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
|
|
2423
|
-
"interruptible": true,
|
|
2424
|
-
"needs": [
|
|
2425
|
-
"api 🧾 sbom | stage ",
|
|
2426
|
-
],
|
|
2427
|
-
"retry": {
|
|
2428
|
-
"max": 2,
|
|
2429
|
-
"when": [
|
|
2430
|
-
"runner_system_failure",
|
|
2431
|
-
"stuck_or_timeout_failure",
|
|
2432
|
-
],
|
|
2433
|
-
},
|
|
2434
|
-
"script": [
|
|
2435
|
-
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "stage" "__sbom.json" vex.json",
|
|
2436
|
-
],
|
|
2437
|
-
"stage": "verify",
|
|
2438
|
-
"variables": {},
|
|
2439
|
-
},
|
|
2440
2388
|
"api 🧾 sbom | prod ": {
|
|
2441
2389
|
"allow_failure": true,
|
|
2442
2390
|
"artifacts": {
|
|
@@ -2446,9 +2394,7 @@ application:
|
|
|
2446
2394
|
},
|
|
2447
2395
|
"image": "aquasec/trivy:0.38.3",
|
|
2448
2396
|
"interruptible": true,
|
|
2449
|
-
"needs": [
|
|
2450
|
-
"api 🚀 Deploy | prod ",
|
|
2451
|
-
],
|
|
2397
|
+
"needs": [],
|
|
2452
2398
|
"retry": {
|
|
2453
2399
|
"max": 2,
|
|
2454
2400
|
"when": [
|
|
@@ -2459,7 +2405,7 @@ application:
|
|
|
2459
2405
|
"script": [
|
|
2460
2406
|
"trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
|
|
2461
2407
|
],
|
|
2462
|
-
"stage": "
|
|
2408
|
+
"stage": "build",
|
|
2463
2409
|
"variables": {},
|
|
2464
2410
|
},
|
|
2465
2411
|
"api 🧾 sbom | stage ": {
|
|
@@ -2471,9 +2417,7 @@ application:
|
|
|
2471
2417
|
},
|
|
2472
2418
|
"image": "aquasec/trivy:0.38.3",
|
|
2473
2419
|
"interruptible": true,
|
|
2474
|
-
"needs": [
|
|
2475
|
-
"api 🚀 Deploy | stage ",
|
|
2476
|
-
],
|
|
2420
|
+
"needs": [],
|
|
2477
2421
|
"retry": {
|
|
2478
2422
|
"max": 2,
|
|
2479
2423
|
"when": [
|
|
@@ -2484,7 +2428,7 @@ application:
|
|
|
2484
2428
|
"script": [
|
|
2485
2429
|
"trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
|
|
2486
2430
|
],
|
|
2487
|
-
"stage": "
|
|
2431
|
+
"stage": "build",
|
|
2488
2432
|
"variables": {},
|
|
2489
2433
|
},
|
|
2490
2434
|
},
|