@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
@@ -341,6 +341,10 @@ COPY --chown=node:node .yarn /app/.yarn",
341
341
  "artifacts": false,
342
342
  "job": "api 🧪 test",
343
343
  },
344
+ {
345
+ "artifacts": true,
346
+ "job": "api 🧾 sbom | dev ",
347
+ },
344
348
  {
345
349
  "artifacts": false,
346
350
  "job": "api 🛡 audit",
@@ -365,6 +369,8 @@ COPY --chown=node:node .yarn /app/.yarn",
365
369
  "kubectl config use-context "kube-pan-test-app-dev-api"",
366
370
  "kubernetesCreateSecret",
367
371
  "kubernetesDeploy",
372
+ "echo Uploading SBOM to Dependency Track",
373
+ "/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",
368
374
  "echo deployment successful 😻",
369
375
  ],
370
376
  "stage": "deploy dev",
@@ -493,6 +499,8 @@ mongodb:
493
499
  "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"",
494
500
  "kubectl config use-context "kube-pan-test-app-dev-api"",
495
501
  "kubernetesDelete",
502
+ "echo Disabling component in Dependency Track",
503
+ "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/api" "https://api.dev.test-app.pan.panter.cloud" || true",
496
504
  ],
497
505
  "stage": "stop dev",
498
506
  "variables": {
@@ -647,26 +655,6 @@ mongodb:
647
655
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
648
656
  },
649
657
  },
650
- "api 🧾 sbom upload | dev ": {
651
- "allow_failure": true,
652
- "image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
653
- "interruptible": true,
654
- "needs": [
655
- "api 🧾 sbom | dev ",
656
- ],
657
- "retry": {
658
- "max": 2,
659
- "when": [
660
- "runner_system_failure",
661
- "stuck_or_timeout_failure",
662
- ],
663
- },
664
- "script": [
665
- "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "dev" "__sbom.json" vex.json",
666
- ],
667
- "stage": "verify",
668
- "variables": {},
669
- },
670
658
  "api 🧾 sbom | dev ": {
671
659
  "allow_failure": true,
672
660
  "artifacts": {
@@ -676,9 +664,7 @@ mongodb:
676
664
  },
677
665
  "image": "aquasec/trivy:0.38.3",
678
666
  "interruptible": true,
679
- "needs": [
680
- "api 🚀 Deploy | dev ",
681
- ],
667
+ "needs": [],
682
668
  "retry": {
683
669
  "max": 2,
684
670
  "when": [
@@ -689,7 +675,7 @@ mongodb:
689
675
  "script": [
690
676
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
691
677
  ],
692
- "stage": "verify",
678
+ "stage": "build",
693
679
  "variables": {},
694
680
  },
695
681
  },
@@ -1100,6 +1086,10 @@ COPY --chown=node:node .yarn /app/.yarn",
1100
1086
  "artifacts": false,
1101
1087
  "job": "api 🧪 test",
1102
1088
  },
1089
+ {
1090
+ "artifacts": true,
1091
+ "job": "api 🧾 sbom | review ",
1092
+ },
1103
1093
  {
1104
1094
  "artifacts": false,
1105
1095
  "job": "api 🛡 audit",
@@ -1124,6 +1114,8 @@ COPY --chown=node:node .yarn /app/.yarn",
1124
1114
  "kubectl config use-context "kube-pan-test-app-review-mr1234-api"",
1125
1115
  "kubernetesCreateSecret",
1126
1116
  "kubernetesDeploy",
1117
+ "echo Uploading SBOM to Dependency Track",
1118
+ "/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",
1127
1119
  "echo deployment successful 😻",
1128
1120
  ],
1129
1121
  "stage": "deploy review",
@@ -1252,6 +1244,8 @@ mongodb:
1252
1244
  "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"",
1253
1245
  "kubectl config use-context "kube-pan-test-app-review-mr1234-api"",
1254
1246
  "kubernetesDelete",
1247
+ "echo Disabling component in Dependency Track",
1248
+ "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/api" "https://api.mr1234.review.test-app.pan.panter.cloud" || true",
1255
1249
  ],
1256
1250
  "stage": "stop review",
1257
1251
  "variables": {
@@ -1406,26 +1400,6 @@ mongodb:
1406
1400
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
1407
1401
  },
1408
1402
  },
1409
- "api 🧾 sbom upload | review ": {
1410
- "allow_failure": true,
1411
- "image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
1412
- "interruptible": true,
1413
- "needs": [
1414
- "api 🧾 sbom | review ",
1415
- ],
1416
- "retry": {
1417
- "max": 2,
1418
- "when": [
1419
- "runner_system_failure",
1420
- "stuck_or_timeout_failure",
1421
- ],
1422
- },
1423
- "script": [
1424
- "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "review" "__sbom.json" vex.json",
1425
- ],
1426
- "stage": "verify",
1427
- "variables": {},
1428
- },
1429
1403
  "api 🧾 sbom | review ": {
1430
1404
  "allow_failure": true,
1431
1405
  "artifacts": {
@@ -1435,9 +1409,7 @@ mongodb:
1435
1409
  },
1436
1410
  "image": "aquasec/trivy:0.38.3",
1437
1411
  "interruptible": true,
1438
- "needs": [
1439
- "api 🚀 Deploy | review ",
1440
- ],
1412
+ "needs": [],
1441
1413
  "retry": {
1442
1414
  "max": 2,
1443
1415
  "when": [
@@ -1448,7 +1420,7 @@ mongodb:
1448
1420
  "script": [
1449
1421
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
1450
1422
  ],
1451
- "stage": "verify",
1423
+ "stage": "build",
1452
1424
  "variables": {},
1453
1425
  },
1454
1426
  },
@@ -2071,6 +2043,10 @@ COPY --chown=node:node .yarn /app/.yarn",
2071
2043
  "artifacts": false,
2072
2044
  "job": "api 🔨 docker | prod ",
2073
2045
  },
2046
+ {
2047
+ "artifacts": true,
2048
+ "job": "api 🧾 sbom | prod ",
2049
+ },
2074
2050
  ],
2075
2051
  "retry": {
2076
2052
  "max": 2,
@@ -2091,6 +2067,8 @@ COPY --chown=node:node .yarn /app/.yarn",
2091
2067
  "kubectl config use-context "kube-pan-test-app-prod-api"",
2092
2068
  "kubernetesCreateSecret",
2093
2069
  "kubernetesDeploy",
2070
+ "echo Uploading SBOM to Dependency Track",
2071
+ "/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",
2094
2072
  "echo deployment successful 😻",
2095
2073
  ],
2096
2074
  "stage": "deploy prod",
@@ -2205,6 +2183,10 @@ mongodb:
2205
2183
  "artifacts": false,
2206
2184
  "job": "api 🔨 docker | stage ",
2207
2185
  },
2186
+ {
2187
+ "artifacts": true,
2188
+ "job": "api 🧾 sbom | stage ",
2189
+ },
2208
2190
  ],
2209
2191
  "retry": {
2210
2192
  "max": 2,
@@ -2225,6 +2207,8 @@ mongodb:
2225
2207
  "kubectl config use-context "kube-pan-test-app-stage-api"",
2226
2208
  "kubernetesCreateSecret",
2227
2209
  "kubernetesDeploy",
2210
+ "echo Uploading SBOM to Dependency Track",
2211
+ "/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",
2228
2212
  "echo deployment successful 😻",
2229
2213
  ],
2230
2214
  "stage": "deploy stage",
@@ -2353,6 +2337,8 @@ mongodb:
2353
2337
  "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"",
2354
2338
  "kubectl config use-context "kube-pan-test-app-prod-api"",
2355
2339
  "kubernetesDelete",
2340
+ "echo Disabling component in Dependency Track",
2341
+ "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/api" "https://api.prod.test-app.pan.panter.cloud" || true",
2356
2342
  ],
2357
2343
  "stage": "stop prod",
2358
2344
  "variables": {
@@ -2475,6 +2461,8 @@ mongodb:
2475
2461
  "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"",
2476
2462
  "kubectl config use-context "kube-pan-test-app-stage-api"",
2477
2463
  "kubernetesDelete",
2464
+ "echo Disabling component in Dependency Track",
2465
+ "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/api" "https://api.stage.test-app.pan.panter.cloud" || true",
2478
2466
  ],
2479
2467
  "stage": "stop stage",
2480
2468
  "variables": {
@@ -2561,46 +2549,6 @@ mongodb:
2561
2549
  "_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","MONGODB_ROOT_PASSWORD","MONGODB_REPLICASET_KEY"]",
2562
2550
  },
2563
2551
  },
2564
- "api 🧾 sbom upload | prod ": {
2565
- "allow_failure": true,
2566
- "image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
2567
- "interruptible": true,
2568
- "needs": [
2569
- "api 🧾 sbom | prod ",
2570
- ],
2571
- "retry": {
2572
- "max": 2,
2573
- "when": [
2574
- "runner_system_failure",
2575
- "stuck_or_timeout_failure",
2576
- ],
2577
- },
2578
- "script": [
2579
- "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "prod" "__sbom.json" vex.json",
2580
- ],
2581
- "stage": "verify",
2582
- "variables": {},
2583
- },
2584
- "api 🧾 sbom upload | stage ": {
2585
- "allow_failure": true,
2586
- "image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
2587
- "interruptible": true,
2588
- "needs": [
2589
- "api 🧾 sbom | stage ",
2590
- ],
2591
- "retry": {
2592
- "max": 2,
2593
- "when": [
2594
- "runner_system_failure",
2595
- "stuck_or_timeout_failure",
2596
- ],
2597
- },
2598
- "script": [
2599
- "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "stage" "__sbom.json" vex.json",
2600
- ],
2601
- "stage": "verify",
2602
- "variables": {},
2603
- },
2604
2552
  "api 🧾 sbom | prod ": {
2605
2553
  "allow_failure": true,
2606
2554
  "artifacts": {
@@ -2610,9 +2558,7 @@ mongodb:
2610
2558
  },
2611
2559
  "image": "aquasec/trivy:0.38.3",
2612
2560
  "interruptible": true,
2613
- "needs": [
2614
- "api 🚀 Deploy | prod ",
2615
- ],
2561
+ "needs": [],
2616
2562
  "retry": {
2617
2563
  "max": 2,
2618
2564
  "when": [
@@ -2623,7 +2569,7 @@ mongodb:
2623
2569
  "script": [
2624
2570
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
2625
2571
  ],
2626
- "stage": "verify",
2572
+ "stage": "build",
2627
2573
  "variables": {},
2628
2574
  },
2629
2575
  "api 🧾 sbom | stage ": {
@@ -2635,9 +2581,7 @@ mongodb:
2635
2581
  },
2636
2582
  "image": "aquasec/trivy:0.38.3",
2637
2583
  "interruptible": true,
2638
- "needs": [
2639
- "api 🚀 Deploy | stage ",
2640
- ],
2584
+ "needs": [],
2641
2585
  "retry": {
2642
2586
  "max": 2,
2643
2587
  "when": [
@@ -2648,7 +2592,7 @@ mongodb:
2648
2592
  "script": [
2649
2593
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
2650
2594
  ],
2651
- "stage": "verify",
2595
+ "stage": "build",
2652
2596
  "variables": {},
2653
2597
  },
2654
2598
  },