Skip to content

Commit 857da03

Browse files
committed
feat: add kubernetes target variant
1 parent 5fe059c commit 857da03

File tree

4 files changed

+1290
-157
lines changed

4 files changed

+1290
-157
lines changed

ibm_catalog.json

Lines changed: 340 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,62 @@
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": "pipeline_ibmcloud_api_key_secret_name",
137+
"type": "string",
138+
"default_value": "ibmcloud-api-key",
139+
"description": "The name of the IBMcloud api key for running the pipelines.",
140+
"required": false
141+
},
142+
{
143+
"key": "ci_signing_key_secret_name",
144+
"type": "string",
145+
"default_value": "signing_key",
146+
"description": "The name of the signing key.",
147+
"required": false
148+
},
149+
{
150+
"key": "cd_code_signing_cert_secret_name",
151+
"type": "string",
152+
"default_value": "signing-certificate",
153+
"description": "The name of the signing certificate.",
154+
"required": false
155+
},
156+
{
157+
"key": "cos_api_key_secret_name",
158+
"type": "string",
159+
"default_value": "cos-api-key",
160+
"description": "The name of the COS api key.",
161+
"required": false
162+
},
163+
{
164+
"key": "sm_secret_group",
165+
"type": "string",
166+
"default_value": "devsecops",
167+
"description": "The secrets group created in Secrets Manager",
168+
"required": false
169+
},
113170
{
114171
"key": "sm_service_plan",
115172
"type": "string",
@@ -145,7 +202,7 @@
145202
]
146203
},
147204
{
148-
"key": "scc-region",
205+
"key": "scc_region",
149206
"type": "string",
150207
"default_value": "us-south",
151208
"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 +244,288 @@
187244
]
188245
}
189246
}
247+
},
248+
{
249+
"key": "use_existing_resource_group",
250+
"type": "boolean",
251+
"default_value": true,
252+
"description": "Set to `true` to create and add a `cos-api-key` to the Secrets Provider.",
253+
"required": false
254+
}
255+
],
256+
"outputs": [
257+
{
258+
"key": "compliance-ci-url",
259+
"description": "The URL to the Continuous Integration toolchain for the sample application."
260+
},
261+
{
262+
"key": "compliance-cd-url",
263+
"description": "The URL to the Continuous Deployment toolchain for the sample application."
264+
},
265+
{
266+
"key": "compliance-cc-url",
267+
"description": "The URL to the Continuous Compliance toolchain for the sample application."
268+
}
269+
],
270+
"install_type": "fullstack"
271+
},
272+
{
273+
"label": "Deploy on Kubernetes",
274+
"name": "alm-stack-kube",
275+
"working_directory": "./kubernetes",
276+
"compliance": {},
277+
"architecture": {
278+
"features": [
279+
{
280+
"title": "Implement Security",
281+
"description": "The architecture ensures security by deploying IBM Key Protect and IBM Secrets Manager."
282+
},
283+
{
284+
"title": "Achieve Regulatory Compliance",
285+
"description": "The architecture ensures regulatory compliance by implementing CI/CD/CC pipelines, along with IBM Security Compliance Center (SCC) for secure application lifecycle management."
286+
},
287+
{
288+
"title": "Establish Trust",
289+
"description": "The architecture ensures trust by configuring the IBM Cloud account to align with compliance settings as defined in the Financial Services framework."
290+
}
291+
],
292+
"diagrams": [
293+
{
294+
"diagram": {
295+
"url": "https://github.com/terraform-ibm-modules/terraform-ibm-devsecops-alm/blob/main/reference-architectures/diagram-deploy-arch-ibm-devsecops-alm-diagram.svg",
296+
"caption": "Reference architecture",
297+
"type": "image/svg+xml",
298+
"thumbnail_url": "https://github.com/terraform-ibm-modules/terraform-ibm-devsecops-alm/blob/main/reference-architectures/diagram-deploy-arch-ibm-devsecops-alm-diagram.svg"
299+
},
300+
"description": "Reference architecture"
301+
}
302+
]
303+
},
304+
"configuration": [
305+
{
306+
"key": "ibmcloud_api_key",
307+
"type": "password",
308+
"description": "The API Key used to provision all resources created in this solution.",
309+
"required": true
310+
},
311+
{
312+
"key": "region",
313+
"type": "string",
314+
"default_value": "eu-gb",
315+
"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.",
316+
"display_name": "Region",
317+
"required": true,
318+
"custom_config": {
319+
"type": "region",
320+
"grouping": "deployment",
321+
"original_grouping": "deployment",
322+
"config_constraints": {
323+
"filterString": "id:au-syd,br-sao,ca-tor,eu-de,eu-es,eu-gb,jp-osa,jp-tok,us-east,us-south",
324+
"showKinds": [
325+
"region",
326+
"zone",
327+
"dc",
328+
"location"
329+
]
330+
}
331+
}
332+
},
333+
{
334+
"key": "cluster_name",
335+
"type": "string",
336+
"default_value": "mycluster",
337+
"description": "The name of cluster. Treats the dev and prod cluster as the same cluster.",
338+
"required": true
339+
},
340+
{
341+
"key": "prefix",
342+
"type": "string",
343+
"default_value": "devsecops",
344+
"description": "Default prefix for repos and resources",
345+
"required": false
346+
},
347+
{
348+
"key": "resource_group_name",
349+
"type": "string",
350+
"default_value": "devsecops",
351+
"description": "The name of the resource group",
352+
"required": false
353+
},
354+
{
355+
"key": "bucket_name",
356+
"type": "string",
357+
"default_value": "devsecops",
358+
"description": "The name of the COS bucket that is created.",
359+
"required": false
360+
},
361+
{
362+
"key": "registry_namespace",
363+
"type": "string",
364+
"default_value": "devsecops",
365+
"description": "The name of the registry namespace.",
366+
"required": false
367+
},
368+
{
369+
"key": "ci_cluster_name",
370+
"type": "string",
371+
"default_value": "",
372+
"description": "The name of dev cluster",
373+
"required": false
374+
},
375+
{
376+
"key": "ci_cluster_namespace",
377+
"type": "string",
378+
"default_value": "dev",
379+
"description": "The name of dev cluster namespace.",
380+
"required": false
381+
},
382+
{
383+
"key": "ci_cluster_region",
384+
"type": "string",
385+
"default_value": "",
386+
"description": "The region containing the cluster",
387+
"required": false
388+
},
389+
{
390+
"key": "ci_cluster_resource_group",
391+
"type": "string",
392+
"default_value": "",
393+
"description": "The resource group containing the cluster",
394+
"required": false
395+
},
396+
{
397+
"key": "cd_cluster_name",
398+
"type": "string",
399+
"default_value": "",
400+
"description": "The name of production cluster",
401+
"required": false
402+
},
403+
{
404+
"key": "cd_cluster_namespace",
405+
"type": "string",
406+
"default_value": "dev",
407+
"description": "The name of production cluster namespace.",
408+
"required": false
409+
},
410+
{
411+
"key": "pipeline_ibmcloud_api_key_secret_name",
412+
"type": "string",
413+
"default_value": "ibmcloud-api-key",
414+
"description": "The name of the IBMcloud api key for running the pipelines.",
415+
"required": false
416+
},
417+
{
418+
"key": "ci_signing_key_secret_name",
419+
"type": "string",
420+
"default_value": "signing_key",
421+
"description": "The name of the signing key.",
422+
"required": false
423+
},
424+
{
425+
"key": "cd_code_signing_cert_secret_name",
426+
"type": "string",
427+
"default_value": "signing-certificate",
428+
"description": "The name of the signing certificate.",
429+
"required": false
430+
},
431+
{
432+
"key": "cos_api_key_secret_name",
433+
"type": "string",
434+
"default_value": "cos-api-key",
435+
"description": "The name of the COS api key.",
436+
"required": false
437+
},
438+
{
439+
"key": "sm_secret_group",
440+
"type": "string",
441+
"default_value": "devsecops",
442+
"description": "The secrets group created in Secrets Manager",
443+
"required": false
444+
},
445+
{
446+
"key": "sm_service_plan",
447+
"type": "string",
448+
"default_value": "standard",
449+
"description": "The pricing plan to use for Secrets Manager.",
450+
"required": false,
451+
"options": [
452+
{
453+
"displayname": "standard",
454+
"value": "standard"
455+
},
456+
{
457+
"displayname": "trial",
458+
"value": "trial"
459+
}
460+
]
461+
},
462+
{
463+
"key": "scc_service_plan",
464+
"type": "string",
465+
"default_value": "security-compliance-center-standard-plan",
466+
"description": "The pricing plan to use for the IBM Cloud Security and Compliance Center.",
467+
"required": false,
468+
"options": [
469+
{
470+
"displayname": "standard",
471+
"value": "security-compliance-center-standard-plan"
472+
},
473+
{
474+
"displayname": "trial",
475+
"value": "security-compliance-center-trial-plan"
476+
}
477+
]
478+
},
479+
{
480+
"key": "scc_region",
481+
"type": "string",
482+
"default_value": "us-south",
483+
"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.",
484+
"display_name": "Region",
485+
"required": false,
486+
"custom_config": {
487+
"type": "region",
488+
"grouping": "deployment",
489+
"original_grouping": "deployment",
490+
"config_constraints": {
491+
"filterString": "id:ca-tor,eu-es,eu-de,eu-fr2,us-south",
492+
"showKinds": [
493+
"region",
494+
"zone",
495+
"dc",
496+
"location"
497+
]
498+
}
499+
}
500+
},
501+
{
502+
"key": "en_region",
503+
"type": "string",
504+
"default_value": "us-south",
505+
"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.",
506+
"display_name": "Region",
507+
"required": false,
508+
"custom_config": {
509+
"type": "region",
510+
"grouping": "deployment",
511+
"original_grouping": "deployment",
512+
"config_constraints": {
513+
"filterString": "id:eu-gb,au-syd,eu-es,eu-de,eu-fr2,us-south",
514+
"showKinds": [
515+
"region",
516+
"zone",
517+
"dc",
518+
"location"
519+
]
520+
}
521+
}
522+
},
523+
{
524+
"key": "use_existing_resource_group",
525+
"type": "boolean",
526+
"default_value": true,
527+
"description": "Set to `true` to create and add a `cos-api-key` to the Secrets Provider.",
528+
"required": false
190529
}
191530
],
192531
"outputs": [

0 commit comments

Comments
 (0)