@catladder/pipeline 1.110.1 โ†’ 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.
Files changed (69) hide show
  1. package/dist/build/base/__tests__/createArtifactsConfig.test.d.ts +1 -0
  2. package/dist/build/base/__tests__/createArtifactsConfig.test.js +40 -0
  3. package/dist/build/base/createArtifactsConfig.d.ts +4 -0
  4. package/dist/build/base/createArtifactsConfig.js +63 -0
  5. package/dist/build/custom/__tests__/testJob.test.d.ts +1 -0
  6. package/dist/build/custom/__tests__/testJob.test.js +37 -0
  7. package/dist/build/custom/buildJob.js +4 -2
  8. package/dist/build/custom/testJob.d.ts +5 -1
  9. package/dist/build/custom/testJob.js +10 -23
  10. package/dist/build/node/buildJob.js +4 -2
  11. package/dist/build/node/testJob.js +12 -11
  12. package/dist/build/rails/build.js +13 -2
  13. package/dist/build/sbom.d.ts +5 -0
  14. package/dist/build/sbom.js +29 -0
  15. package/dist/build/types.d.ts +39 -40
  16. package/dist/bundles/catladder-gitlab/index.js +3 -3
  17. package/dist/constants.js +1 -1
  18. package/dist/deploy/base.js +38 -2
  19. package/dist/deploy/cloudRun/deployJob.js +5 -4
  20. package/dist/deploy/custom/deployJob.js +3 -2
  21. package/dist/deploy/kubernetes/deployJob.js +3 -2
  22. package/dist/deploy/sbom.d.ts +4 -0
  23. package/dist/deploy/sbom.js +17 -0
  24. package/dist/pipeline/createJobsForComponent.js +1 -3
  25. package/dist/pipeline/gitlab/createGitlabJobs.js +5 -2
  26. package/dist/tsconfig.tsbuildinfo +1 -1
  27. package/dist/types/gitlab-types.d.ts +13 -22
  28. package/examples/__snapshots__/cloud-run-memory-limit.ts.snap +40 -96
  29. package/examples/__snapshots__/cloud-run-no-cpu-throttling.ts.snap +40 -96
  30. package/examples/__snapshots__/cloud-run-non-public.ts.snap +40 -96
  31. package/examples/__snapshots__/cloud-run-with-sql-reuse-db.ts.snap +80 -192
  32. package/examples/__snapshots__/cloud-run-with-sql.ts.snap +80 -192
  33. package/examples/__snapshots__/custom-build-job-with-tests.ts.snap +40 -96
  34. package/examples/__snapshots__/custom-build-job.ts.snap +40 -96
  35. package/examples/__snapshots__/custom-deploy.ts.snap +40 -96
  36. package/examples/__snapshots__/custom-envs.ts.snap +6 -126
  37. package/examples/__snapshots__/custom-sbom-java.ts.snap +40 -96
  38. package/examples/__snapshots__/kubernetes-application-customization.ts.snap +40 -96
  39. package/examples/__snapshots__/kubernetes-with-cloud-sql-legacy.ts.snap +40 -96
  40. package/examples/__snapshots__/kubernetes-with-cloud-sql.ts.snap +40 -96
  41. package/examples/__snapshots__/kubernetes-with-jobs.ts.snap +80 -192
  42. package/examples/__snapshots__/kubernetes-with-mongodb.ts.snap +40 -96
  43. package/examples/__snapshots__/native-app.ts.snap +72 -192
  44. package/examples/__snapshots__/node-build-with-custom-image.ts.snap +40 -96
  45. package/examples/__snapshots__/rails-k8s-with-worker.ts.snap +40 -96
  46. package/examples/__snapshots__/wait-for-other-deploy.ts.snap +64 -192
  47. package/package.json +1 -1
  48. package/src/build/base/__tests__/__snapshots__/createArtifactsConfig.test.ts.snap +49 -0
  49. package/src/build/base/__tests__/createArtifactsConfig.test.ts +41 -0
  50. package/src/build/base/createArtifactsConfig.ts +34 -0
  51. package/src/build/custom/__tests__/testJob.test.ts +32 -0
  52. package/src/build/custom/buildJob.ts +3 -0
  53. package/src/build/custom/testJob.ts +8 -21
  54. package/src/build/node/buildJob.ts +3 -0
  55. package/src/build/node/testJob.ts +16 -0
  56. package/src/build/rails/build.ts +3 -0
  57. package/src/build/sbom.ts +43 -0
  58. package/src/build/types.ts +45 -46
  59. package/src/deploy/base.ts +14 -7
  60. package/src/deploy/cloudRun/deployJob.ts +6 -0
  61. package/src/deploy/custom/deployJob.ts +9 -1
  62. package/src/deploy/kubernetes/deployJob.ts +10 -1
  63. package/src/deploy/sbom.ts +24 -0
  64. package/src/pipeline/createJobsForComponent.ts +1 -3
  65. package/src/pipeline/gitlab/createGitlabJobs.ts +6 -2
  66. package/src/types/gitlab-types.ts +12 -12
  67. package/dist/verify/reporting.d.ts +0 -3
  68. package/dist/verify/reporting.js +0 -48
  69. 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": "verify",
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": "verify",
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": "verify",
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": "verify",
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": "verify",
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": "verify",
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": "verify",
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": "verify",
2431
+ "stage": "build",
2488
2432
  "variables": {},
2489
2433
  },
2490
2434
  },