Skip to content

Commit 95f9e73

Browse files
authored
feat: private worker support (#87)
1 parent 0c29330 commit 95f9e73

File tree

3 files changed

+175
-17
lines changed

3 files changed

+175
-17
lines changed

ibm_catalog.json

Lines changed: 55 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -459,6 +459,33 @@
459459
"default_value": true,
460460
"description": "Set to `true` to add the compliance pipelines definitions to the DevSecOps pipelines.",
461461
"required": false
462+
},
463+
{
464+
"key": "create_privateworker_secret",
465+
"type": "boolean",
466+
"default_value": false,
467+
"description": "Set to `true` to add a specified private worker service api key to the Secrets Provider.",
468+
"required": false
469+
},
470+
{
471+
"key": "enable_privateworker",
472+
"type": "boolean",
473+
"default_value": false,
474+
"description": "Set to `true` to enable private workers for the CI, CD, CC and PR pipelines. A valid service api key must be set in Secrets Manager. The name of this secret can be specified using `privateworker_credentials_secret_name`.",
475+
"required": false
476+
},
477+
{
478+
"key": "privateworker_credentials_secret_name",
479+
"type": "string",
480+
"default_value": "private-worker-key",
481+
"description": "Name of the private worker secret in the secret provider.",
482+
"required": false
483+
},
484+
{
485+
"key": "privateworker_secret_value",
486+
"type": "password",
487+
"description": "The private worker service api key that will be added to the `privateworker_credentials_secret_name` secret in the secrets provider.",
488+
"required": false
462489
}
463490
],
464491
"outputs": [
@@ -756,7 +783,7 @@
756783
{
757784
"key": "app_repo_branch",
758785
"type": "string",
759-
"default_value": "main",
786+
"default_value": "master",
760787
"description": "This is the repository branch used by the default sample application. Alternatively if `app_repo_existing_url` is provided, then the branch must reflect the default branch for that repository. Typically these branches are `main` or `master`.",
761788
"required": false
762789
},
@@ -934,6 +961,33 @@
934961
"default_value": true,
935962
"description": "Set to `true` to add the compliance pipelines definitions to the DevSecOps pipelines.",
936963
"required": false
964+
},
965+
{
966+
"key": "create_privateworker_secret",
967+
"type": "boolean",
968+
"default_value": false,
969+
"description": "Set to `true` to add a specified private worker service api key to the Secrets Provider.",
970+
"required": false
971+
},
972+
{
973+
"key": "enable_privateworker",
974+
"type": "boolean",
975+
"default_value": false,
976+
"description": "Set to `true` to enable private workers for the CI, CD, CC and PR pipelines. A valid service api key must be set in Secrets Manager. The name of this secret can be specified using `privateworker_credentials_secret_name`.",
977+
"required": false
978+
},
979+
{
980+
"key": "privateworker_credentials_secret_name",
981+
"type": "string",
982+
"default_value": "private-worker-key",
983+
"description": "Name of the private worker secret in the secret provider.",
984+
"required": false
985+
},
986+
{
987+
"key": "privateworker_secret_value",
988+
"type": "password",
989+
"description": "The private worker service api key that will be added to the `privateworker_credentials_secret_name` secret in the secrets provider.",
990+
"required": false
937991
}
938992
],
939993
"outputs": [

kubernetes/stack_definition.json

Lines changed: 59 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@
166166
"required": false,
167167
"type": "string",
168168
"hidden": false,
169-
"default": "signing_key",
169+
"default": "signing-key",
170170
"custom_config": {}
171171
},
172172
{
@@ -390,6 +390,38 @@
390390
"hidden": false,
391391
"default": true,
392392
"custom_config": {}
393+
},
394+
{
395+
"name": "create_privateworker_secret",
396+
"required": false,
397+
"type": "boolean",
398+
"hidden": false,
399+
"default": false,
400+
"custom_config": {}
401+
},
402+
{
403+
"name": "enable_privateworker",
404+
"required": false,
405+
"type": "boolean",
406+
"hidden": false,
407+
"default": false,
408+
"custom_config": {}
409+
},
410+
{
411+
"name": "privateworker_credentials_secret_name",
412+
"required": false,
413+
"type": "string",
414+
"hidden": false,
415+
"default": "private-worker-key",
416+
"custom_config": {}
417+
},
418+
{
419+
"name": "privateworker_secret_value",
420+
"required": false,
421+
"type": "password",
422+
"hidden": false,
423+
"default": "",
424+
"custom_config": {}
393425
}
394426
],
395427
"members": [
@@ -413,7 +445,7 @@
413445
}
414446
],
415447
"name": "1 - Key Management",
416-
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.3b5c0ef5-6438-4e7b-8a88-88636bc590c6-global"
448+
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.00f91756-7287-4786-9ab0-fd12d30d8919-global"
417449
},
418450
{
419451
"inputs": [
@@ -435,7 +467,7 @@
435467
}
436468
],
437469
"name": "2 - Cloud Object Storage",
438-
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.f039fa0e-24f7-4c12-a617-1dee12997859-global"
470+
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.855893e4-62db-4f00-a867-0795231053fe-global"
439471
},
440472
{
441473
"inputs": [
@@ -499,7 +531,7 @@
499531
}
500532
],
501533
"name": "4 - Event Notifications",
502-
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.dfffe742-c7a1-452e-90b1-3080f1f57f78-global"
534+
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.88d7308d-c2c8-4977-92cf-f85d99e27d00-global"
503535
},
504536
{
505537
"inputs": [
@@ -537,7 +569,7 @@
537569
}
538570
],
539571
"name": "5 - Secrets Manager",
540-
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.e314e905-ca89-4947-aa94-23d270516f0e-global"
572+
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.4e7a383f-6295-4edc-b29f-858d28862e6d-global"
541573
},
542574
{
543575
"inputs": [
@@ -591,11 +623,11 @@
591623
}
592624
],
593625
"name": "6 - Security and Compliance Center",
594-
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.29b5ef2b-a3c1-4798-9595-ed1263945f82-global"
626+
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.0e4e8fc9-8953-4456-a51c-6ed6a3ca1bd7-global"
595627
},
596628
{
597629
"name": "7 - DevSecOps Toolchains",
598-
"version_locator": "1082e7d2-5e2f-0a11-a3bc-f88a8e1931fc.db73948a-5b92-4d65-8b41-e92ba883270f-global",
630+
"version_locator": "1082e7d2-5e2f-0a11-a3bc-f88a8e1931fc.1f5e0b6e-e03f-4988-8fba-6810ed59de29-global",
599631
"inputs": [
600632
{
601633
"name": "ibmcloud_api_key",
@@ -761,6 +793,10 @@
761793
"name": "repo_git_id",
762794
"value": "ref:../../inputs/repo_git_id"
763795
},
796+
{
797+
"name": "app_repo_existing_url",
798+
"value": "ref:../../inputs/app_repo_existing_url"
799+
},
764800
{
765801
"name": "evidence_repo_existing_url",
766802
"value": "ref:../../inputs/evidence_repo_existing_url"
@@ -808,6 +844,22 @@
808844
{
809845
"name": "add_pipeline_definitions",
810846
"value": "ref:../../inputs/add_pipeline_definitions"
847+
},
848+
{
849+
"name": "create_privateworker_secret",
850+
"value": "ref:../../inputs/create_privateworker_secret"
851+
},
852+
{
853+
"name": "enable_privateworker",
854+
"value": "ref:../../inputs/enable_privateworker"
855+
},
856+
{
857+
"name": "privateworker_credentials_secret_name",
858+
"value": "ref:../../inputs/privateworker_credentials_secret_name"
859+
},
860+
{
861+
"name": "privateworker_secret_value",
862+
"value": "ref:../../inputs/privateworker_secret_value"
811863
}
812864
]
813865
}

stack_definition.json

Lines changed: 61 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@
111111
"required": false,
112112
"type": "string",
113113
"hidden": false,
114-
"default": "signing_key",
114+
"default": "signing-key",
115115
"custom_config": {}
116116
},
117117
{
@@ -144,7 +144,7 @@
144144
"name": "app_repo_branch",
145145
"type": "string",
146146
"hidden": false,
147-
"default": "main",
147+
"default": "master",
148148
"required": false
149149
},
150150
{
@@ -345,6 +345,38 @@
345345
"hidden": false,
346346
"default": true,
347347
"custom_config": {}
348+
},
349+
{
350+
"name": "create_privateworker_secret",
351+
"required": false,
352+
"type": "boolean",
353+
"hidden": false,
354+
"default": false,
355+
"custom_config": {}
356+
},
357+
{
358+
"name": "enable_privateworker",
359+
"required": false,
360+
"type": "boolean",
361+
"hidden": false,
362+
"default": false,
363+
"custom_config": {}
364+
},
365+
{
366+
"name": "privateworker_credentials_secret_name",
367+
"required": false,
368+
"type": "string",
369+
"hidden": false,
370+
"default": "private-worker-key",
371+
"custom_config": {}
372+
},
373+
{
374+
"name": "privateworker_secret_value",
375+
"required": false,
376+
"type": "password",
377+
"hidden": false,
378+
"default": "",
379+
"custom_config": {}
348380
}
349381
],
350382
"members": [
@@ -368,7 +400,7 @@
368400
}
369401
],
370402
"name": "1 - Key Management",
371-
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.3b5c0ef5-6438-4e7b-8a88-88636bc590c6-global"
403+
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.00f91756-7287-4786-9ab0-fd12d30d8919-global"
372404
},
373405
{
374406
"inputs": [
@@ -390,7 +422,7 @@
390422
}
391423
],
392424
"name": "2 - Cloud Object Storage",
393-
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.f039fa0e-24f7-4c12-a617-1dee12997859-global"
425+
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.855893e4-62db-4f00-a867-0795231053fe-global"
394426
},
395427
{
396428
"inputs": [
@@ -454,7 +486,7 @@
454486
}
455487
],
456488
"name": "4 - Event Notifications",
457-
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.dfffe742-c7a1-452e-90b1-3080f1f57f78-global"
489+
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.88d7308d-c2c8-4977-92cf-f85d99e27d00-global"
458490
},
459491
{
460492
"inputs": [
@@ -492,7 +524,7 @@
492524
}
493525
],
494526
"name": "5 - Secrets Manager",
495-
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.e314e905-ca89-4947-aa94-23d270516f0e-global"
527+
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.4e7a383f-6295-4edc-b29f-858d28862e6d-global"
496528
},
497529
{
498530
"inputs": [
@@ -546,7 +578,7 @@
546578
}
547579
],
548580
"name": "6 - Security and Compliance Center",
549-
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.29b5ef2b-a3c1-4798-9595-ed1263945f82-global"
581+
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.0e4e8fc9-8953-4456-a51c-6ed6a3ca1bd7-global"
550582
},
551583
{
552584
"inputs": [
@@ -572,7 +604,7 @@
572604
},
573605
{
574606
"name": "8 - DevSecOps Toolchains",
575-
"version_locator": "1082e7d2-5e2f-0a11-a3bc-f88a8e1931fc.9974cbde-5213-46d3-9dfb-c0f2716e4464-global",
607+
"version_locator": "1082e7d2-5e2f-0a11-a3bc-f88a8e1931fc.1f5e0b6e-e03f-4988-8fba-6810ed59de29-global",
576608
"inputs": [
577609
{
578610
"name": "ibmcloud_api_key",
@@ -722,6 +754,10 @@
722754
"name": "repo_git_id",
723755
"value": "ref:../../inputs/repo_git_id"
724756
},
757+
{
758+
"name": "app_repo_existing_url",
759+
"value": "ref:../../inputs/app_repo_existing_url"
760+
},
725761
{
726762
"name": "evidence_repo_existing_url",
727763
"value": "ref:../../inputs/evidence_repo_existing_url"
@@ -769,7 +805,23 @@
769805
{
770806
"name": "add_pipeline_definitions",
771807
"value": "ref:../../inputs/add_pipeline_definitions"
772-
}
808+
},
809+
{
810+
"name": "create_privateworker_secret",
811+
"value": "ref:../../inputs/create_privateworker_secret"
812+
},
813+
{
814+
"name": "enable_privateworker",
815+
"value": "ref:../../inputs/enable_privateworker"
816+
},
817+
{
818+
"name": "privateworker_credentials_secret_name",
819+
"value": "ref:../../inputs/privateworker_credentials_secret_name"
820+
},
821+
{
822+
"name": "privateworker_secret_value",
823+
"value": "ref:../../inputs/privateworker_secret_value"
824+
}
773825
]
774826
}
775827
],

0 commit comments

Comments
 (0)