@catladder/pipeline 1.97.2 โ 1.98.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/types.d.ts +10 -0
- package/dist/bundles/catladder-gitlab/index.js +1 -1
- package/dist/constants.js +1 -1
- package/dist/pipeline/createJobsForComponent.js +3 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/verify/reporting.d.ts +3 -0
- package/dist/verify/reporting.js +48 -0
- package/examples/__snapshots__/cloud-run-memory-limit.ts.snap +196 -0
- package/examples/__snapshots__/cloud-run-no-cpu-throttling.ts.snap +196 -0
- package/examples/__snapshots__/cloud-run-non-public.ts.snap +196 -0
- package/examples/__snapshots__/cloud-run-with-sql-reuse-db.ts.snap +392 -0
- package/examples/__snapshots__/cloud-run-with-sql.ts.snap +392 -0
- package/examples/__snapshots__/custom-build-job-with-tests.ts.snap +196 -0
- package/examples/__snapshots__/custom-build-job.ts.snap +196 -0
- package/examples/__snapshots__/custom-deploy.ts.snap +196 -0
- package/examples/__snapshots__/custom-sbom-java.ts.snap +1386 -0
- package/examples/__snapshots__/kubernetes-application-customization.ts.snap +196 -0
- package/examples/__snapshots__/kubernetes-with-cloud-sql-legacy.ts.snap +196 -0
- package/examples/__snapshots__/kubernetes-with-cloud-sql.ts.snap +196 -0
- package/examples/__snapshots__/kubernetes-with-jobs.ts.snap +392 -0
- package/examples/__snapshots__/rails-k8s-with-worker.ts.snap +196 -0
- package/examples/__snapshots__/wait-for-other-deploy.ts.snap +392 -0
- package/examples/custom-sbom-java.ts +34 -0
- package/package.json +1 -1
- package/src/build/types.ts +13 -0
- package/src/pipeline/createJobsForComponent.ts +3 -1
- package/src/verify/reporting.ts +69 -0
|
@@ -428,6 +428,55 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","HOST","ROOT_URL","HOST_CA
|
|
|
428
428
|
"KUBERNETES_MEMORY_REQUEST": "2Gi",
|
|
429
429
|
},
|
|
430
430
|
},
|
|
431
|
+
"api ๐งพ sbom upload | dev ": {
|
|
432
|
+
"allow_failure": true,
|
|
433
|
+
"cache": undefined,
|
|
434
|
+
"environment": undefined,
|
|
435
|
+
"image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
|
|
436
|
+
"interruptible": true,
|
|
437
|
+
"needs": [
|
|
438
|
+
"api ๐งพ sbom | dev ",
|
|
439
|
+
],
|
|
440
|
+
"retry": {
|
|
441
|
+
"max": 2,
|
|
442
|
+
"when": [
|
|
443
|
+
"runner_system_failure",
|
|
444
|
+
"stuck_or_timeout_failure",
|
|
445
|
+
],
|
|
446
|
+
},
|
|
447
|
+
"script": [
|
|
448
|
+
"/dtrackuploader https://dep.panter.dev/ "$DT_KEY" upload "pan-test-app/api" "dev" "__sbom.json" vex.json",
|
|
449
|
+
],
|
|
450
|
+
"stage": "verify",
|
|
451
|
+
"variables": {},
|
|
452
|
+
},
|
|
453
|
+
"api ๐งพ sbom | dev ": {
|
|
454
|
+
"allow_failure": true,
|
|
455
|
+
"artifacts": {
|
|
456
|
+
"paths": [
|
|
457
|
+
"__sbom.json",
|
|
458
|
+
],
|
|
459
|
+
},
|
|
460
|
+
"cache": undefined,
|
|
461
|
+
"environment": undefined,
|
|
462
|
+
"image": "aquasec/trivy:0.38.3",
|
|
463
|
+
"interruptible": true,
|
|
464
|
+
"needs": [
|
|
465
|
+
"api ๐ Deploy | dev ",
|
|
466
|
+
],
|
|
467
|
+
"retry": {
|
|
468
|
+
"max": 2,
|
|
469
|
+
"when": [
|
|
470
|
+
"runner_system_failure",
|
|
471
|
+
"stuck_or_timeout_failure",
|
|
472
|
+
],
|
|
473
|
+
},
|
|
474
|
+
"script": [
|
|
475
|
+
"trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
|
|
476
|
+
],
|
|
477
|
+
"stage": "verify",
|
|
478
|
+
"variables": {},
|
|
479
|
+
},
|
|
431
480
|
"worker ๐ฎ lint": {
|
|
432
481
|
"cache": [
|
|
433
482
|
{
|
|
@@ -851,6 +900,55 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","HOST","ROOT_URL","HOST_CA
|
|
|
851
900
|
"KUBERNETES_MEMORY_REQUEST": "2Gi",
|
|
852
901
|
},
|
|
853
902
|
},
|
|
903
|
+
"worker ๐งพ sbom upload | dev ": {
|
|
904
|
+
"allow_failure": true,
|
|
905
|
+
"cache": undefined,
|
|
906
|
+
"environment": undefined,
|
|
907
|
+
"image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
|
|
908
|
+
"interruptible": true,
|
|
909
|
+
"needs": [
|
|
910
|
+
"worker ๐งพ sbom | dev ",
|
|
911
|
+
],
|
|
912
|
+
"retry": {
|
|
913
|
+
"max": 2,
|
|
914
|
+
"when": [
|
|
915
|
+
"runner_system_failure",
|
|
916
|
+
"stuck_or_timeout_failure",
|
|
917
|
+
],
|
|
918
|
+
},
|
|
919
|
+
"script": [
|
|
920
|
+
"/dtrackuploader https://dep.panter.dev/ "$DT_KEY" upload "pan-test-app/worker" "dev" "__sbom.json" vex.json",
|
|
921
|
+
],
|
|
922
|
+
"stage": "verify",
|
|
923
|
+
"variables": {},
|
|
924
|
+
},
|
|
925
|
+
"worker ๐งพ sbom | dev ": {
|
|
926
|
+
"allow_failure": true,
|
|
927
|
+
"artifacts": {
|
|
928
|
+
"paths": [
|
|
929
|
+
"__sbom.json",
|
|
930
|
+
],
|
|
931
|
+
},
|
|
932
|
+
"cache": undefined,
|
|
933
|
+
"environment": undefined,
|
|
934
|
+
"image": "aquasec/trivy:0.38.3",
|
|
935
|
+
"interruptible": true,
|
|
936
|
+
"needs": [
|
|
937
|
+
"worker ๐ Deploy | dev ",
|
|
938
|
+
],
|
|
939
|
+
"retry": {
|
|
940
|
+
"max": 2,
|
|
941
|
+
"when": [
|
|
942
|
+
"runner_system_failure",
|
|
943
|
+
"stuck_or_timeout_failure",
|
|
944
|
+
],
|
|
945
|
+
},
|
|
946
|
+
"script": [
|
|
947
|
+
"trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
|
|
948
|
+
],
|
|
949
|
+
"stage": "verify",
|
|
950
|
+
"variables": {},
|
|
951
|
+
},
|
|
854
952
|
},
|
|
855
953
|
"stages": [
|
|
856
954
|
"setup",
|
|
@@ -1355,6 +1453,55 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","HOST","ROOT_URL","HOST_CA
|
|
|
1355
1453
|
"KUBERNETES_MEMORY_REQUEST": "2Gi",
|
|
1356
1454
|
},
|
|
1357
1455
|
},
|
|
1456
|
+
"api ๐งพ sbom upload | review ": {
|
|
1457
|
+
"allow_failure": true,
|
|
1458
|
+
"cache": undefined,
|
|
1459
|
+
"environment": undefined,
|
|
1460
|
+
"image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
|
|
1461
|
+
"interruptible": true,
|
|
1462
|
+
"needs": [
|
|
1463
|
+
"api ๐งพ sbom | review ",
|
|
1464
|
+
],
|
|
1465
|
+
"retry": {
|
|
1466
|
+
"max": 2,
|
|
1467
|
+
"when": [
|
|
1468
|
+
"runner_system_failure",
|
|
1469
|
+
"stuck_or_timeout_failure",
|
|
1470
|
+
],
|
|
1471
|
+
},
|
|
1472
|
+
"script": [
|
|
1473
|
+
"/dtrackuploader https://dep.panter.dev/ "$DT_KEY" upload "pan-test-app/api" "review" "__sbom.json" vex.json",
|
|
1474
|
+
],
|
|
1475
|
+
"stage": "verify",
|
|
1476
|
+
"variables": {},
|
|
1477
|
+
},
|
|
1478
|
+
"api ๐งพ sbom | review ": {
|
|
1479
|
+
"allow_failure": true,
|
|
1480
|
+
"artifacts": {
|
|
1481
|
+
"paths": [
|
|
1482
|
+
"__sbom.json",
|
|
1483
|
+
],
|
|
1484
|
+
},
|
|
1485
|
+
"cache": undefined,
|
|
1486
|
+
"environment": undefined,
|
|
1487
|
+
"image": "aquasec/trivy:0.38.3",
|
|
1488
|
+
"interruptible": true,
|
|
1489
|
+
"needs": [
|
|
1490
|
+
"api ๐ Deploy | review ",
|
|
1491
|
+
],
|
|
1492
|
+
"retry": {
|
|
1493
|
+
"max": 2,
|
|
1494
|
+
"when": [
|
|
1495
|
+
"runner_system_failure",
|
|
1496
|
+
"stuck_or_timeout_failure",
|
|
1497
|
+
],
|
|
1498
|
+
},
|
|
1499
|
+
"script": [
|
|
1500
|
+
"trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
|
|
1501
|
+
],
|
|
1502
|
+
"stage": "verify",
|
|
1503
|
+
"variables": {},
|
|
1504
|
+
},
|
|
1358
1505
|
"worker ๐ฎ lint": {
|
|
1359
1506
|
"cache": [
|
|
1360
1507
|
{
|
|
@@ -1787,6 +1934,55 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","HOST","ROOT_URL","HOST_CA
|
|
|
1787
1934
|
"KUBERNETES_MEMORY_REQUEST": "2Gi",
|
|
1788
1935
|
},
|
|
1789
1936
|
},
|
|
1937
|
+
"worker ๐งพ sbom upload | review ": {
|
|
1938
|
+
"allow_failure": true,
|
|
1939
|
+
"cache": undefined,
|
|
1940
|
+
"environment": undefined,
|
|
1941
|
+
"image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
|
|
1942
|
+
"interruptible": true,
|
|
1943
|
+
"needs": [
|
|
1944
|
+
"worker ๐งพ sbom | review ",
|
|
1945
|
+
],
|
|
1946
|
+
"retry": {
|
|
1947
|
+
"max": 2,
|
|
1948
|
+
"when": [
|
|
1949
|
+
"runner_system_failure",
|
|
1950
|
+
"stuck_or_timeout_failure",
|
|
1951
|
+
],
|
|
1952
|
+
},
|
|
1953
|
+
"script": [
|
|
1954
|
+
"/dtrackuploader https://dep.panter.dev/ "$DT_KEY" upload "pan-test-app/worker" "review" "__sbom.json" vex.json",
|
|
1955
|
+
],
|
|
1956
|
+
"stage": "verify",
|
|
1957
|
+
"variables": {},
|
|
1958
|
+
},
|
|
1959
|
+
"worker ๐งพ sbom | review ": {
|
|
1960
|
+
"allow_failure": true,
|
|
1961
|
+
"artifacts": {
|
|
1962
|
+
"paths": [
|
|
1963
|
+
"__sbom.json",
|
|
1964
|
+
],
|
|
1965
|
+
},
|
|
1966
|
+
"cache": undefined,
|
|
1967
|
+
"environment": undefined,
|
|
1968
|
+
"image": "aquasec/trivy:0.38.3",
|
|
1969
|
+
"interruptible": true,
|
|
1970
|
+
"needs": [
|
|
1971
|
+
"worker ๐ Deploy | review ",
|
|
1972
|
+
],
|
|
1973
|
+
"retry": {
|
|
1974
|
+
"max": 2,
|
|
1975
|
+
"when": [
|
|
1976
|
+
"runner_system_failure",
|
|
1977
|
+
"stuck_or_timeout_failure",
|
|
1978
|
+
],
|
|
1979
|
+
},
|
|
1980
|
+
"script": [
|
|
1981
|
+
"trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
|
|
1982
|
+
],
|
|
1983
|
+
"stage": "verify",
|
|
1984
|
+
"variables": {},
|
|
1985
|
+
},
|
|
1790
1986
|
},
|
|
1791
1987
|
"stages": [
|
|
1792
1988
|
"setup",
|
|
@@ -2459,6 +2655,104 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","HOST","ROOT_URL","HOST_CA
|
|
|
2459
2655
|
"KUBERNETES_MEMORY_REQUEST": "200Mi",
|
|
2460
2656
|
},
|
|
2461
2657
|
},
|
|
2658
|
+
"api ๐งพ sbom upload | prod ": {
|
|
2659
|
+
"allow_failure": true,
|
|
2660
|
+
"cache": undefined,
|
|
2661
|
+
"environment": undefined,
|
|
2662
|
+
"image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
|
|
2663
|
+
"interruptible": true,
|
|
2664
|
+
"needs": [
|
|
2665
|
+
"api ๐งพ sbom | prod ",
|
|
2666
|
+
],
|
|
2667
|
+
"retry": {
|
|
2668
|
+
"max": 2,
|
|
2669
|
+
"when": [
|
|
2670
|
+
"runner_system_failure",
|
|
2671
|
+
"stuck_or_timeout_failure",
|
|
2672
|
+
],
|
|
2673
|
+
},
|
|
2674
|
+
"script": [
|
|
2675
|
+
"/dtrackuploader https://dep.panter.dev/ "$DT_KEY" upload "pan-test-app/api" "prod" "__sbom.json" vex.json",
|
|
2676
|
+
],
|
|
2677
|
+
"stage": "verify",
|
|
2678
|
+
"variables": {},
|
|
2679
|
+
},
|
|
2680
|
+
"api ๐งพ sbom upload | stage ": {
|
|
2681
|
+
"allow_failure": true,
|
|
2682
|
+
"cache": undefined,
|
|
2683
|
+
"environment": undefined,
|
|
2684
|
+
"image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
|
|
2685
|
+
"interruptible": true,
|
|
2686
|
+
"needs": [
|
|
2687
|
+
"api ๐งพ sbom | stage ",
|
|
2688
|
+
],
|
|
2689
|
+
"retry": {
|
|
2690
|
+
"max": 2,
|
|
2691
|
+
"when": [
|
|
2692
|
+
"runner_system_failure",
|
|
2693
|
+
"stuck_or_timeout_failure",
|
|
2694
|
+
],
|
|
2695
|
+
},
|
|
2696
|
+
"script": [
|
|
2697
|
+
"/dtrackuploader https://dep.panter.dev/ "$DT_KEY" upload "pan-test-app/api" "stage" "__sbom.json" vex.json",
|
|
2698
|
+
],
|
|
2699
|
+
"stage": "verify",
|
|
2700
|
+
"variables": {},
|
|
2701
|
+
},
|
|
2702
|
+
"api ๐งพ sbom | prod ": {
|
|
2703
|
+
"allow_failure": true,
|
|
2704
|
+
"artifacts": {
|
|
2705
|
+
"paths": [
|
|
2706
|
+
"__sbom.json",
|
|
2707
|
+
],
|
|
2708
|
+
},
|
|
2709
|
+
"cache": undefined,
|
|
2710
|
+
"environment": undefined,
|
|
2711
|
+
"image": "aquasec/trivy:0.38.3",
|
|
2712
|
+
"interruptible": true,
|
|
2713
|
+
"needs": [
|
|
2714
|
+
"api ๐ Deploy | prod ",
|
|
2715
|
+
],
|
|
2716
|
+
"retry": {
|
|
2717
|
+
"max": 2,
|
|
2718
|
+
"when": [
|
|
2719
|
+
"runner_system_failure",
|
|
2720
|
+
"stuck_or_timeout_failure",
|
|
2721
|
+
],
|
|
2722
|
+
},
|
|
2723
|
+
"script": [
|
|
2724
|
+
"trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
|
|
2725
|
+
],
|
|
2726
|
+
"stage": "verify",
|
|
2727
|
+
"variables": {},
|
|
2728
|
+
},
|
|
2729
|
+
"api ๐งพ sbom | stage ": {
|
|
2730
|
+
"allow_failure": true,
|
|
2731
|
+
"artifacts": {
|
|
2732
|
+
"paths": [
|
|
2733
|
+
"__sbom.json",
|
|
2734
|
+
],
|
|
2735
|
+
},
|
|
2736
|
+
"cache": undefined,
|
|
2737
|
+
"environment": undefined,
|
|
2738
|
+
"image": "aquasec/trivy:0.38.3",
|
|
2739
|
+
"interruptible": true,
|
|
2740
|
+
"needs": [
|
|
2741
|
+
"api ๐ Deploy | stage ",
|
|
2742
|
+
],
|
|
2743
|
+
"retry": {
|
|
2744
|
+
"max": 2,
|
|
2745
|
+
"when": [
|
|
2746
|
+
"runner_system_failure",
|
|
2747
|
+
"stuck_or_timeout_failure",
|
|
2748
|
+
],
|
|
2749
|
+
},
|
|
2750
|
+
"script": [
|
|
2751
|
+
"trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
|
|
2752
|
+
],
|
|
2753
|
+
"stage": "verify",
|
|
2754
|
+
"variables": {},
|
|
2755
|
+
},
|
|
2462
2756
|
"worker ๐จ app | prod ": {
|
|
2463
2757
|
"artifacts": {
|
|
2464
2758
|
"paths": [
|
|
@@ -3059,6 +3353,104 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","HOST","ROOT_URL","HOST_CA
|
|
|
3059
3353
|
"KUBERNETES_MEMORY_REQUEST": "200Mi",
|
|
3060
3354
|
},
|
|
3061
3355
|
},
|
|
3356
|
+
"worker ๐งพ sbom upload | prod ": {
|
|
3357
|
+
"allow_failure": true,
|
|
3358
|
+
"cache": undefined,
|
|
3359
|
+
"environment": undefined,
|
|
3360
|
+
"image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
|
|
3361
|
+
"interruptible": true,
|
|
3362
|
+
"needs": [
|
|
3363
|
+
"worker ๐งพ sbom | prod ",
|
|
3364
|
+
],
|
|
3365
|
+
"retry": {
|
|
3366
|
+
"max": 2,
|
|
3367
|
+
"when": [
|
|
3368
|
+
"runner_system_failure",
|
|
3369
|
+
"stuck_or_timeout_failure",
|
|
3370
|
+
],
|
|
3371
|
+
},
|
|
3372
|
+
"script": [
|
|
3373
|
+
"/dtrackuploader https://dep.panter.dev/ "$DT_KEY" upload "pan-test-app/worker" "prod" "__sbom.json" vex.json",
|
|
3374
|
+
],
|
|
3375
|
+
"stage": "verify",
|
|
3376
|
+
"variables": {},
|
|
3377
|
+
},
|
|
3378
|
+
"worker ๐งพ sbom upload | stage ": {
|
|
3379
|
+
"allow_failure": true,
|
|
3380
|
+
"cache": undefined,
|
|
3381
|
+
"environment": undefined,
|
|
3382
|
+
"image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
|
|
3383
|
+
"interruptible": true,
|
|
3384
|
+
"needs": [
|
|
3385
|
+
"worker ๐งพ sbom | stage ",
|
|
3386
|
+
],
|
|
3387
|
+
"retry": {
|
|
3388
|
+
"max": 2,
|
|
3389
|
+
"when": [
|
|
3390
|
+
"runner_system_failure",
|
|
3391
|
+
"stuck_or_timeout_failure",
|
|
3392
|
+
],
|
|
3393
|
+
},
|
|
3394
|
+
"script": [
|
|
3395
|
+
"/dtrackuploader https://dep.panter.dev/ "$DT_KEY" upload "pan-test-app/worker" "stage" "__sbom.json" vex.json",
|
|
3396
|
+
],
|
|
3397
|
+
"stage": "verify",
|
|
3398
|
+
"variables": {},
|
|
3399
|
+
},
|
|
3400
|
+
"worker ๐งพ sbom | prod ": {
|
|
3401
|
+
"allow_failure": true,
|
|
3402
|
+
"artifacts": {
|
|
3403
|
+
"paths": [
|
|
3404
|
+
"__sbom.json",
|
|
3405
|
+
],
|
|
3406
|
+
},
|
|
3407
|
+
"cache": undefined,
|
|
3408
|
+
"environment": undefined,
|
|
3409
|
+
"image": "aquasec/trivy:0.38.3",
|
|
3410
|
+
"interruptible": true,
|
|
3411
|
+
"needs": [
|
|
3412
|
+
"worker ๐ Deploy | prod ",
|
|
3413
|
+
],
|
|
3414
|
+
"retry": {
|
|
3415
|
+
"max": 2,
|
|
3416
|
+
"when": [
|
|
3417
|
+
"runner_system_failure",
|
|
3418
|
+
"stuck_or_timeout_failure",
|
|
3419
|
+
],
|
|
3420
|
+
},
|
|
3421
|
+
"script": [
|
|
3422
|
+
"trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
|
|
3423
|
+
],
|
|
3424
|
+
"stage": "verify",
|
|
3425
|
+
"variables": {},
|
|
3426
|
+
},
|
|
3427
|
+
"worker ๐งพ sbom | stage ": {
|
|
3428
|
+
"allow_failure": true,
|
|
3429
|
+
"artifacts": {
|
|
3430
|
+
"paths": [
|
|
3431
|
+
"__sbom.json",
|
|
3432
|
+
],
|
|
3433
|
+
},
|
|
3434
|
+
"cache": undefined,
|
|
3435
|
+
"environment": undefined,
|
|
3436
|
+
"image": "aquasec/trivy:0.38.3",
|
|
3437
|
+
"interruptible": true,
|
|
3438
|
+
"needs": [
|
|
3439
|
+
"worker ๐ Deploy | stage ",
|
|
3440
|
+
],
|
|
3441
|
+
"retry": {
|
|
3442
|
+
"max": 2,
|
|
3443
|
+
"when": [
|
|
3444
|
+
"runner_system_failure",
|
|
3445
|
+
"stuck_or_timeout_failure",
|
|
3446
|
+
],
|
|
3447
|
+
},
|
|
3448
|
+
"script": [
|
|
3449
|
+
"trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
|
|
3450
|
+
],
|
|
3451
|
+
"stage": "verify",
|
|
3452
|
+
"variables": {},
|
|
3453
|
+
},
|
|
3062
3454
|
},
|
|
3063
3455
|
"stages": [
|
|
3064
3456
|
"setup",
|