@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.
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
@@ -231,6 +231,10 @@ COPY --chown=node:node .yarn /app/.yarn",
231
231
  "artifacts": false,
232
232
  "job": "api 🧪 test",
233
233
  },
234
+ {
235
+ "artifacts": true,
236
+ "job": "api 🧾 sbom | dev ",
237
+ },
234
238
  {
235
239
  "artifacts": false,
236
240
  "job": "api 🛡 audit",
@@ -279,6 +283,8 @@ COPY --chown=node:node .yarn /app/.yarn",
279
283
  "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=5 --cpu-throttling --allow-unauthenticated --cpu-boost",
280
284
  "gcloud beta run jobs execute pan-test-app-dev-api-migration --project=google-project-id --region=europe-west6",
281
285
  "docker image rm europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG",
286
+ "echo Uploading SBOM to Dependency Track",
287
+ "/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",
282
288
  ],
283
289
  "services": [
284
290
  {
@@ -385,6 +391,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
385
391
  "gcloud beta run jobs delete pan-test-app-dev-api-migration --project=google-project-id --region=europe-west6",
386
392
  "gcloud beta run jobs executions list --project=google-project-id --region=europe-west6 --job pan-test-app-dev-api-send-reminders --format="value(name)" | xargs -I {} gcloud beta run jobs executions delete {} --quiet --project=google-project-id --region=europe-west6",
387
393
  "gcloud beta run jobs delete pan-test-app-dev-api-send-reminders --project=google-project-id --region=europe-west6",
394
+ "echo Disabling component in Dependency Track",
395
+ "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/api" "https://pan-test-app-dev-api-unknown-host.example.com" || true",
388
396
  "set -e",
389
397
  ],
390
398
  "stage": "stop dev",
@@ -465,26 +473,6 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
465
473
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
466
474
  },
467
475
  },
468
- "api 🧾 sbom upload | dev ": {
469
- "allow_failure": true,
470
- "image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
471
- "interruptible": true,
472
- "needs": [
473
- "api 🧾 sbom | dev ",
474
- ],
475
- "retry": {
476
- "max": 2,
477
- "when": [
478
- "runner_system_failure",
479
- "stuck_or_timeout_failure",
480
- ],
481
- },
482
- "script": [
483
- "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "dev" "__sbom.json" vex.json",
484
- ],
485
- "stage": "verify",
486
- "variables": {},
487
- },
488
476
  "api 🧾 sbom | dev ": {
489
477
  "allow_failure": true,
490
478
  "artifacts": {
@@ -494,9 +482,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
494
482
  },
495
483
  "image": "aquasec/trivy:0.38.3",
496
484
  "interruptible": true,
497
- "needs": [
498
- "api 🚀 Deploy | dev ",
499
- ],
485
+ "needs": [],
500
486
  "retry": {
501
487
  "max": 2,
502
488
  "when": [
@@ -507,7 +493,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
507
493
  "script": [
508
494
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
509
495
  ],
510
- "stage": "verify",
496
+ "stage": "build",
511
497
  "variables": {},
512
498
  },
513
499
  "www 👮 lint": {
@@ -729,6 +715,10 @@ COPY --chown=node:node .yarn /app/.yarn",
729
715
  "artifacts": false,
730
716
  "job": "www 🧪 test",
731
717
  },
718
+ {
719
+ "artifacts": true,
720
+ "job": "www 🧾 sbom | dev ",
721
+ },
732
722
  {
733
723
  "artifacts": false,
734
724
  "job": "www 🛡 audit",
@@ -760,6 +750,8 @@ COPY --chown=node:node .yarn /app/.yarn",
760
750
  "echo "$ENV_VARS" > ____envvars.yaml",
761
751
  "gcloud run deploy pan-test-app-dev-www --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 --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",
762
752
  "docker image rm europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG",
753
+ "echo Uploading SBOM to Dependency Track",
754
+ "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/www" "https://pan-test-app-dev-www-unknown-host.example.com" "__sbom.json" vex.json || true",
763
755
  ],
764
756
  "services": [
765
757
  {
@@ -847,6 +839,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
847
839
  ",
848
840
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
849
841
  "gcloud run services delete pan-test-app-dev-www --project=google-project-id --region=europe-west6",
842
+ "echo Disabling component in Dependency Track",
843
+ "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/www" "https://pan-test-app-dev-www-unknown-host.example.com" || true",
850
844
  "set -e",
851
845
  ],
852
846
  "stage": "stop dev",
@@ -927,26 +921,6 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
927
921
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
928
922
  },
929
923
  },
930
- "www 🧾 sbom upload | dev ": {
931
- "allow_failure": true,
932
- "image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
933
- "interruptible": true,
934
- "needs": [
935
- "www 🧾 sbom | dev ",
936
- ],
937
- "retry": {
938
- "max": 2,
939
- "when": [
940
- "runner_system_failure",
941
- "stuck_or_timeout_failure",
942
- ],
943
- },
944
- "script": [
945
- "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/www" "dev" "__sbom.json" vex.json",
946
- ],
947
- "stage": "verify",
948
- "variables": {},
949
- },
950
924
  "www 🧾 sbom | dev ": {
951
925
  "allow_failure": true,
952
926
  "artifacts": {
@@ -956,9 +930,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
956
930
  },
957
931
  "image": "aquasec/trivy:0.38.3",
958
932
  "interruptible": true,
959
- "needs": [
960
- "www 🚀 Deploy | dev ",
961
- ],
933
+ "needs": [],
962
934
  "retry": {
963
935
  "max": 2,
964
936
  "when": [
@@ -969,7 +941,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
969
941
  "script": [
970
942
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" www",
971
943
  ],
972
- "stage": "verify",
944
+ "stage": "build",
973
945
  "variables": {},
974
946
  },
975
947
  },
@@ -1270,6 +1242,10 @@ COPY --chown=node:node .yarn /app/.yarn",
1270
1242
  "artifacts": false,
1271
1243
  "job": "api 🧪 test",
1272
1244
  },
1245
+ {
1246
+ "artifacts": true,
1247
+ "job": "api 🧾 sbom | review ",
1248
+ },
1273
1249
  {
1274
1250
  "artifacts": false,
1275
1251
  "job": "api 🛡 audit",
@@ -1318,6 +1294,8 @@ COPY --chown=node:node .yarn /app/.yarn",
1318
1294
  "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=5 --cpu-throttling --allow-unauthenticated --cpu-boost",
1319
1295
  "gcloud beta run jobs execute pan-test-app-review-mr1234-api-migration --project=google-project-id --region=europe-west6",
1320
1296
  "docker image rm europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG",
1297
+ "echo Uploading SBOM to Dependency Track",
1298
+ "/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",
1321
1299
  ],
1322
1300
  "services": [
1323
1301
  {
@@ -1433,6 +1411,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
1433
1411
  sleep 10
1434
1412
  done
1435
1413
  ",
1414
+ "echo Disabling component in Dependency Track",
1415
+ "/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",
1436
1416
  "set -e",
1437
1417
  ],
1438
1418
  "stage": "stop review",
@@ -1513,26 +1493,6 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
1513
1493
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
1514
1494
  },
1515
1495
  },
1516
- "api 🧾 sbom upload | review ": {
1517
- "allow_failure": true,
1518
- "image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
1519
- "interruptible": true,
1520
- "needs": [
1521
- "api 🧾 sbom | review ",
1522
- ],
1523
- "retry": {
1524
- "max": 2,
1525
- "when": [
1526
- "runner_system_failure",
1527
- "stuck_or_timeout_failure",
1528
- ],
1529
- },
1530
- "script": [
1531
- "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "review" "__sbom.json" vex.json",
1532
- ],
1533
- "stage": "verify",
1534
- "variables": {},
1535
- },
1536
1496
  "api 🧾 sbom | review ": {
1537
1497
  "allow_failure": true,
1538
1498
  "artifacts": {
@@ -1542,9 +1502,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
1542
1502
  },
1543
1503
  "image": "aquasec/trivy:0.38.3",
1544
1504
  "interruptible": true,
1545
- "needs": [
1546
- "api 🚀 Deploy | review ",
1547
- ],
1505
+ "needs": [],
1548
1506
  "retry": {
1549
1507
  "max": 2,
1550
1508
  "when": [
@@ -1555,7 +1513,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
1555
1513
  "script": [
1556
1514
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
1557
1515
  ],
1558
- "stage": "verify",
1516
+ "stage": "build",
1559
1517
  "variables": {},
1560
1518
  },
1561
1519
  "www 👮 lint": {
@@ -1777,6 +1735,10 @@ COPY --chown=node:node .yarn /app/.yarn",
1777
1735
  "artifacts": false,
1778
1736
  "job": "www 🧪 test",
1779
1737
  },
1738
+ {
1739
+ "artifacts": true,
1740
+ "job": "www 🧾 sbom | review ",
1741
+ },
1780
1742
  {
1781
1743
  "artifacts": false,
1782
1744
  "job": "www 🛡 audit",
@@ -1808,6 +1770,8 @@ COPY --chown=node:node .yarn /app/.yarn",
1808
1770
  "echo "$ENV_VARS" > ____envvars.yaml",
1809
1771
  "gcloud run deploy pan-test-app-review-mr1234-www --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 --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",
1810
1772
  "docker image rm europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG",
1773
+ "echo Uploading SBOM to Dependency Track",
1774
+ "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/www" "https://pan-test-app-review-mr1234-www-unknown-host.example.com" "__sbom.json" vex.json || true",
1811
1775
  ],
1812
1776
  "services": [
1813
1777
  {
@@ -1895,6 +1859,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
1895
1859
  ",
1896
1860
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
1897
1861
  "gcloud run services delete pan-test-app-review-mr1234-www --project=google-project-id --region=europe-west6",
1862
+ "echo Disabling component in Dependency Track",
1863
+ "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/www" "https://pan-test-app-review-mr1234-www-unknown-host.example.com" || true",
1898
1864
  "set -e",
1899
1865
  ],
1900
1866
  "stage": "stop review",
@@ -1975,26 +1941,6 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
1975
1941
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
1976
1942
  },
1977
1943
  },
1978
- "www 🧾 sbom upload | review ": {
1979
- "allow_failure": true,
1980
- "image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
1981
- "interruptible": true,
1982
- "needs": [
1983
- "www 🧾 sbom | review ",
1984
- ],
1985
- "retry": {
1986
- "max": 2,
1987
- "when": [
1988
- "runner_system_failure",
1989
- "stuck_or_timeout_failure",
1990
- ],
1991
- },
1992
- "script": [
1993
- "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/www" "review" "__sbom.json" vex.json",
1994
- ],
1995
- "stage": "verify",
1996
- "variables": {},
1997
- },
1998
1944
  "www 🧾 sbom | review ": {
1999
1945
  "allow_failure": true,
2000
1946
  "artifacts": {
@@ -2004,9 +1950,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
2004
1950
  },
2005
1951
  "image": "aquasec/trivy:0.38.3",
2006
1952
  "interruptible": true,
2007
- "needs": [
2008
- "www 🚀 Deploy | review ",
2009
- ],
1953
+ "needs": [],
2010
1954
  "retry": {
2011
1955
  "max": 2,
2012
1956
  "when": [
@@ -2017,7 +1961,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
2017
1961
  "script": [
2018
1962
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" www",
2019
1963
  ],
2020
- "stage": "verify",
1964
+ "stage": "build",
2021
1965
  "variables": {},
2022
1966
  },
2023
1967
  },
@@ -2418,6 +2362,10 @@ COPY --chown=node:node .yarn /app/.yarn",
2418
2362
  "artifacts": false,
2419
2363
  "job": "api 🔨 docker | prod ",
2420
2364
  },
2365
+ {
2366
+ "artifacts": true,
2367
+ "job": "api 🧾 sbom | prod ",
2368
+ },
2421
2369
  ],
2422
2370
  "retry": {
2423
2371
  "max": 2,
@@ -2462,6 +2410,8 @@ COPY --chown=node:node .yarn /app/.yarn",
2462
2410
  "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=5 --cpu-throttling --allow-unauthenticated --cpu-boost",
2463
2411
  "gcloud beta run jobs execute pan-test-app-prod-api-migration --project=google-project-id --region=europe-west6",
2464
2412
  "docker image rm europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG",
2413
+ "echo Uploading SBOM to Dependency Track",
2414
+ "/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",
2465
2415
  ],
2466
2416
  "services": [
2467
2417
  {
@@ -2554,6 +2504,10 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
2554
2504
  "artifacts": false,
2555
2505
  "job": "api 🔨 docker | stage ",
2556
2506
  },
2507
+ {
2508
+ "artifacts": true,
2509
+ "job": "api 🧾 sbom | stage ",
2510
+ },
2557
2511
  ],
2558
2512
  "retry": {
2559
2513
  "max": 2,
@@ -2598,6 +2552,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
2598
2552
  "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=5 --cpu-throttling --allow-unauthenticated --cpu-boost",
2599
2553
  "gcloud beta run jobs execute pan-test-app-stage-api-migration --project=google-project-id --region=europe-west6",
2600
2554
  "docker image rm europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG",
2555
+ "echo Uploading SBOM to Dependency Track",
2556
+ "/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",
2601
2557
  ],
2602
2558
  "services": [
2603
2559
  {
@@ -2704,6 +2660,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
2704
2660
  "gcloud beta run jobs delete pan-test-app-prod-api-migration --project=google-project-id --region=europe-west6",
2705
2661
  "gcloud beta run jobs executions list --project=google-project-id --region=europe-west6 --job pan-test-app-prod-api-send-reminders --format="value(name)" | xargs -I {} gcloud beta run jobs executions delete {} --quiet --project=google-project-id --region=europe-west6",
2706
2662
  "gcloud beta run jobs delete pan-test-app-prod-api-send-reminders --project=google-project-id --region=europe-west6",
2663
+ "echo Disabling component in Dependency Track",
2664
+ "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/api" "https://pan-test-app-prod-api-unknown-host.example.com" || true",
2707
2665
  "set -e",
2708
2666
  ],
2709
2667
  "stage": "stop prod",
@@ -2754,6 +2712,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
2754
2712
  "gcloud beta run jobs delete pan-test-app-stage-api-migration --project=google-project-id --region=europe-west6",
2755
2713
  "gcloud beta run jobs executions list --project=google-project-id --region=europe-west6 --job pan-test-app-stage-api-send-reminders --format="value(name)" | xargs -I {} gcloud beta run jobs executions delete {} --quiet --project=google-project-id --region=europe-west6",
2756
2714
  "gcloud beta run jobs delete pan-test-app-stage-api-send-reminders --project=google-project-id --region=europe-west6",
2715
+ "echo Disabling component in Dependency Track",
2716
+ "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/api" "https://pan-test-app-stage-api-unknown-host.example.com" || true",
2757
2717
  "set -e",
2758
2718
  ],
2759
2719
  "stage": "stop stage",
@@ -2766,46 +2726,6 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
2766
2726
  "KUBERNETES_MEMORY_REQUEST": "200Mi",
2767
2727
  },
2768
2728
  },
2769
- "api 🧾 sbom upload | prod ": {
2770
- "allow_failure": true,
2771
- "image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
2772
- "interruptible": true,
2773
- "needs": [
2774
- "api 🧾 sbom | prod ",
2775
- ],
2776
- "retry": {
2777
- "max": 2,
2778
- "when": [
2779
- "runner_system_failure",
2780
- "stuck_or_timeout_failure",
2781
- ],
2782
- },
2783
- "script": [
2784
- "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "prod" "__sbom.json" vex.json",
2785
- ],
2786
- "stage": "verify",
2787
- "variables": {},
2788
- },
2789
- "api 🧾 sbom upload | stage ": {
2790
- "allow_failure": true,
2791
- "image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
2792
- "interruptible": true,
2793
- "needs": [
2794
- "api 🧾 sbom | stage ",
2795
- ],
2796
- "retry": {
2797
- "max": 2,
2798
- "when": [
2799
- "runner_system_failure",
2800
- "stuck_or_timeout_failure",
2801
- ],
2802
- },
2803
- "script": [
2804
- "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "stage" "__sbom.json" vex.json",
2805
- ],
2806
- "stage": "verify",
2807
- "variables": {},
2808
- },
2809
2729
  "api 🧾 sbom | prod ": {
2810
2730
  "allow_failure": true,
2811
2731
  "artifacts": {
@@ -2815,9 +2735,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
2815
2735
  },
2816
2736
  "image": "aquasec/trivy:0.38.3",
2817
2737
  "interruptible": true,
2818
- "needs": [
2819
- "api 🚀 Deploy | prod ",
2820
- ],
2738
+ "needs": [],
2821
2739
  "retry": {
2822
2740
  "max": 2,
2823
2741
  "when": [
@@ -2828,7 +2746,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
2828
2746
  "script": [
2829
2747
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
2830
2748
  ],
2831
- "stage": "verify",
2749
+ "stage": "build",
2832
2750
  "variables": {},
2833
2751
  },
2834
2752
  "api 🧾 sbom | stage ": {
@@ -2840,9 +2758,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
2840
2758
  },
2841
2759
  "image": "aquasec/trivy:0.38.3",
2842
2760
  "interruptible": true,
2843
- "needs": [
2844
- "api 🚀 Deploy | stage ",
2845
- ],
2761
+ "needs": [],
2846
2762
  "retry": {
2847
2763
  "max": 2,
2848
2764
  "when": [
@@ -2853,7 +2769,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
2853
2769
  "script": [
2854
2770
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
2855
2771
  ],
2856
- "stage": "verify",
2772
+ "stage": "build",
2857
2773
  "variables": {},
2858
2774
  },
2859
2775
  "www 🔨 app | prod ": {
@@ -3168,6 +3084,10 @@ COPY --chown=node:node .yarn /app/.yarn",
3168
3084
  "artifacts": false,
3169
3085
  "job": "www 🔨 docker | prod ",
3170
3086
  },
3087
+ {
3088
+ "artifacts": true,
3089
+ "job": "www 🧾 sbom | prod ",
3090
+ },
3171
3091
  ],
3172
3092
  "retry": {
3173
3093
  "max": 2,
@@ -3195,6 +3115,8 @@ COPY --chown=node:node .yarn /app/.yarn",
3195
3115
  "echo "$ENV_VARS" > ____envvars.yaml",
3196
3116
  "gcloud run deploy pan-test-app-prod-www --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 --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",
3197
3117
  "docker image rm europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG",
3118
+ "echo Uploading SBOM to Dependency Track",
3119
+ "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/www" "https://pan-test-app-prod-www-unknown-host.example.com" "__sbom.json" vex.json || true",
3198
3120
  ],
3199
3121
  "services": [
3200
3122
  {
@@ -3273,6 +3195,10 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
3273
3195
  "artifacts": false,
3274
3196
  "job": "www 🔨 docker | stage ",
3275
3197
  },
3198
+ {
3199
+ "artifacts": true,
3200
+ "job": "www 🧾 sbom | stage ",
3201
+ },
3276
3202
  ],
3277
3203
  "retry": {
3278
3204
  "max": 2,
@@ -3300,6 +3226,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
3300
3226
  "echo "$ENV_VARS" > ____envvars.yaml",
3301
3227
  "gcloud run deploy pan-test-app-stage-www --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 --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",
3302
3228
  "docker image rm europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG",
3229
+ "echo Uploading SBOM to Dependency Track",
3230
+ "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/www" "https://pan-test-app-stage-www-unknown-host.example.com" "__sbom.json" vex.json || true",
3303
3231
  ],
3304
3232
  "services": [
3305
3233
  {
@@ -3387,6 +3315,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
3387
3315
  ",
3388
3316
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
3389
3317
  "gcloud run services delete pan-test-app-prod-www --project=google-project-id --region=europe-west6",
3318
+ "echo Disabling component in Dependency Track",
3319
+ "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/www" "https://pan-test-app-prod-www-unknown-host.example.com" || true",
3390
3320
  "set -e",
3391
3321
  ],
3392
3322
  "stage": "stop prod",
@@ -3432,6 +3362,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
3432
3362
  ",
3433
3363
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
3434
3364
  "gcloud run services delete pan-test-app-stage-www --project=google-project-id --region=europe-west6",
3365
+ "echo Disabling component in Dependency Track",
3366
+ "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/www" "https://pan-test-app-stage-www-unknown-host.example.com" || true",
3435
3367
  "set -e",
3436
3368
  ],
3437
3369
  "stage": "stop stage",
@@ -3444,46 +3376,6 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
3444
3376
  "KUBERNETES_MEMORY_REQUEST": "200Mi",
3445
3377
  },
3446
3378
  },
3447
- "www 🧾 sbom upload | prod ": {
3448
- "allow_failure": true,
3449
- "image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
3450
- "interruptible": true,
3451
- "needs": [
3452
- "www 🧾 sbom | prod ",
3453
- ],
3454
- "retry": {
3455
- "max": 2,
3456
- "when": [
3457
- "runner_system_failure",
3458
- "stuck_or_timeout_failure",
3459
- ],
3460
- },
3461
- "script": [
3462
- "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/www" "prod" "__sbom.json" vex.json",
3463
- ],
3464
- "stage": "verify",
3465
- "variables": {},
3466
- },
3467
- "www 🧾 sbom upload | stage ": {
3468
- "allow_failure": true,
3469
- "image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
3470
- "interruptible": true,
3471
- "needs": [
3472
- "www 🧾 sbom | stage ",
3473
- ],
3474
- "retry": {
3475
- "max": 2,
3476
- "when": [
3477
- "runner_system_failure",
3478
- "stuck_or_timeout_failure",
3479
- ],
3480
- },
3481
- "script": [
3482
- "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/www" "stage" "__sbom.json" vex.json",
3483
- ],
3484
- "stage": "verify",
3485
- "variables": {},
3486
- },
3487
3379
  "www 🧾 sbom | prod ": {
3488
3380
  "allow_failure": true,
3489
3381
  "artifacts": {
@@ -3493,9 +3385,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
3493
3385
  },
3494
3386
  "image": "aquasec/trivy:0.38.3",
3495
3387
  "interruptible": true,
3496
- "needs": [
3497
- "www 🚀 Deploy | prod ",
3498
- ],
3388
+ "needs": [],
3499
3389
  "retry": {
3500
3390
  "max": 2,
3501
3391
  "when": [
@@ -3506,7 +3396,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
3506
3396
  "script": [
3507
3397
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" www",
3508
3398
  ],
3509
- "stage": "verify",
3399
+ "stage": "build",
3510
3400
  "variables": {},
3511
3401
  },
3512
3402
  "www 🧾 sbom | stage ": {
@@ -3518,9 +3408,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
3518
3408
  },
3519
3409
  "image": "aquasec/trivy:0.38.3",
3520
3410
  "interruptible": true,
3521
- "needs": [
3522
- "www 🚀 Deploy | stage ",
3523
- ],
3411
+ "needs": [],
3524
3412
  "retry": {
3525
3413
  "max": 2,
3526
3414
  "when": [
@@ -3531,7 +3419,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
3531
3419
  "script": [
3532
3420
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" www",
3533
3421
  ],
3534
- "stage": "verify",
3422
+ "stage": "build",
3535
3423
  "variables": {},
3536
3424
  },
3537
3425
  },