Skip to content

Commit 71328d1

Browse files
feat: added new DA for IBM catalog (#233)
1 parent e53de72 commit 71328d1

14 files changed

+1078
-2
lines changed

.catalog-onboard-pipeline.yaml

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
apiVersion: v1
3+
offerings:
4+
- name: deploy-arch-ibm-iam-access-group
5+
kind: solution
6+
catalog_id: 7df1e4ca-d54c-4fd0-82ce-3d13247308cd
7+
offering_id: 5a6c3a87-d9e8-437c-a524-bfdf4d18165a
8+
variations:
9+
- name: standard
10+
mark_ready: false
11+
install_type: fullstack
12+
scc:
13+
instance_id: 1c7d5f78-9262-44c3-b779-b28fe4d88c37
14+
region: us-south

.releaserc

+3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@
1010
}],
1111
["@semantic-release/exec", {
1212
"successCmd": "echo \"SEMVER_VERSION=${nextRelease.version}\" >> $GITHUB_ENV"
13+
}],
14+
["@semantic-release/exec",{
15+
"publishCmd": "./ci/trigger-catalog-onboarding-pipeline.sh --version=v${nextRelease.version}"
1316
}]
1417
]
1518
}

cra-config.yaml

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
# More info about this file at https://github.com/terraform-ibm-modules/common-pipeline-assets/blob/main/.github/workflows/terraform-test-pipeline.md#cra-config-yaml
22
version: "v1"
33
CRA_TARGETS:
4-
- CRA_TARGET: "examples/access-management" # Target directory for CRA scan. If not provided, the CRA Scan will not be run.
4+
- CRA_TARGET: "solutions/standard" # Target directory for CRA scan. If not provided, the CRA Scan will not be run.
55
CRA_IGNORE_RULES_FILE: "cra-tf-validate-ignore-rules.json" # CRA Ignore file to use. If not provided, it checks the repo root directory for `cra-tf-validate-ignore-rules.json`
66
PROFILE_ID: "fe96bd4d-9b37-40f2-b39f-a62760e326a3" # SCC profile ID (currently set to 'IBM Cloud Framework for Financial Services' '1.7.0' profile).
7+
CRA_ENVIRONMENT_VARIABLES:
8+
TF_VAR_prefix: "access-management"
9+
TF_VAR_provider_visibility: "public"

ibm_catalog.json

+346
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,346 @@
1+
{
2+
"products": [
3+
{
4+
"name": "deploy-arch-ibm-iam-access-group",
5+
"label": "Cloud Automation for Access Management",
6+
"product_kind": "solution",
7+
"tags": [
8+
"ibm_created",
9+
"target_terraform",
10+
"terraform",
11+
"security",
12+
"solution"
13+
],
14+
"keywords": [
15+
"IaC",
16+
"infrastructure as code",
17+
"terraform",
18+
"solution",
19+
"account",
20+
"iam",
21+
"access group"
22+
],
23+
"short_description": "Creates and configures IAM access groups",
24+
"long_description": "This architecture supports creating a preconfigured set of access groups and adding users, service IDs, and trusted profiles to the access groups.",
25+
"offering_docs_url": "https://github.com/terraform-ibm-modules/terraform-ibm-iam-access-group/blob/main/solutions/standard/README.md",
26+
"offering_icon_url": "https://raw.githubusercontent.com/terraform-ibm-modules/documentation/main/icons/security_icon.svg",
27+
"provider_name": "IBM",
28+
"features": [
29+
{
30+
"title": "Configures IAM access groups",
31+
"description": "Configures IAM access groups to provide a default set of access policies and assign users to the groups."
32+
}
33+
],
34+
"support_details": "This product is in the community registry, as such support is handled through the originated repo. If you experience issues please open an issue in that repository [https://github.com/terraform-ibm-modules/terraform-ibm-iam-access-group/issues](https://github.com/terraform-ibm-modules/terraform-ibm-iam-access-group/issues). Please note this product is not supported via the IBM Cloud Support Center.",
35+
"flavors": [
36+
{
37+
"label": "Standard",
38+
"name": "standard",
39+
"install_type": "fullstack",
40+
"working_directory": "solutions/standard",
41+
"compliance": {
42+
"authority": "scc-v3",
43+
"profiles": [
44+
{
45+
"profile_name": "IBM Cloud Framework for Financial Services",
46+
"profile_version": "1.7.0"
47+
}
48+
]
49+
},
50+
"iam_permissions": [
51+
],
52+
"architecture": {
53+
"descriptions": "Configures IAM access groups to provide a default set of access policies and assign users to the groups.",
54+
"diagrams": [
55+
{
56+
"diagram": {
57+
"caption": "Access Management",
58+
"url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-iam-access-group/main/reference-architectures/access-management.svg",
59+
"type": "image/svg+xml"
60+
},
61+
"description": "Configures IAM access groups to provide a default set of access policies and assign users to the groups."
62+
}
63+
]
64+
},
65+
"configuration": [
66+
{
67+
"key": "ibmcloud_api_key"
68+
},
69+
{
70+
"key": "provider_visibility",
71+
"options": [
72+
{
73+
"displayname": "private",
74+
"value": "private"
75+
},
76+
{
77+
"displayname": "public",
78+
"value": "public"
79+
},
80+
{
81+
"displayname": "public-and-private",
82+
"value": "public-and-private"
83+
}
84+
]
85+
},
86+
{
87+
"key": "prefix"
88+
},
89+
{
90+
"key": "admin_compute_ag_name"
91+
},
92+
{
93+
"key": "admin_compute_ag_description"
94+
},
95+
{
96+
"key": "admin_compute_ag_add_members"
97+
},
98+
{
99+
"key": "admin_compute_ag_ibm_ids"
100+
},
101+
{
102+
"key": "admin_compute_ag_service_ids"
103+
},
104+
{
105+
"key": "admin_compute_ag_trusted_profile_ids"
106+
},
107+
{
108+
"key": "admin_compute_ag_tags"
109+
},
110+
{
111+
"key": "admin_network_ag_name"
112+
},
113+
{
114+
"key": "admin_network_ag_description"
115+
},
116+
{
117+
"key": "admin_network_ag_add_members"
118+
},
119+
{
120+
"key": "admin_network_ag_ibm_ids"
121+
},
122+
{
123+
"key": "admin_network_ag_service_ids"
124+
},
125+
{
126+
"key": "admin_network_ag_trusted_profile_ids"
127+
},
128+
{
129+
"key": "admin_network_ag_tags"
130+
},
131+
{
132+
"key": "admin_observability_ag_name"
133+
},
134+
{
135+
"key": "admin_observability_ag_description"
136+
},
137+
{
138+
"key": "admin_observability_ag_add_members"
139+
},
140+
{
141+
"key": "admin_observability_ag_ibm_ids"
142+
},
143+
{
144+
"key": "admin_observability_ag_service_ids"
145+
},
146+
{
147+
"key": "admin_observability_ag_trusted_profile_ids"
148+
},
149+
{
150+
"key": "admin_observability_ag_tags"
151+
},
152+
{
153+
"key": "admin_security_ag_name"
154+
},
155+
{
156+
"key": "admin_security_ag_description"
157+
},
158+
{
159+
"key": "admin_security_ag_add_members"
160+
},
161+
{
162+
"key": "admin_security_ag_ibm_ids"
163+
},
164+
{
165+
"key": "admin_security_ag_service_ids"
166+
},
167+
{
168+
"key": "admin_security_ag_trusted_profile_ids"
169+
},
170+
{
171+
"key": "admin_security_ag_tags"
172+
},
173+
{
174+
"key": "privileged_compute_ag_name"
175+
},
176+
{
177+
"key": "privileged_compute_ag_description"
178+
},
179+
{
180+
"key": "privileged_compute_ag_add_members"
181+
},
182+
{
183+
"key": "privileged_compute_ag_ibm_ids"
184+
},
185+
{
186+
"key": "privileged_compute_ag_service_ids"
187+
},
188+
{
189+
"key": "privileged_compute_ag_trusted_profile_ids"
190+
},
191+
{
192+
"key": "privileged_compute_ag_tags"
193+
},
194+
{
195+
"key": "privileged_network_ag_name"
196+
},
197+
{
198+
"key": "privileged_network_ag_description"
199+
},
200+
{
201+
"key": "privileged_network_ag_add_members"
202+
},
203+
{
204+
"key": "privileged_network_ag_ibm_ids"
205+
},
206+
{
207+
"key": "privileged_network_ag_service_ids"
208+
},
209+
{
210+
"key": "privileged_network_ag_trusted_profile_ids"
211+
},
212+
{
213+
"key": "privileged_network_ag_tags"
214+
},
215+
{
216+
"key": "privileged_observability_ag_name"
217+
},
218+
{
219+
"key": "privileged_observability_ag_description"
220+
},
221+
{
222+
"key": "privileged_observability_ag_add_members"
223+
},
224+
{
225+
"key": "privileged_observability_ag_ibm_ids"
226+
},
227+
{
228+
"key": "privileged_observability_ag_service_ids"
229+
},
230+
{
231+
"key": "privileged_observability_ag_trusted_profile_ids"
232+
},
233+
{
234+
"key": "privileged_observability_ag_tags"
235+
},
236+
{
237+
"key": "privileged_security_ag_name"
238+
},
239+
{
240+
"key": "privileged_security_ag_description"
241+
},
242+
{
243+
"key": "privileged_security_ag_add_members"
244+
},
245+
{
246+
"key": "privileged_security_ag_ibm_ids"
247+
},
248+
{
249+
"key": "privileged_security_ag_service_ids"
250+
},
251+
{
252+
"key": "privileged_security_ag_trusted_profile_ids"
253+
},
254+
{
255+
"key": "privileged_security_ag_tags"
256+
},
257+
{
258+
"key": "observer_compute_ag_name"
259+
},
260+
{
261+
"key": "observer_compute_ag_description"
262+
},
263+
{
264+
"key": "observer_compute_ag_add_members"
265+
},
266+
{
267+
"key": "observer_compute_ag_ibm_ids"
268+
},
269+
{
270+
"key": "observer_compute_ag_service_ids"
271+
},
272+
{
273+
"key": "observer_compute_ag_trusted_profile_ids"
274+
},
275+
{
276+
"key": "observer_compute_ag_tags"
277+
},
278+
{
279+
"key": "observer_network_ag_name"
280+
},
281+
{
282+
"key": "observer_network_ag_description"
283+
},
284+
{
285+
"key": "observer_network_ag_add_members"
286+
},
287+
{
288+
"key": "observer_network_ag_ibm_ids"
289+
},
290+
{
291+
"key": "observer_network_ag_service_ids"
292+
},
293+
{
294+
"key": "observer_network_ag_trusted_profile_ids"
295+
},
296+
{
297+
"key": "observer_network_ag_tags"
298+
},
299+
{
300+
"key": "observer_observability_ag_name"
301+
},
302+
{
303+
"key": "observer_observability_ag_description"
304+
},
305+
{
306+
"key": "observer_observability_ag_add_members"
307+
},
308+
{
309+
"key": "observer_observability_ag_ibm_ids"
310+
},
311+
{
312+
"key": "observer_observability_ag_service_ids"
313+
},
314+
{
315+
"key": "observer_observability_ag_trusted_profile_ids"
316+
},
317+
{
318+
"key": "observer_observability_ag_tags"
319+
},
320+
{
321+
"key": "observer_security_ag_name"
322+
},
323+
{
324+
"key": "observer_security_ag_description"
325+
},
326+
{
327+
"key": "observer_security_ag_add_members"
328+
},
329+
{
330+
"key": "observer_security_ag_ibm_ids"
331+
},
332+
{
333+
"key": "observer_security_ag_service_ids"
334+
},
335+
{
336+
"key": "observer_security_ag_trusted_profile_ids"
337+
},
338+
{
339+
"key": "observer_security_ag_tags"
340+
}
341+
]
342+
}
343+
]
344+
}
345+
]
346+
}

reference-architectures/access-management.svg

+4
Loading

renovate.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
22
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
3-
"extends": ["github>terraform-ibm-modules/common-dev-assets:commonRenovateConfig"]
3+
"extends": ["github>terraform-ibm-modules/common-dev-assets:commonRenovateConfig"],
4+
"packageRules": []
45
}

solutions/standard/README.md

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# IBM Cloud Access Group solution
2+
3+
A deployable architecture solution for managing administrator, privileged, and observer levels of access groups for observability, security, network, and compute categories. Each group has default access policies appropriate for the groups that the policies reside in. In addition to creating the groups and policies, you can provide IBM IDs, Service IDs, and Trusted Profiles to be added to these groups.
4+
5+
![Access Management](../../reference-architectures/access-management.svg)
6+
7+
**Important:** Because this solution contains a provider configuration and is not compatible with the `for_each`, `count`, and `depends_on` arguments, do not call this solution from one or more other modules. For more information about how resources are associated with provider configurations with multiple modules, see [Providers Within Modules](https://developer.hashicorp.com/terraform/language/modules/develop/providers).

0 commit comments

Comments
 (0)