@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.
- package/dist/build/custom/buildJob.js +4 -2
- package/dist/build/node/buildJob.js +4 -2
- package/dist/build/rails/build.js +13 -2
- package/dist/build/sbom.d.ts +5 -0
- package/dist/build/sbom.js +29 -0
- package/dist/bundles/catladder-gitlab/index.js +3 -3
- package/dist/constants.js +1 -1
- package/dist/deploy/base.js +38 -2
- package/dist/deploy/cloudRun/deployJob.js +5 -4
- package/dist/deploy/custom/deployJob.js +3 -2
- package/dist/deploy/kubernetes/deployJob.js +3 -2
- package/dist/deploy/sbom.d.ts +4 -0
- package/dist/deploy/sbom.js +17 -0
- package/dist/pipeline/createJobsForComponent.js +1 -3
- package/dist/pipeline/gitlab/createGitlabJobs.js +5 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/examples/__snapshots__/cloud-run-memory-limit.ts.snap +40 -96
- package/examples/__snapshots__/cloud-run-no-cpu-throttling.ts.snap +40 -96
- package/examples/__snapshots__/cloud-run-non-public.ts.snap +40 -96
- package/examples/__snapshots__/cloud-run-with-sql-reuse-db.ts.snap +80 -192
- package/examples/__snapshots__/cloud-run-with-sql.ts.snap +80 -192
- package/examples/__snapshots__/custom-build-job-with-tests.ts.snap +40 -96
- package/examples/__snapshots__/custom-build-job.ts.snap +40 -96
- package/examples/__snapshots__/custom-deploy.ts.snap +40 -96
- package/examples/__snapshots__/custom-envs.ts.snap +6 -126
- package/examples/__snapshots__/custom-sbom-java.ts.snap +40 -96
- package/examples/__snapshots__/kubernetes-application-customization.ts.snap +40 -96
- package/examples/__snapshots__/kubernetes-with-cloud-sql-legacy.ts.snap +40 -96
- package/examples/__snapshots__/kubernetes-with-cloud-sql.ts.snap +40 -96
- package/examples/__snapshots__/kubernetes-with-jobs.ts.snap +80 -192
- package/examples/__snapshots__/kubernetes-with-mongodb.ts.snap +40 -96
- package/examples/__snapshots__/native-app.ts.snap +72 -192
- package/examples/__snapshots__/node-build-with-custom-image.ts.snap +40 -96
- package/examples/__snapshots__/rails-k8s-with-worker.ts.snap +40 -96
- package/examples/__snapshots__/wait-for-other-deploy.ts.snap +64 -192
- package/package.json +1 -1
- package/src/build/custom/buildJob.ts +3 -0
- package/src/build/node/buildJob.ts +3 -0
- package/src/build/rails/build.ts +3 -0
- package/src/build/sbom.ts +43 -0
- package/src/deploy/base.ts +14 -7
- package/src/deploy/cloudRun/deployJob.ts +6 -0
- package/src/deploy/custom/deployJob.ts +9 -1
- package/src/deploy/kubernetes/deployJob.ts +10 -1
- package/src/deploy/sbom.ts +24 -0
- package/src/pipeline/createJobsForComponent.ts +1 -3
- package/src/pipeline/gitlab/createGitlabJobs.ts +6 -2
- package/dist/verify/reporting.d.ts +0 -3
- package/dist/verify/reporting.js +0 -48
- package/src/verify/reporting.ts +0 -69
|
@@ -223,6 +223,10 @@ COPY --chown=node:node .yarn /app/.yarn",
|
|
|
223
223
|
"artifacts": false,
|
|
224
224
|
"job": "api 🧪 test",
|
|
225
225
|
},
|
|
226
|
+
{
|
|
227
|
+
"artifacts": true,
|
|
228
|
+
"job": "api 🧾 sbom | dev ",
|
|
229
|
+
},
|
|
226
230
|
{
|
|
227
231
|
"artifacts": false,
|
|
228
232
|
"job": "api 🛡 audit",
|
|
@@ -254,6 +258,8 @@ COPY --chown=node:node .yarn /app/.yarn",
|
|
|
254
258
|
"echo "$ENV_VARS" > ____envvars.yaml",
|
|
255
259
|
"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 --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 --memory=1024Mi --allow-unauthenticated --cpu-boost",
|
|
256
260
|
"docker image rm europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG",
|
|
261
|
+
"echo Uploading SBOM to Dependency Track",
|
|
262
|
+
"/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",
|
|
257
263
|
],
|
|
258
264
|
"services": [
|
|
259
265
|
{
|
|
@@ -339,6 +345,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
339
345
|
",
|
|
340
346
|
"gcloud auth activate-service-account --key-file="./____keyfile.json"",
|
|
341
347
|
"gcloud run services delete pan-test-app-dev-api --project=google-project-id --region=europe-west6",
|
|
348
|
+
"echo Disabling component in Dependency Track",
|
|
349
|
+
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/api" "https://pan-test-app-dev-api-unknown-host.example.com" || true",
|
|
342
350
|
"set -e",
|
|
343
351
|
],
|
|
344
352
|
"stage": "stop dev",
|
|
@@ -419,26 +427,6 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
419
427
|
"KUBERNETES_MEMORY_REQUEST": "2Gi",
|
|
420
428
|
},
|
|
421
429
|
},
|
|
422
|
-
"api 🧾 sbom upload | dev ": {
|
|
423
|
-
"allow_failure": true,
|
|
424
|
-
"image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
|
|
425
|
-
"interruptible": true,
|
|
426
|
-
"needs": [
|
|
427
|
-
"api 🧾 sbom | dev ",
|
|
428
|
-
],
|
|
429
|
-
"retry": {
|
|
430
|
-
"max": 2,
|
|
431
|
-
"when": [
|
|
432
|
-
"runner_system_failure",
|
|
433
|
-
"stuck_or_timeout_failure",
|
|
434
|
-
],
|
|
435
|
-
},
|
|
436
|
-
"script": [
|
|
437
|
-
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "dev" "__sbom.json" vex.json",
|
|
438
|
-
],
|
|
439
|
-
"stage": "verify",
|
|
440
|
-
"variables": {},
|
|
441
|
-
},
|
|
442
430
|
"api 🧾 sbom | dev ": {
|
|
443
431
|
"allow_failure": true,
|
|
444
432
|
"artifacts": {
|
|
@@ -448,9 +436,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
448
436
|
},
|
|
449
437
|
"image": "aquasec/trivy:0.38.3",
|
|
450
438
|
"interruptible": true,
|
|
451
|
-
"needs": [
|
|
452
|
-
"api 🚀 Deploy | dev ",
|
|
453
|
-
],
|
|
439
|
+
"needs": [],
|
|
454
440
|
"retry": {
|
|
455
441
|
"max": 2,
|
|
456
442
|
"when": [
|
|
@@ -461,7 +447,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
461
447
|
"script": [
|
|
462
448
|
"trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
|
|
463
449
|
],
|
|
464
|
-
"stage": "
|
|
450
|
+
"stage": "build",
|
|
465
451
|
"variables": {},
|
|
466
452
|
},
|
|
467
453
|
},
|
|
@@ -754,6 +740,10 @@ COPY --chown=node:node .yarn /app/.yarn",
|
|
|
754
740
|
"artifacts": false,
|
|
755
741
|
"job": "api 🧪 test",
|
|
756
742
|
},
|
|
743
|
+
{
|
|
744
|
+
"artifacts": true,
|
|
745
|
+
"job": "api 🧾 sbom | review ",
|
|
746
|
+
},
|
|
757
747
|
{
|
|
758
748
|
"artifacts": false,
|
|
759
749
|
"job": "api 🛡 audit",
|
|
@@ -785,6 +775,8 @@ COPY --chown=node:node .yarn /app/.yarn",
|
|
|
785
775
|
"echo "$ENV_VARS" > ____envvars.yaml",
|
|
786
776
|
"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 --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 --memory=1024Mi --allow-unauthenticated --cpu-boost",
|
|
787
777
|
"docker image rm europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG",
|
|
778
|
+
"echo Uploading SBOM to Dependency Track",
|
|
779
|
+
"/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",
|
|
788
780
|
],
|
|
789
781
|
"services": [
|
|
790
782
|
{
|
|
@@ -870,6 +862,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
870
862
|
",
|
|
871
863
|
"gcloud auth activate-service-account --key-file="./____keyfile.json"",
|
|
872
864
|
"gcloud run services delete pan-test-app-review-mr1234-api --project=google-project-id --region=europe-west6",
|
|
865
|
+
"echo Disabling component in Dependency Track",
|
|
866
|
+
"/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",
|
|
873
867
|
"set -e",
|
|
874
868
|
],
|
|
875
869
|
"stage": "stop review",
|
|
@@ -950,26 +944,6 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
950
944
|
"KUBERNETES_MEMORY_REQUEST": "2Gi",
|
|
951
945
|
},
|
|
952
946
|
},
|
|
953
|
-
"api 🧾 sbom upload | review ": {
|
|
954
|
-
"allow_failure": true,
|
|
955
|
-
"image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
|
|
956
|
-
"interruptible": true,
|
|
957
|
-
"needs": [
|
|
958
|
-
"api 🧾 sbom | review ",
|
|
959
|
-
],
|
|
960
|
-
"retry": {
|
|
961
|
-
"max": 2,
|
|
962
|
-
"when": [
|
|
963
|
-
"runner_system_failure",
|
|
964
|
-
"stuck_or_timeout_failure",
|
|
965
|
-
],
|
|
966
|
-
},
|
|
967
|
-
"script": [
|
|
968
|
-
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "review" "__sbom.json" vex.json",
|
|
969
|
-
],
|
|
970
|
-
"stage": "verify",
|
|
971
|
-
"variables": {},
|
|
972
|
-
},
|
|
973
947
|
"api 🧾 sbom | review ": {
|
|
974
948
|
"allow_failure": true,
|
|
975
949
|
"artifacts": {
|
|
@@ -979,9 +953,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
979
953
|
},
|
|
980
954
|
"image": "aquasec/trivy:0.38.3",
|
|
981
955
|
"interruptible": true,
|
|
982
|
-
"needs": [
|
|
983
|
-
"api 🚀 Deploy | review ",
|
|
984
|
-
],
|
|
956
|
+
"needs": [],
|
|
985
957
|
"retry": {
|
|
986
958
|
"max": 2,
|
|
987
959
|
"when": [
|
|
@@ -992,7 +964,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
992
964
|
"script": [
|
|
993
965
|
"trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
|
|
994
966
|
],
|
|
995
|
-
"stage": "
|
|
967
|
+
"stage": "build",
|
|
996
968
|
"variables": {},
|
|
997
969
|
},
|
|
998
970
|
},
|
|
@@ -1377,6 +1349,10 @@ COPY --chown=node:node .yarn /app/.yarn",
|
|
|
1377
1349
|
"artifacts": false,
|
|
1378
1350
|
"job": "api 🔨 docker | prod ",
|
|
1379
1351
|
},
|
|
1352
|
+
{
|
|
1353
|
+
"artifacts": true,
|
|
1354
|
+
"job": "api 🧾 sbom | prod ",
|
|
1355
|
+
},
|
|
1380
1356
|
],
|
|
1381
1357
|
"retry": {
|
|
1382
1358
|
"max": 2,
|
|
@@ -1404,6 +1380,8 @@ COPY --chown=node:node .yarn /app/.yarn",
|
|
|
1404
1380
|
"echo "$ENV_VARS" > ____envvars.yaml",
|
|
1405
1381
|
"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 --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 --memory=1024Mi --allow-unauthenticated --cpu-boost",
|
|
1406
1382
|
"docker image rm europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG",
|
|
1383
|
+
"echo Uploading SBOM to Dependency Track",
|
|
1384
|
+
"/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",
|
|
1407
1385
|
],
|
|
1408
1386
|
"services": [
|
|
1409
1387
|
{
|
|
@@ -1480,6 +1458,10 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
1480
1458
|
"artifacts": false,
|
|
1481
1459
|
"job": "api 🔨 docker | stage ",
|
|
1482
1460
|
},
|
|
1461
|
+
{
|
|
1462
|
+
"artifacts": true,
|
|
1463
|
+
"job": "api 🧾 sbom | stage ",
|
|
1464
|
+
},
|
|
1483
1465
|
],
|
|
1484
1466
|
"retry": {
|
|
1485
1467
|
"max": 2,
|
|
@@ -1507,6 +1489,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
1507
1489
|
"echo "$ENV_VARS" > ____envvars.yaml",
|
|
1508
1490
|
"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 --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 --memory=1024Mi --allow-unauthenticated --cpu-boost",
|
|
1509
1491
|
"docker image rm europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG",
|
|
1492
|
+
"echo Uploading SBOM to Dependency Track",
|
|
1493
|
+
"/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",
|
|
1510
1494
|
],
|
|
1511
1495
|
"services": [
|
|
1512
1496
|
{
|
|
@@ -1592,6 +1576,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
1592
1576
|
",
|
|
1593
1577
|
"gcloud auth activate-service-account --key-file="./____keyfile.json"",
|
|
1594
1578
|
"gcloud run services delete pan-test-app-prod-api --project=google-project-id --region=europe-west6",
|
|
1579
|
+
"echo Disabling component in Dependency Track",
|
|
1580
|
+
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/api" "https://pan-test-app-prod-api-unknown-host.example.com" || true",
|
|
1595
1581
|
"set -e",
|
|
1596
1582
|
],
|
|
1597
1583
|
"stage": "stop prod",
|
|
@@ -1637,6 +1623,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
1637
1623
|
",
|
|
1638
1624
|
"gcloud auth activate-service-account --key-file="./____keyfile.json"",
|
|
1639
1625
|
"gcloud run services delete pan-test-app-stage-api --project=google-project-id --region=europe-west6",
|
|
1626
|
+
"echo Disabling component in Dependency Track",
|
|
1627
|
+
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/api" "https://pan-test-app-stage-api-unknown-host.example.com" || true",
|
|
1640
1628
|
"set -e",
|
|
1641
1629
|
],
|
|
1642
1630
|
"stage": "stop stage",
|
|
@@ -1649,46 +1637,6 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
1649
1637
|
"KUBERNETES_MEMORY_REQUEST": "200Mi",
|
|
1650
1638
|
},
|
|
1651
1639
|
},
|
|
1652
|
-
"api 🧾 sbom upload | prod ": {
|
|
1653
|
-
"allow_failure": true,
|
|
1654
|
-
"image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
|
|
1655
|
-
"interruptible": true,
|
|
1656
|
-
"needs": [
|
|
1657
|
-
"api 🧾 sbom | prod ",
|
|
1658
|
-
],
|
|
1659
|
-
"retry": {
|
|
1660
|
-
"max": 2,
|
|
1661
|
-
"when": [
|
|
1662
|
-
"runner_system_failure",
|
|
1663
|
-
"stuck_or_timeout_failure",
|
|
1664
|
-
],
|
|
1665
|
-
},
|
|
1666
|
-
"script": [
|
|
1667
|
-
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "prod" "__sbom.json" vex.json",
|
|
1668
|
-
],
|
|
1669
|
-
"stage": "verify",
|
|
1670
|
-
"variables": {},
|
|
1671
|
-
},
|
|
1672
|
-
"api 🧾 sbom upload | stage ": {
|
|
1673
|
-
"allow_failure": true,
|
|
1674
|
-
"image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
|
|
1675
|
-
"interruptible": true,
|
|
1676
|
-
"needs": [
|
|
1677
|
-
"api 🧾 sbom | stage ",
|
|
1678
|
-
],
|
|
1679
|
-
"retry": {
|
|
1680
|
-
"max": 2,
|
|
1681
|
-
"when": [
|
|
1682
|
-
"runner_system_failure",
|
|
1683
|
-
"stuck_or_timeout_failure",
|
|
1684
|
-
],
|
|
1685
|
-
},
|
|
1686
|
-
"script": [
|
|
1687
|
-
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "stage" "__sbom.json" vex.json",
|
|
1688
|
-
],
|
|
1689
|
-
"stage": "verify",
|
|
1690
|
-
"variables": {},
|
|
1691
|
-
},
|
|
1692
1640
|
"api 🧾 sbom | prod ": {
|
|
1693
1641
|
"allow_failure": true,
|
|
1694
1642
|
"artifacts": {
|
|
@@ -1698,9 +1646,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
1698
1646
|
},
|
|
1699
1647
|
"image": "aquasec/trivy:0.38.3",
|
|
1700
1648
|
"interruptible": true,
|
|
1701
|
-
"needs": [
|
|
1702
|
-
"api 🚀 Deploy | prod ",
|
|
1703
|
-
],
|
|
1649
|
+
"needs": [],
|
|
1704
1650
|
"retry": {
|
|
1705
1651
|
"max": 2,
|
|
1706
1652
|
"when": [
|
|
@@ -1711,7 +1657,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
1711
1657
|
"script": [
|
|
1712
1658
|
"trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
|
|
1713
1659
|
],
|
|
1714
|
-
"stage": "
|
|
1660
|
+
"stage": "build",
|
|
1715
1661
|
"variables": {},
|
|
1716
1662
|
},
|
|
1717
1663
|
"api 🧾 sbom | stage ": {
|
|
@@ -1723,9 +1669,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
1723
1669
|
},
|
|
1724
1670
|
"image": "aquasec/trivy:0.38.3",
|
|
1725
1671
|
"interruptible": true,
|
|
1726
|
-
"needs": [
|
|
1727
|
-
"api 🚀 Deploy | stage ",
|
|
1728
|
-
],
|
|
1672
|
+
"needs": [],
|
|
1729
1673
|
"retry": {
|
|
1730
1674
|
"max": 2,
|
|
1731
1675
|
"when": [
|
|
@@ -1736,7 +1680,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
1736
1680
|
"script": [
|
|
1737
1681
|
"trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
|
|
1738
1682
|
],
|
|
1739
|
-
"stage": "
|
|
1683
|
+
"stage": "build",
|
|
1740
1684
|
"variables": {},
|
|
1741
1685
|
},
|
|
1742
1686
|
},
|
|
@@ -223,6 +223,10 @@ COPY --chown=node:node .yarn /app/.yarn",
|
|
|
223
223
|
"artifacts": false,
|
|
224
224
|
"job": "api 🧪 test",
|
|
225
225
|
},
|
|
226
|
+
{
|
|
227
|
+
"artifacts": true,
|
|
228
|
+
"job": "api 🧾 sbom | dev ",
|
|
229
|
+
},
|
|
226
230
|
{
|
|
227
231
|
"artifacts": false,
|
|
228
232
|
"job": "api 🛡 audit",
|
|
@@ -254,6 +258,8 @@ COPY --chown=node:node .yarn /app/.yarn",
|
|
|
254
258
|
"echo "$ENV_VARS" > ____envvars.yaml",
|
|
255
259
|
"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 --labels=customer-name=pan,app-name=test-app,env-type=dev,env-name=dev,build-type=node --env-vars-file=____envvars.yaml --min-instances=1 --max-instances=100 --no-cpu-throttling --allow-unauthenticated --cpu-boost",
|
|
256
260
|
"docker image rm europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG",
|
|
261
|
+
"echo Uploading SBOM to Dependency Track",
|
|
262
|
+
"/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",
|
|
257
263
|
],
|
|
258
264
|
"services": [
|
|
259
265
|
{
|
|
@@ -339,6 +345,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
339
345
|
",
|
|
340
346
|
"gcloud auth activate-service-account --key-file="./____keyfile.json"",
|
|
341
347
|
"gcloud run services delete pan-test-app-dev-api --project=google-project-id --region=europe-west6",
|
|
348
|
+
"echo Disabling component in Dependency Track",
|
|
349
|
+
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/api" "https://pan-test-app-dev-api-unknown-host.example.com" || true",
|
|
342
350
|
"set -e",
|
|
343
351
|
],
|
|
344
352
|
"stage": "stop dev",
|
|
@@ -419,26 +427,6 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
419
427
|
"KUBERNETES_MEMORY_REQUEST": "2Gi",
|
|
420
428
|
},
|
|
421
429
|
},
|
|
422
|
-
"api 🧾 sbom upload | dev ": {
|
|
423
|
-
"allow_failure": true,
|
|
424
|
-
"image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
|
|
425
|
-
"interruptible": true,
|
|
426
|
-
"needs": [
|
|
427
|
-
"api 🧾 sbom | dev ",
|
|
428
|
-
],
|
|
429
|
-
"retry": {
|
|
430
|
-
"max": 2,
|
|
431
|
-
"when": [
|
|
432
|
-
"runner_system_failure",
|
|
433
|
-
"stuck_or_timeout_failure",
|
|
434
|
-
],
|
|
435
|
-
},
|
|
436
|
-
"script": [
|
|
437
|
-
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "dev" "__sbom.json" vex.json",
|
|
438
|
-
],
|
|
439
|
-
"stage": "verify",
|
|
440
|
-
"variables": {},
|
|
441
|
-
},
|
|
442
430
|
"api 🧾 sbom | dev ": {
|
|
443
431
|
"allow_failure": true,
|
|
444
432
|
"artifacts": {
|
|
@@ -448,9 +436,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
448
436
|
},
|
|
449
437
|
"image": "aquasec/trivy:0.38.3",
|
|
450
438
|
"interruptible": true,
|
|
451
|
-
"needs": [
|
|
452
|
-
"api 🚀 Deploy | dev ",
|
|
453
|
-
],
|
|
439
|
+
"needs": [],
|
|
454
440
|
"retry": {
|
|
455
441
|
"max": 2,
|
|
456
442
|
"when": [
|
|
@@ -461,7 +447,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
461
447
|
"script": [
|
|
462
448
|
"trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
|
|
463
449
|
],
|
|
464
|
-
"stage": "
|
|
450
|
+
"stage": "build",
|
|
465
451
|
"variables": {},
|
|
466
452
|
},
|
|
467
453
|
},
|
|
@@ -754,6 +740,10 @@ COPY --chown=node:node .yarn /app/.yarn",
|
|
|
754
740
|
"artifacts": false,
|
|
755
741
|
"job": "api 🧪 test",
|
|
756
742
|
},
|
|
743
|
+
{
|
|
744
|
+
"artifacts": true,
|
|
745
|
+
"job": "api 🧾 sbom | review ",
|
|
746
|
+
},
|
|
757
747
|
{
|
|
758
748
|
"artifacts": false,
|
|
759
749
|
"job": "api 🛡 audit",
|
|
@@ -785,6 +775,8 @@ COPY --chown=node:node .yarn /app/.yarn",
|
|
|
785
775
|
"echo "$ENV_VARS" > ____envvars.yaml",
|
|
786
776
|
"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 --labels=customer-name=pan,app-name=test-app,env-type=review,env-name=review,build-type=node --env-vars-file=____envvars.yaml --min-instances=1 --max-instances=100 --no-cpu-throttling --allow-unauthenticated --cpu-boost",
|
|
787
777
|
"docker image rm europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG",
|
|
778
|
+
"echo Uploading SBOM to Dependency Track",
|
|
779
|
+
"/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",
|
|
788
780
|
],
|
|
789
781
|
"services": [
|
|
790
782
|
{
|
|
@@ -870,6 +862,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
870
862
|
",
|
|
871
863
|
"gcloud auth activate-service-account --key-file="./____keyfile.json"",
|
|
872
864
|
"gcloud run services delete pan-test-app-review-mr1234-api --project=google-project-id --region=europe-west6",
|
|
865
|
+
"echo Disabling component in Dependency Track",
|
|
866
|
+
"/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",
|
|
873
867
|
"set -e",
|
|
874
868
|
],
|
|
875
869
|
"stage": "stop review",
|
|
@@ -950,26 +944,6 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
950
944
|
"KUBERNETES_MEMORY_REQUEST": "2Gi",
|
|
951
945
|
},
|
|
952
946
|
},
|
|
953
|
-
"api 🧾 sbom upload | review ": {
|
|
954
|
-
"allow_failure": true,
|
|
955
|
-
"image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
|
|
956
|
-
"interruptible": true,
|
|
957
|
-
"needs": [
|
|
958
|
-
"api 🧾 sbom | review ",
|
|
959
|
-
],
|
|
960
|
-
"retry": {
|
|
961
|
-
"max": 2,
|
|
962
|
-
"when": [
|
|
963
|
-
"runner_system_failure",
|
|
964
|
-
"stuck_or_timeout_failure",
|
|
965
|
-
],
|
|
966
|
-
},
|
|
967
|
-
"script": [
|
|
968
|
-
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "review" "__sbom.json" vex.json",
|
|
969
|
-
],
|
|
970
|
-
"stage": "verify",
|
|
971
|
-
"variables": {},
|
|
972
|
-
},
|
|
973
947
|
"api 🧾 sbom | review ": {
|
|
974
948
|
"allow_failure": true,
|
|
975
949
|
"artifacts": {
|
|
@@ -979,9 +953,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
979
953
|
},
|
|
980
954
|
"image": "aquasec/trivy:0.38.3",
|
|
981
955
|
"interruptible": true,
|
|
982
|
-
"needs": [
|
|
983
|
-
"api 🚀 Deploy | review ",
|
|
984
|
-
],
|
|
956
|
+
"needs": [],
|
|
985
957
|
"retry": {
|
|
986
958
|
"max": 2,
|
|
987
959
|
"when": [
|
|
@@ -992,7 +964,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
992
964
|
"script": [
|
|
993
965
|
"trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
|
|
994
966
|
],
|
|
995
|
-
"stage": "
|
|
967
|
+
"stage": "build",
|
|
996
968
|
"variables": {},
|
|
997
969
|
},
|
|
998
970
|
},
|
|
@@ -1377,6 +1349,10 @@ COPY --chown=node:node .yarn /app/.yarn",
|
|
|
1377
1349
|
"artifacts": false,
|
|
1378
1350
|
"job": "api 🔨 docker | prod ",
|
|
1379
1351
|
},
|
|
1352
|
+
{
|
|
1353
|
+
"artifacts": true,
|
|
1354
|
+
"job": "api 🧾 sbom | prod ",
|
|
1355
|
+
},
|
|
1380
1356
|
],
|
|
1381
1357
|
"retry": {
|
|
1382
1358
|
"max": 2,
|
|
@@ -1404,6 +1380,8 @@ COPY --chown=node:node .yarn /app/.yarn",
|
|
|
1404
1380
|
"echo "$ENV_VARS" > ____envvars.yaml",
|
|
1405
1381
|
"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 --labels=customer-name=pan,app-name=test-app,env-type=prod,env-name=prod,build-type=node --env-vars-file=____envvars.yaml --min-instances=1 --max-instances=100 --no-cpu-throttling --allow-unauthenticated --cpu-boost",
|
|
1406
1382
|
"docker image rm europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG",
|
|
1383
|
+
"echo Uploading SBOM to Dependency Track",
|
|
1384
|
+
"/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",
|
|
1407
1385
|
],
|
|
1408
1386
|
"services": [
|
|
1409
1387
|
{
|
|
@@ -1480,6 +1458,10 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
1480
1458
|
"artifacts": false,
|
|
1481
1459
|
"job": "api 🔨 docker | stage ",
|
|
1482
1460
|
},
|
|
1461
|
+
{
|
|
1462
|
+
"artifacts": true,
|
|
1463
|
+
"job": "api 🧾 sbom | stage ",
|
|
1464
|
+
},
|
|
1483
1465
|
],
|
|
1484
1466
|
"retry": {
|
|
1485
1467
|
"max": 2,
|
|
@@ -1507,6 +1489,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
1507
1489
|
"echo "$ENV_VARS" > ____envvars.yaml",
|
|
1508
1490
|
"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 --labels=customer-name=pan,app-name=test-app,env-type=stage,env-name=stage,build-type=node --env-vars-file=____envvars.yaml --min-instances=1 --max-instances=100 --no-cpu-throttling --allow-unauthenticated --cpu-boost",
|
|
1509
1491
|
"docker image rm europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG",
|
|
1492
|
+
"echo Uploading SBOM to Dependency Track",
|
|
1493
|
+
"/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",
|
|
1510
1494
|
],
|
|
1511
1495
|
"services": [
|
|
1512
1496
|
{
|
|
@@ -1592,6 +1576,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
1592
1576
|
",
|
|
1593
1577
|
"gcloud auth activate-service-account --key-file="./____keyfile.json"",
|
|
1594
1578
|
"gcloud run services delete pan-test-app-prod-api --project=google-project-id --region=europe-west6",
|
|
1579
|
+
"echo Disabling component in Dependency Track",
|
|
1580
|
+
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/api" "https://pan-test-app-prod-api-unknown-host.example.com" || true",
|
|
1595
1581
|
"set -e",
|
|
1596
1582
|
],
|
|
1597
1583
|
"stage": "stop prod",
|
|
@@ -1637,6 +1623,8 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
1637
1623
|
",
|
|
1638
1624
|
"gcloud auth activate-service-account --key-file="./____keyfile.json"",
|
|
1639
1625
|
"gcloud run services delete pan-test-app-stage-api --project=google-project-id --region=europe-west6",
|
|
1626
|
+
"echo Disabling component in Dependency Track",
|
|
1627
|
+
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/api" "https://pan-test-app-stage-api-unknown-host.example.com" || true",
|
|
1640
1628
|
"set -e",
|
|
1641
1629
|
],
|
|
1642
1630
|
"stage": "stop stage",
|
|
@@ -1649,46 +1637,6 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
1649
1637
|
"KUBERNETES_MEMORY_REQUEST": "200Mi",
|
|
1650
1638
|
},
|
|
1651
1639
|
},
|
|
1652
|
-
"api 🧾 sbom upload | prod ": {
|
|
1653
|
-
"allow_failure": true,
|
|
1654
|
-
"image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
|
|
1655
|
-
"interruptible": true,
|
|
1656
|
-
"needs": [
|
|
1657
|
-
"api 🧾 sbom | prod ",
|
|
1658
|
-
],
|
|
1659
|
-
"retry": {
|
|
1660
|
-
"max": 2,
|
|
1661
|
-
"when": [
|
|
1662
|
-
"runner_system_failure",
|
|
1663
|
-
"stuck_or_timeout_failure",
|
|
1664
|
-
],
|
|
1665
|
-
},
|
|
1666
|
-
"script": [
|
|
1667
|
-
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "prod" "__sbom.json" vex.json",
|
|
1668
|
-
],
|
|
1669
|
-
"stage": "verify",
|
|
1670
|
-
"variables": {},
|
|
1671
|
-
},
|
|
1672
|
-
"api 🧾 sbom upload | stage ": {
|
|
1673
|
-
"allow_failure": true,
|
|
1674
|
-
"image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
|
|
1675
|
-
"interruptible": true,
|
|
1676
|
-
"needs": [
|
|
1677
|
-
"api 🧾 sbom | stage ",
|
|
1678
|
-
],
|
|
1679
|
-
"retry": {
|
|
1680
|
-
"max": 2,
|
|
1681
|
-
"when": [
|
|
1682
|
-
"runner_system_failure",
|
|
1683
|
-
"stuck_or_timeout_failure",
|
|
1684
|
-
],
|
|
1685
|
-
},
|
|
1686
|
-
"script": [
|
|
1687
|
-
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "stage" "__sbom.json" vex.json",
|
|
1688
|
-
],
|
|
1689
|
-
"stage": "verify",
|
|
1690
|
-
"variables": {},
|
|
1691
|
-
},
|
|
1692
1640
|
"api 🧾 sbom | prod ": {
|
|
1693
1641
|
"allow_failure": true,
|
|
1694
1642
|
"artifacts": {
|
|
@@ -1698,9 +1646,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
1698
1646
|
},
|
|
1699
1647
|
"image": "aquasec/trivy:0.38.3",
|
|
1700
1648
|
"interruptible": true,
|
|
1701
|
-
"needs": [
|
|
1702
|
-
"api 🚀 Deploy | prod ",
|
|
1703
|
-
],
|
|
1649
|
+
"needs": [],
|
|
1704
1650
|
"retry": {
|
|
1705
1651
|
"max": 2,
|
|
1706
1652
|
"when": [
|
|
@@ -1711,7 +1657,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
1711
1657
|
"script": [
|
|
1712
1658
|
"trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
|
|
1713
1659
|
],
|
|
1714
|
-
"stage": "
|
|
1660
|
+
"stage": "build",
|
|
1715
1661
|
"variables": {},
|
|
1716
1662
|
},
|
|
1717
1663
|
"api 🧾 sbom | stage ": {
|
|
@@ -1723,9 +1669,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
1723
1669
|
},
|
|
1724
1670
|
"image": "aquasec/trivy:0.38.3",
|
|
1725
1671
|
"interruptible": true,
|
|
1726
|
-
"needs": [
|
|
1727
|
-
"api 🚀 Deploy | stage ",
|
|
1728
|
-
],
|
|
1672
|
+
"needs": [],
|
|
1729
1673
|
"retry": {
|
|
1730
1674
|
"max": 2,
|
|
1731
1675
|
"when": [
|
|
@@ -1736,7 +1680,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
|
|
|
1736
1680
|
"script": [
|
|
1737
1681
|
"trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
|
|
1738
1682
|
],
|
|
1739
|
-
"stage": "
|
|
1683
|
+
"stage": "build",
|
|
1740
1684
|
"variables": {},
|
|
1741
1685
|
},
|
|
1742
1686
|
},
|