@catladder/pipeline 1.110.2 → 1.111.0

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 (50) hide show
  1. package/dist/build/custom/buildJob.js +4 -2
  2. package/dist/build/node/buildJob.js +4 -2
  3. package/dist/build/rails/build.js +13 -2
  4. package/dist/build/sbom.d.ts +5 -0
  5. package/dist/build/sbom.js +29 -0
  6. package/dist/bundles/catladder-gitlab/index.js +3 -3
  7. package/dist/constants.js +1 -1
  8. package/dist/deploy/base.js +38 -2
  9. package/dist/deploy/cloudRun/deployJob.js +5 -4
  10. package/dist/deploy/custom/deployJob.js +3 -2
  11. package/dist/deploy/kubernetes/deployJob.js +3 -2
  12. package/dist/deploy/sbom.d.ts +4 -0
  13. package/dist/deploy/sbom.js +17 -0
  14. package/dist/pipeline/createJobsForComponent.js +1 -3
  15. package/dist/pipeline/gitlab/createGitlabJobs.js +5 -2
  16. package/dist/tsconfig.tsbuildinfo +1 -1
  17. package/examples/__snapshots__/cloud-run-memory-limit.ts.snap +40 -96
  18. package/examples/__snapshots__/cloud-run-no-cpu-throttling.ts.snap +40 -96
  19. package/examples/__snapshots__/cloud-run-non-public.ts.snap +40 -96
  20. package/examples/__snapshots__/cloud-run-with-sql-reuse-db.ts.snap +80 -192
  21. package/examples/__snapshots__/cloud-run-with-sql.ts.snap +80 -192
  22. package/examples/__snapshots__/custom-build-job-with-tests.ts.snap +40 -96
  23. package/examples/__snapshots__/custom-build-job.ts.snap +40 -96
  24. package/examples/__snapshots__/custom-deploy.ts.snap +40 -96
  25. package/examples/__snapshots__/custom-envs.ts.snap +6 -126
  26. package/examples/__snapshots__/custom-sbom-java.ts.snap +40 -96
  27. package/examples/__snapshots__/kubernetes-application-customization.ts.snap +40 -96
  28. package/examples/__snapshots__/kubernetes-with-cloud-sql-legacy.ts.snap +40 -96
  29. package/examples/__snapshots__/kubernetes-with-cloud-sql.ts.snap +40 -96
  30. package/examples/__snapshots__/kubernetes-with-jobs.ts.snap +80 -192
  31. package/examples/__snapshots__/kubernetes-with-mongodb.ts.snap +40 -96
  32. package/examples/__snapshots__/native-app.ts.snap +72 -192
  33. package/examples/__snapshots__/node-build-with-custom-image.ts.snap +40 -96
  34. package/examples/__snapshots__/rails-k8s-with-worker.ts.snap +40 -96
  35. package/examples/__snapshots__/wait-for-other-deploy.ts.snap +64 -192
  36. package/package.json +1 -1
  37. package/src/build/custom/buildJob.ts +3 -0
  38. package/src/build/node/buildJob.ts +3 -0
  39. package/src/build/rails/build.ts +3 -0
  40. package/src/build/sbom.ts +43 -0
  41. package/src/deploy/base.ts +14 -7
  42. package/src/deploy/cloudRun/deployJob.ts +6 -0
  43. package/src/deploy/custom/deployJob.ts +9 -1
  44. package/src/deploy/kubernetes/deployJob.ts +10 -1
  45. package/src/deploy/sbom.ts +24 -0
  46. package/src/pipeline/createJobsForComponent.ts +1 -3
  47. package/src/pipeline/gitlab/createGitlabJobs.ts +6 -2
  48. package/dist/verify/reporting.d.ts +0 -3
  49. package/dist/verify/reporting.js +0 -48
  50. package/src/verify/reporting.ts +0 -69
@@ -229,6 +229,10 @@ COPY --chown=node:node .yarn /app/.yarn",
229
229
  "artifacts": false,
230
230
  "job": "api 🧪 test",
231
231
  },
232
+ {
233
+ "artifacts": true,
234
+ "job": "api 🧾 sbom | dev ",
235
+ },
232
236
  {
233
237
  "artifacts": false,
234
238
  "job": "api 🛡 audit",
@@ -264,6 +268,8 @@ COPY --chown=node:node .yarn /app/.yarn",
264
268
  "set -e",
265
269
  "gcloud run deploy pan-test-app-dev-api --command="yarn,start" --image=europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG --project=google-project-id --region=europe-west6 --set-cloudsql-instances=projectId:region:instancename --labels=customer-name=pan,app-name=test-app,env-type=dev,env-name=dev,build-type=node --env-vars-file=____envvars.yaml --min-instances=0 --max-instances=100 --cpu-throttling --allow-unauthenticated --cpu-boost",
266
270
  "docker image rm europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG",
271
+ "echo Uploading SBOM to Dependency Track",
272
+ "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "https://pan-test-app-dev-api-unknown-host.example.com" "__sbom.json" vex.json || true",
267
273
  ],
268
274
  "services": [
269
275
  {
@@ -361,6 +367,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
361
367
  ",
362
368
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
363
369
  "gcloud run services delete pan-test-app-dev-api --project=google-project-id --region=europe-west6",
370
+ "echo Disabling component in Dependency Track",
371
+ "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/api" "https://pan-test-app-dev-api-unknown-host.example.com" || true",
364
372
  "set -e",
365
373
  ],
366
374
  "stage": "stop dev",
@@ -441,26 +449,6 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
441
449
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
442
450
  },
443
451
  },
444
- "api 🧾 sbom upload | dev ": {
445
- "allow_failure": true,
446
- "image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
447
- "interruptible": true,
448
- "needs": [
449
- "api 🧾 sbom | dev ",
450
- ],
451
- "retry": {
452
- "max": 2,
453
- "when": [
454
- "runner_system_failure",
455
- "stuck_or_timeout_failure",
456
- ],
457
- },
458
- "script": [
459
- "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "dev" "__sbom.json" vex.json",
460
- ],
461
- "stage": "verify",
462
- "variables": {},
463
- },
464
452
  "api 🧾 sbom | dev ": {
465
453
  "allow_failure": true,
466
454
  "artifacts": {
@@ -470,9 +458,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
470
458
  },
471
459
  "image": "aquasec/trivy:0.38.3",
472
460
  "interruptible": true,
473
- "needs": [
474
- "api 🚀 Deploy | dev ",
475
- ],
461
+ "needs": [],
476
462
  "retry": {
477
463
  "max": 2,
478
464
  "when": [
@@ -483,7 +469,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
483
469
  "script": [
484
470
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
485
471
  ],
486
- "stage": "verify",
472
+ "stage": "build",
487
473
  "variables": {},
488
474
  },
489
475
  "worker 👮 lint": {
@@ -710,6 +696,10 @@ COPY --chown=node:node .yarn /app/.yarn",
710
696
  "artifacts": false,
711
697
  "job": "worker 🧪 test",
712
698
  },
699
+ {
700
+ "artifacts": true,
701
+ "job": "worker 🧾 sbom | dev ",
702
+ },
713
703
  {
714
704
  "artifacts": false,
715
705
  "job": "worker 🛡 audit",
@@ -745,6 +735,8 @@ COPY --chown=node:node .yarn /app/.yarn",
745
735
  "set -e",
746
736
  "gcloud run deploy pan-test-app-dev-worker --command="yarn,start" --image=europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG --project=google-project-id --region=europe-west6 --set-cloudsql-instances=projectId:region:instancename --labels=customer-name=pan,app-name=test-app,env-type=dev,env-name=dev,build-type=node --env-vars-file=____envvars.yaml --min-instances=0 --max-instances=100 --cpu-throttling --allow-unauthenticated --cpu-boost",
747
737
  "docker image rm europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG",
738
+ "echo Uploading SBOM to Dependency Track",
739
+ "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/worker" "https://pan-test-app-dev-worker-unknown-host.example.com" "__sbom.json" vex.json || true",
748
740
  ],
749
741
  "services": [
750
742
  {
@@ -842,6 +834,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
842
834
  ",
843
835
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
844
836
  "gcloud run services delete pan-test-app-dev-worker --project=google-project-id --region=europe-west6",
837
+ "echo Disabling component in Dependency Track",
838
+ "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/worker" "https://pan-test-app-dev-worker-unknown-host.example.com" || true",
845
839
  "set -e",
846
840
  ],
847
841
  "stage": "stop dev",
@@ -922,26 +916,6 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
922
916
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
923
917
  },
924
918
  },
925
- "worker 🧾 sbom upload | dev ": {
926
- "allow_failure": true,
927
- "image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
928
- "interruptible": true,
929
- "needs": [
930
- "worker 🧾 sbom | dev ",
931
- ],
932
- "retry": {
933
- "max": 2,
934
- "when": [
935
- "runner_system_failure",
936
- "stuck_or_timeout_failure",
937
- ],
938
- },
939
- "script": [
940
- "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/worker" "dev" "__sbom.json" vex.json",
941
- ],
942
- "stage": "verify",
943
- "variables": {},
944
- },
945
919
  "worker 🧾 sbom | dev ": {
946
920
  "allow_failure": true,
947
921
  "artifacts": {
@@ -951,9 +925,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
951
925
  },
952
926
  "image": "aquasec/trivy:0.38.3",
953
927
  "interruptible": true,
954
- "needs": [
955
- "worker 🚀 Deploy | dev ",
956
- ],
928
+ "needs": [],
957
929
  "retry": {
958
930
  "max": 2,
959
931
  "when": [
@@ -964,7 +936,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
964
936
  "script": [
965
937
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
966
938
  ],
967
- "stage": "verify",
939
+ "stage": "build",
968
940
  "variables": {},
969
941
  },
970
942
  },
@@ -1263,6 +1235,10 @@ COPY --chown=node:node .yarn /app/.yarn",
1263
1235
  "artifacts": false,
1264
1236
  "job": "api 🧪 test",
1265
1237
  },
1238
+ {
1239
+ "artifacts": true,
1240
+ "job": "api 🧾 sbom | review ",
1241
+ },
1266
1242
  {
1267
1243
  "artifacts": false,
1268
1244
  "job": "api 🛡 audit",
@@ -1298,6 +1274,8 @@ COPY --chown=node:node .yarn /app/.yarn",
1298
1274
  "set -e",
1299
1275
  "gcloud run deploy pan-test-app-review-mr1234-api --command="yarn,start" --image=europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG --project=google-project-id --region=europe-west6 --set-cloudsql-instances=projectId:region:instancename --labels=customer-name=pan,app-name=test-app,env-type=review,env-name=review,build-type=node --env-vars-file=____envvars.yaml --min-instances=0 --max-instances=100 --cpu-throttling --allow-unauthenticated --cpu-boost",
1300
1276
  "docker image rm europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG",
1277
+ "echo Uploading SBOM to Dependency Track",
1278
+ "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "https://pan-test-app-review-mr1234-api-unknown-host.example.com" "__sbom.json" vex.json || true",
1301
1279
  ],
1302
1280
  "services": [
1303
1281
  {
@@ -1404,6 +1382,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
1404
1382
  sleep 10
1405
1383
  done
1406
1384
  ",
1385
+ "echo Disabling component in Dependency Track",
1386
+ "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/api" "https://pan-test-app-review-mr1234-api-unknown-host.example.com" || true",
1407
1387
  "set -e",
1408
1388
  ],
1409
1389
  "stage": "stop review",
@@ -1484,26 +1464,6 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
1484
1464
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
1485
1465
  },
1486
1466
  },
1487
- "api 🧾 sbom upload | review ": {
1488
- "allow_failure": true,
1489
- "image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
1490
- "interruptible": true,
1491
- "needs": [
1492
- "api 🧾 sbom | review ",
1493
- ],
1494
- "retry": {
1495
- "max": 2,
1496
- "when": [
1497
- "runner_system_failure",
1498
- "stuck_or_timeout_failure",
1499
- ],
1500
- },
1501
- "script": [
1502
- "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "review" "__sbom.json" vex.json",
1503
- ],
1504
- "stage": "verify",
1505
- "variables": {},
1506
- },
1507
1467
  "api 🧾 sbom | review ": {
1508
1468
  "allow_failure": true,
1509
1469
  "artifacts": {
@@ -1513,9 +1473,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
1513
1473
  },
1514
1474
  "image": "aquasec/trivy:0.38.3",
1515
1475
  "interruptible": true,
1516
- "needs": [
1517
- "api 🚀 Deploy | review ",
1518
- ],
1476
+ "needs": [],
1519
1477
  "retry": {
1520
1478
  "max": 2,
1521
1479
  "when": [
@@ -1526,7 +1484,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
1526
1484
  "script": [
1527
1485
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
1528
1486
  ],
1529
- "stage": "verify",
1487
+ "stage": "build",
1530
1488
  "variables": {},
1531
1489
  },
1532
1490
  "worker 👮 lint": {
@@ -1753,6 +1711,10 @@ COPY --chown=node:node .yarn /app/.yarn",
1753
1711
  "artifacts": false,
1754
1712
  "job": "worker 🧪 test",
1755
1713
  },
1714
+ {
1715
+ "artifacts": true,
1716
+ "job": "worker 🧾 sbom | review ",
1717
+ },
1756
1718
  {
1757
1719
  "artifacts": false,
1758
1720
  "job": "worker 🛡 audit",
@@ -1788,6 +1750,8 @@ COPY --chown=node:node .yarn /app/.yarn",
1788
1750
  "set -e",
1789
1751
  "gcloud run deploy pan-test-app-review-mr1234-worker --command="yarn,start" --image=europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG --project=google-project-id --region=europe-west6 --set-cloudsql-instances=projectId:region:instancename --labels=customer-name=pan,app-name=test-app,env-type=review,env-name=review,build-type=node --env-vars-file=____envvars.yaml --min-instances=0 --max-instances=100 --cpu-throttling --allow-unauthenticated --cpu-boost",
1790
1752
  "docker image rm europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG",
1753
+ "echo Uploading SBOM to Dependency Track",
1754
+ "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/worker" "https://pan-test-app-review-mr1234-worker-unknown-host.example.com" "__sbom.json" vex.json || true",
1791
1755
  ],
1792
1756
  "services": [
1793
1757
  {
@@ -1894,6 +1858,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
1894
1858
  sleep 10
1895
1859
  done
1896
1860
  ",
1861
+ "echo Disabling component in Dependency Track",
1862
+ "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/worker" "https://pan-test-app-review-mr1234-worker-unknown-host.example.com" || true",
1897
1863
  "set -e",
1898
1864
  ],
1899
1865
  "stage": "stop review",
@@ -1974,26 +1940,6 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
1974
1940
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
1975
1941
  },
1976
1942
  },
1977
- "worker 🧾 sbom upload | review ": {
1978
- "allow_failure": true,
1979
- "image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
1980
- "interruptible": true,
1981
- "needs": [
1982
- "worker 🧾 sbom | review ",
1983
- ],
1984
- "retry": {
1985
- "max": 2,
1986
- "when": [
1987
- "runner_system_failure",
1988
- "stuck_or_timeout_failure",
1989
- ],
1990
- },
1991
- "script": [
1992
- "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/worker" "review" "__sbom.json" vex.json",
1993
- ],
1994
- "stage": "verify",
1995
- "variables": {},
1996
- },
1997
1943
  "worker 🧾 sbom | review ": {
1998
1944
  "allow_failure": true,
1999
1945
  "artifacts": {
@@ -2003,9 +1949,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
2003
1949
  },
2004
1950
  "image": "aquasec/trivy:0.38.3",
2005
1951
  "interruptible": true,
2006
- "needs": [
2007
- "worker 🚀 Deploy | review ",
2008
- ],
1952
+ "needs": [],
2009
1953
  "retry": {
2010
1954
  "max": 2,
2011
1955
  "when": [
@@ -2016,7 +1960,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
2016
1960
  "script": [
2017
1961
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
2018
1962
  ],
2019
- "stage": "verify",
1963
+ "stage": "build",
2020
1964
  "variables": {},
2021
1965
  },
2022
1966
  },
@@ -2413,6 +2357,10 @@ COPY --chown=node:node .yarn /app/.yarn",
2413
2357
  "artifacts": false,
2414
2358
  "job": "api 🔨 docker | prod ",
2415
2359
  },
2360
+ {
2361
+ "artifacts": true,
2362
+ "job": "api 🧾 sbom | prod ",
2363
+ },
2416
2364
  ],
2417
2365
  "retry": {
2418
2366
  "max": 2,
@@ -2444,6 +2392,8 @@ COPY --chown=node:node .yarn /app/.yarn",
2444
2392
  "set -e",
2445
2393
  "gcloud run deploy pan-test-app-prod-api --command="yarn,start" --image=europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG --project=google-project-id --region=europe-west6 --set-cloudsql-instances=projectId:region:instancename --labels=customer-name=pan,app-name=test-app,env-type=prod,env-name=prod,build-type=node --env-vars-file=____envvars.yaml --min-instances=0 --max-instances=100 --cpu-throttling --allow-unauthenticated --cpu-boost",
2446
2394
  "docker image rm europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG",
2395
+ "echo Uploading SBOM to Dependency Track",
2396
+ "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "https://pan-test-app-prod-api-unknown-host.example.com" "__sbom.json" vex.json || true",
2447
2397
  ],
2448
2398
  "services": [
2449
2399
  {
@@ -2532,6 +2482,10 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
2532
2482
  "artifacts": false,
2533
2483
  "job": "api 🔨 docker | stage ",
2534
2484
  },
2485
+ {
2486
+ "artifacts": true,
2487
+ "job": "api 🧾 sbom | stage ",
2488
+ },
2535
2489
  ],
2536
2490
  "retry": {
2537
2491
  "max": 2,
@@ -2563,6 +2517,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
2563
2517
  "set -e",
2564
2518
  "gcloud run deploy pan-test-app-stage-api --command="yarn,start" --image=europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG --project=google-project-id --region=europe-west6 --set-cloudsql-instances=projectId:region:instancename --labels=customer-name=pan,app-name=test-app,env-type=stage,env-name=stage,build-type=node --env-vars-file=____envvars.yaml --min-instances=0 --max-instances=100 --cpu-throttling --allow-unauthenticated --cpu-boost",
2565
2519
  "docker image rm europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG",
2520
+ "echo Uploading SBOM to Dependency Track",
2521
+ "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "https://pan-test-app-stage-api-unknown-host.example.com" "__sbom.json" vex.json || true",
2566
2522
  ],
2567
2523
  "services": [
2568
2524
  {
@@ -2660,6 +2616,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
2660
2616
  ",
2661
2617
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
2662
2618
  "gcloud run services delete pan-test-app-prod-api --project=google-project-id --region=europe-west6",
2619
+ "echo Disabling component in Dependency Track",
2620
+ "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/api" "https://pan-test-app-prod-api-unknown-host.example.com" || true",
2663
2621
  "set -e",
2664
2622
  ],
2665
2623
  "stage": "stop prod",
@@ -2705,6 +2663,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
2705
2663
  ",
2706
2664
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
2707
2665
  "gcloud run services delete pan-test-app-stage-api --project=google-project-id --region=europe-west6",
2666
+ "echo Disabling component in Dependency Track",
2667
+ "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/api" "https://pan-test-app-stage-api-unknown-host.example.com" || true",
2708
2668
  "set -e",
2709
2669
  ],
2710
2670
  "stage": "stop stage",
@@ -2717,46 +2677,6 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
2717
2677
  "KUBERNETES_MEMORY_REQUEST": "200Mi",
2718
2678
  },
2719
2679
  },
2720
- "api 🧾 sbom upload | prod ": {
2721
- "allow_failure": true,
2722
- "image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
2723
- "interruptible": true,
2724
- "needs": [
2725
- "api 🧾 sbom | prod ",
2726
- ],
2727
- "retry": {
2728
- "max": 2,
2729
- "when": [
2730
- "runner_system_failure",
2731
- "stuck_or_timeout_failure",
2732
- ],
2733
- },
2734
- "script": [
2735
- "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "prod" "__sbom.json" vex.json",
2736
- ],
2737
- "stage": "verify",
2738
- "variables": {},
2739
- },
2740
- "api 🧾 sbom upload | stage ": {
2741
- "allow_failure": true,
2742
- "image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
2743
- "interruptible": true,
2744
- "needs": [
2745
- "api 🧾 sbom | stage ",
2746
- ],
2747
- "retry": {
2748
- "max": 2,
2749
- "when": [
2750
- "runner_system_failure",
2751
- "stuck_or_timeout_failure",
2752
- ],
2753
- },
2754
- "script": [
2755
- "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "stage" "__sbom.json" vex.json",
2756
- ],
2757
- "stage": "verify",
2758
- "variables": {},
2759
- },
2760
2680
  "api 🧾 sbom | prod ": {
2761
2681
  "allow_failure": true,
2762
2682
  "artifacts": {
@@ -2766,9 +2686,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
2766
2686
  },
2767
2687
  "image": "aquasec/trivy:0.38.3",
2768
2688
  "interruptible": true,
2769
- "needs": [
2770
- "api 🚀 Deploy | prod ",
2771
- ],
2689
+ "needs": [],
2772
2690
  "retry": {
2773
2691
  "max": 2,
2774
2692
  "when": [
@@ -2779,7 +2697,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
2779
2697
  "script": [
2780
2698
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
2781
2699
  ],
2782
- "stage": "verify",
2700
+ "stage": "build",
2783
2701
  "variables": {},
2784
2702
  },
2785
2703
  "api 🧾 sbom | stage ": {
@@ -2791,9 +2709,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
2791
2709
  },
2792
2710
  "image": "aquasec/trivy:0.38.3",
2793
2711
  "interruptible": true,
2794
- "needs": [
2795
- "api 🚀 Deploy | stage ",
2796
- ],
2712
+ "needs": [],
2797
2713
  "retry": {
2798
2714
  "max": 2,
2799
2715
  "when": [
@@ -2804,7 +2720,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
2804
2720
  "script": [
2805
2721
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
2806
2722
  ],
2807
- "stage": "verify",
2723
+ "stage": "build",
2808
2724
  "variables": {},
2809
2725
  },
2810
2726
  "worker 🔨 app | prod ": {
@@ -3129,6 +3045,10 @@ COPY --chown=node:node .yarn /app/.yarn",
3129
3045
  "artifacts": false,
3130
3046
  "job": "worker 🔨 docker | prod ",
3131
3047
  },
3048
+ {
3049
+ "artifacts": true,
3050
+ "job": "worker 🧾 sbom | prod ",
3051
+ },
3132
3052
  ],
3133
3053
  "retry": {
3134
3054
  "max": 2,
@@ -3160,6 +3080,8 @@ COPY --chown=node:node .yarn /app/.yarn",
3160
3080
  "set -e",
3161
3081
  "gcloud run deploy pan-test-app-prod-worker --command="yarn,start" --image=europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG --project=google-project-id --region=europe-west6 --set-cloudsql-instances=projectId:region:instancename --labels=customer-name=pan,app-name=test-app,env-type=prod,env-name=prod,build-type=node --env-vars-file=____envvars.yaml --min-instances=0 --max-instances=100 --cpu-throttling --allow-unauthenticated --cpu-boost",
3162
3082
  "docker image rm europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG",
3083
+ "echo Uploading SBOM to Dependency Track",
3084
+ "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/worker" "https://pan-test-app-prod-worker-unknown-host.example.com" "__sbom.json" vex.json || true",
3163
3085
  ],
3164
3086
  "services": [
3165
3087
  {
@@ -3248,6 +3170,10 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
3248
3170
  "artifacts": false,
3249
3171
  "job": "worker 🔨 docker | stage ",
3250
3172
  },
3173
+ {
3174
+ "artifacts": true,
3175
+ "job": "worker 🧾 sbom | stage ",
3176
+ },
3251
3177
  ],
3252
3178
  "retry": {
3253
3179
  "max": 2,
@@ -3279,6 +3205,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
3279
3205
  "set -e",
3280
3206
  "gcloud run deploy pan-test-app-stage-worker --command="yarn,start" --image=europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG --project=google-project-id --region=europe-west6 --set-cloudsql-instances=projectId:region:instancename --labels=customer-name=pan,app-name=test-app,env-type=stage,env-name=stage,build-type=node --env-vars-file=____envvars.yaml --min-instances=0 --max-instances=100 --cpu-throttling --allow-unauthenticated --cpu-boost",
3281
3207
  "docker image rm europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG",
3208
+ "echo Uploading SBOM to Dependency Track",
3209
+ "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/worker" "https://pan-test-app-stage-worker-unknown-host.example.com" "__sbom.json" vex.json || true",
3282
3210
  ],
3283
3211
  "services": [
3284
3212
  {
@@ -3376,6 +3304,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
3376
3304
  ",
3377
3305
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
3378
3306
  "gcloud run services delete pan-test-app-prod-worker --project=google-project-id --region=europe-west6",
3307
+ "echo Disabling component in Dependency Track",
3308
+ "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/worker" "https://pan-test-app-prod-worker-unknown-host.example.com" || true",
3379
3309
  "set -e",
3380
3310
  ],
3381
3311
  "stage": "stop prod",
@@ -3421,6 +3351,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
3421
3351
  ",
3422
3352
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
3423
3353
  "gcloud run services delete pan-test-app-stage-worker --project=google-project-id --region=europe-west6",
3354
+ "echo Disabling component in Dependency Track",
3355
+ "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/worker" "https://pan-test-app-stage-worker-unknown-host.example.com" || true",
3424
3356
  "set -e",
3425
3357
  ],
3426
3358
  "stage": "stop stage",
@@ -3433,46 +3365,6 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
3433
3365
  "KUBERNETES_MEMORY_REQUEST": "200Mi",
3434
3366
  },
3435
3367
  },
3436
- "worker 🧾 sbom upload | prod ": {
3437
- "allow_failure": true,
3438
- "image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
3439
- "interruptible": true,
3440
- "needs": [
3441
- "worker 🧾 sbom | prod ",
3442
- ],
3443
- "retry": {
3444
- "max": 2,
3445
- "when": [
3446
- "runner_system_failure",
3447
- "stuck_or_timeout_failure",
3448
- ],
3449
- },
3450
- "script": [
3451
- "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/worker" "prod" "__sbom.json" vex.json",
3452
- ],
3453
- "stage": "verify",
3454
- "variables": {},
3455
- },
3456
- "worker 🧾 sbom upload | stage ": {
3457
- "allow_failure": true,
3458
- "image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
3459
- "interruptible": true,
3460
- "needs": [
3461
- "worker 🧾 sbom | stage ",
3462
- ],
3463
- "retry": {
3464
- "max": 2,
3465
- "when": [
3466
- "runner_system_failure",
3467
- "stuck_or_timeout_failure",
3468
- ],
3469
- },
3470
- "script": [
3471
- "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/worker" "stage" "__sbom.json" vex.json",
3472
- ],
3473
- "stage": "verify",
3474
- "variables": {},
3475
- },
3476
3368
  "worker 🧾 sbom | prod ": {
3477
3369
  "allow_failure": true,
3478
3370
  "artifacts": {
@@ -3482,9 +3374,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
3482
3374
  },
3483
3375
  "image": "aquasec/trivy:0.38.3",
3484
3376
  "interruptible": true,
3485
- "needs": [
3486
- "worker 🚀 Deploy | prod ",
3487
- ],
3377
+ "needs": [],
3488
3378
  "retry": {
3489
3379
  "max": 2,
3490
3380
  "when": [
@@ -3495,7 +3385,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
3495
3385
  "script": [
3496
3386
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
3497
3387
  ],
3498
- "stage": "verify",
3388
+ "stage": "build",
3499
3389
  "variables": {},
3500
3390
  },
3501
3391
  "worker 🧾 sbom | stage ": {
@@ -3507,9 +3397,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
3507
3397
  },
3508
3398
  "image": "aquasec/trivy:0.38.3",
3509
3399
  "interruptible": true,
3510
- "needs": [
3511
- "worker 🚀 Deploy | stage ",
3512
- ],
3400
+ "needs": [],
3513
3401
  "retry": {
3514
3402
  "max": 2,
3515
3403
  "when": [
@@ -3520,7 +3408,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
3520
3408
  "script": [
3521
3409
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
3522
3410
  ],
3523
- "stage": "verify",
3411
+ "stage": "build",
3524
3412
  "variables": {},
3525
3413
  },
3526
3414
  },