Skip to content

Commit 9043d16

Browse files
authored
feat: add kubernetes target variant (#32)
1 parent e272698 commit 9043d16

File tree

4 files changed

+1325
-162
lines changed

4 files changed

+1325
-162
lines changed

ibm_catalog.json

Lines changed: 354 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
{
4747
"label": "Deploy on Code Engine",
4848
"name": "alm-stack-ce",
49+
"working_directory": "./",
4950
"compliance": {},
5051
"architecture": {
5152
"features": [
@@ -110,6 +111,69 @@
110111
"description": "Default prefix for repos and resources",
111112
"required": false
112113
},
114+
{
115+
"key": "resource_group_name",
116+
"type": "string",
117+
"default_value": "devsecops",
118+
"description": "The name of the resource group",
119+
"required": false
120+
},
121+
{
122+
"key": "bucket_name",
123+
"type": "string",
124+
"default_value": "devsecops",
125+
"description": "The name of the COS bucket that is created.",
126+
"required": false
127+
},
128+
{
129+
"key": "registry_namespace",
130+
"type": "string",
131+
"default_value": "devsecops",
132+
"description": "The name of the registry namespace.",
133+
"required": false
134+
},
135+
{
136+
"key": "create_cd_instance",
137+
"type": "boolean",
138+
"default_value": false,
139+
"description": "Set to `true` to create Continuous Delivery Service. ",
140+
"required": false
141+
},
142+
{
143+
"key": "pipeline_ibmcloud_api_key_secret_name",
144+
"type": "string",
145+
"default_value": "ibmcloud-api-key",
146+
"description": "The name of the IBMcloud api key for running the pipelines.",
147+
"required": false
148+
},
149+
{
150+
"key": "ci_signing_key_secret_name",
151+
"type": "string",
152+
"default_value": "signing_key",
153+
"description": "The name of the signing key.",
154+
"required": false
155+
},
156+
{
157+
"key": "cd_code_signing_cert_secret_name",
158+
"type": "string",
159+
"default_value": "signing-certificate",
160+
"description": "The name of the signing certificate.",
161+
"required": false
162+
},
163+
{
164+
"key": "cos_api_key_secret_name",
165+
"type": "string",
166+
"default_value": "cos-api-key",
167+
"description": "The name of the COS api key.",
168+
"required": false
169+
},
170+
{
171+
"key": "sm_secret_group",
172+
"type": "string",
173+
"default_value": "devsecops",
174+
"description": "The secrets group created in Secrets Manager",
175+
"required": false
176+
},
113177
{
114178
"key": "sm_service_plan",
115179
"type": "string",
@@ -145,7 +209,7 @@
145209
]
146210
},
147211
{
148-
"key": "scc-region",
212+
"key": "scc_region",
149213
"type": "string",
150214
"default_value": "us-south",
151215
"description": "The region in which all resources are deployed except SCC and Event Notifications which default to us-south but can do change in optional properties.",
@@ -187,6 +251,295 @@
187251
]
188252
}
189253
}
254+
},
255+
{
256+
"key": "use_existing_resource_group",
257+
"type": "boolean",
258+
"default_value": true,
259+
"description": "Set to `true` to create and add a `cos-api-key` to the Secrets Provider.",
260+
"required": true
261+
}
262+
],
263+
"outputs": [
264+
{
265+
"key": "compliance-ci-url",
266+
"description": "The URL to the Continuous Integration toolchain for the sample application."
267+
},
268+
{
269+
"key": "compliance-cd-url",
270+
"description": "The URL to the Continuous Deployment toolchain for the sample application."
271+
},
272+
{
273+
"key": "compliance-cc-url",
274+
"description": "The URL to the Continuous Compliance toolchain for the sample application."
275+
}
276+
],
277+
"install_type": "fullstack"
278+
},
279+
{
280+
"label": "Deploy on Kubernetes",
281+
"name": "alm-stack-kube",
282+
"working_directory": "./kubernetes",
283+
"compliance": {},
284+
"architecture": {
285+
"features": [
286+
{
287+
"title": "Implement Security",
288+
"description": "The architecture ensures security by deploying IBM Key Protect and IBM Secrets Manager."
289+
},
290+
{
291+
"title": "Achieve Regulatory Compliance",
292+
"description": "The architecture ensures regulatory compliance by implementing CI/CD/CC pipelines, along with IBM Security Compliance Center (SCC) for secure application lifecycle management."
293+
},
294+
{
295+
"title": "Establish Trust",
296+
"description": "The architecture ensures trust by configuring the IBM Cloud account to align with compliance settings as defined in the Financial Services framework."
297+
}
298+
],
299+
"diagrams": [
300+
{
301+
"diagram": {
302+
"url": "https://github.com/terraform-ibm-modules/terraform-ibm-devsecops-alm/blob/main/reference-architectures/diagram-deploy-arch-ibm-devsecops-alm-diagram.svg",
303+
"caption": "Reference architecture",
304+
"type": "image/svg+xml",
305+
"thumbnail_url": "https://github.com/terraform-ibm-modules/terraform-ibm-devsecops-alm/blob/main/reference-architectures/diagram-deploy-arch-ibm-devsecops-alm-diagram.svg"
306+
},
307+
"description": "Reference architecture"
308+
}
309+
]
310+
},
311+
"configuration": [
312+
{
313+
"key": "ibmcloud_api_key",
314+
"type": "password",
315+
"description": "The API Key used to provision all resources created in this solution.",
316+
"required": true
317+
},
318+
{
319+
"key": "region",
320+
"type": "string",
321+
"default_value": "eu-gb",
322+
"description": "The region in which all resources are deployed except SCC and Event Notifications that default to us-south but can be changed in optional properties.",
323+
"display_name": "Region",
324+
"required": true,
325+
"custom_config": {
326+
"type": "region",
327+
"grouping": "deployment",
328+
"original_grouping": "deployment",
329+
"config_constraints": {
330+
"filterString": "id:au-syd,br-sao,ca-tor,eu-de,eu-es,eu-gb,jp-osa,jp-tok,us-east,us-south",
331+
"showKinds": [
332+
"region",
333+
"zone",
334+
"dc",
335+
"location"
336+
]
337+
}
338+
}
339+
},
340+
{
341+
"key": "cluster_name",
342+
"type": "string",
343+
"default_value": "mycluster",
344+
"description": "The name of cluster. Treats the dev and prod cluster as the same cluster.",
345+
"required": true
346+
},
347+
{
348+
"key": "prefix",
349+
"type": "string",
350+
"default_value": "devsecops",
351+
"description": "Default prefix for repos and resources",
352+
"required": false
353+
},
354+
{
355+
"key": "resource_group_name",
356+
"type": "string",
357+
"default_value": "devsecops",
358+
"description": "The name of the resource group",
359+
"required": false
360+
},
361+
{
362+
"key": "bucket_name",
363+
"type": "string",
364+
"default_value": "devsecops",
365+
"description": "The name of the COS bucket that is created.",
366+
"required": false
367+
},
368+
{
369+
"key": "registry_namespace",
370+
"type": "string",
371+
"default_value": "devsecops",
372+
"description": "The name of the registry namespace.",
373+
"required": false
374+
},
375+
{
376+
"key": "create_cd_instance",
377+
"type": "boolean",
378+
"default_value": false,
379+
"description": "Set to `true` to create Continuous Delivery Service. ",
380+
"required": false
381+
},
382+
{
383+
"key": "ci_cluster_name",
384+
"type": "string",
385+
"default_value": "",
386+
"description": "The name of dev cluster",
387+
"required": false
388+
},
389+
{
390+
"key": "ci_cluster_namespace",
391+
"type": "string",
392+
"default_value": "dev",
393+
"description": "The name of dev cluster namespace.",
394+
"required": false
395+
},
396+
{
397+
"key": "ci_cluster_region",
398+
"type": "string",
399+
"default_value": "",
400+
"description": "The region containing the cluster",
401+
"required": false
402+
},
403+
{
404+
"key": "ci_cluster_resource_group",
405+
"type": "string",
406+
"default_value": "",
407+
"description": "The resource group containing the cluster",
408+
"required": false
409+
},
410+
{
411+
"key": "cd_cluster_name",
412+
"type": "string",
413+
"default_value": "",
414+
"description": "The name of production cluster",
415+
"required": false
416+
},
417+
{
418+
"key": "cd_cluster_namespace",
419+
"type": "string",
420+
"default_value": "dev",
421+
"description": "The name of production cluster namespace.",
422+
"required": false
423+
},
424+
{
425+
"key": "pipeline_ibmcloud_api_key_secret_name",
426+
"type": "string",
427+
"default_value": "ibmcloud-api-key",
428+
"description": "The name of the IBMcloud api key for running the pipelines.",
429+
"required": false
430+
},
431+
{
432+
"key": "ci_signing_key_secret_name",
433+
"type": "string",
434+
"default_value": "signing_key",
435+
"description": "The name of the signing key.",
436+
"required": false
437+
},
438+
{
439+
"key": "cd_code_signing_cert_secret_name",
440+
"type": "string",
441+
"default_value": "signing-certificate",
442+
"description": "The name of the signing certificate.",
443+
"required": false
444+
},
445+
{
446+
"key": "cos_api_key_secret_name",
447+
"type": "string",
448+
"default_value": "cos-api-key",
449+
"description": "The name of the COS api key.",
450+
"required": false
451+
},
452+
{
453+
"key": "sm_secret_group",
454+
"type": "string",
455+
"default_value": "devsecops",
456+
"description": "The secrets group created in Secrets Manager",
457+
"required": false
458+
},
459+
{
460+
"key": "sm_service_plan",
461+
"type": "string",
462+
"default_value": "standard",
463+
"description": "The pricing plan to use for Secrets Manager.",
464+
"required": false,
465+
"options": [
466+
{
467+
"displayname": "standard",
468+
"value": "standard"
469+
},
470+
{
471+
"displayname": "trial",
472+
"value": "trial"
473+
}
474+
]
475+
},
476+
{
477+
"key": "scc_service_plan",
478+
"type": "string",
479+
"default_value": "security-compliance-center-standard-plan",
480+
"description": "The pricing plan to use for the IBM Cloud Security and Compliance Center.",
481+
"required": false,
482+
"options": [
483+
{
484+
"displayname": "standard",
485+
"value": "security-compliance-center-standard-plan"
486+
},
487+
{
488+
"displayname": "trial",
489+
"value": "security-compliance-center-trial-plan"
490+
}
491+
]
492+
},
493+
{
494+
"key": "scc_region",
495+
"type": "string",
496+
"default_value": "us-south",
497+
"description": "The region in which all resources are deployed except SCC and Event Notifications which default to us-south but can do change in optional properties.",
498+
"display_name": "Region",
499+
"required": false,
500+
"custom_config": {
501+
"type": "region",
502+
"grouping": "deployment",
503+
"original_grouping": "deployment",
504+
"config_constraints": {
505+
"filterString": "id:ca-tor,eu-es,eu-de,eu-fr2,us-south",
506+
"showKinds": [
507+
"region",
508+
"zone",
509+
"dc",
510+
"location"
511+
]
512+
}
513+
}
514+
},
515+
{
516+
"key": "en_region",
517+
"type": "string",
518+
"default_value": "us-south",
519+
"description": "The region in which all resources are deployed except SCC and Event Notifications which default to us-south but can do change in optional properties.",
520+
"display_name": "Region",
521+
"required": false,
522+
"custom_config": {
523+
"type": "region",
524+
"grouping": "deployment",
525+
"original_grouping": "deployment",
526+
"config_constraints": {
527+
"filterString": "id:eu-gb,au-syd,eu-es,eu-de,eu-fr2,us-south",
528+
"showKinds": [
529+
"region",
530+
"zone",
531+
"dc",
532+
"location"
533+
]
534+
}
535+
}
536+
},
537+
{
538+
"key": "use_existing_resource_group",
539+
"type": "boolean",
540+
"default_value": true,
541+
"description": "Set to `true` to create and add a `cos-api-key` to the Secrets Provider.",
542+
"required": true
190543
}
191544
],
192545
"outputs": [

0 commit comments

Comments
 (0)