Skip to content
This repository was archived by the owner on Jul 9, 2025. It is now read-only.

Commit 5c22663

Browse files
feat: genai stack (#3)
* genai stack inital stack
1 parent 7ddcce9 commit 5c22663

File tree

6 files changed

+642
-103
lines changed

6 files changed

+642
-103
lines changed

.catalog-onboard-pipeline.yaml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
apiVersion: v1
3+
offerings:
4+
- name: Watson_X_-_Generative_AI
5+
kind: solution
6+
catalog_id: 7df1e4ca-d54c-4fd0-82ce-3d13247308cd
7+
offering_id: d113359a-921d-4474-965a-4e612c4c1bfe
8+
variations:
9+
- name: genai-stack-1234
10+
mark_ready: false
11+
install_type: fullstack
12+
format_kind: stack
13+
validation_type: projects
14+
scc:
15+
instance_id: 1c7d5f78-9262-44c3-b779-b28fe4d88c37
16+
region: us-south

.releaserc

Lines changed: 4 additions & 1 deletion
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-
}]
13+
}],
14+
["@semantic-release/exec",{
15+
"publishCmd": "./ci/trigger-catalog-onboarding-pipeline.sh --version=v${nextRelease.version}"
16+
}]
1417
]
1518
}

ibm_catalog.json

Lines changed: 281 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,283 @@
11
{
2-
"products": [
3-
{
4-
"label": "stack-template",
5-
"name": "stack-template",
6-
"product_kind": "solution",
7-
"tags": [
8-
"converged_infra"
9-
],
10-
"offering_icon_url": "https://globalcatalog.cloud.ibm.com/api/v1/1082e7d2-5e2f-0a11-a3bc-f88a8e1931fc/artifacts/solution.svg",
11-
"flavors": [
12-
{
13-
"compliance": {},
14-
"architecture": {}
15-
}
16-
]
17-
}
18-
]
2+
"products": [
3+
{
4+
"label": "Watson X - Generative AI",
5+
"name": "Watson_X_-_Generative_AI",
6+
"product_kind": "solution",
7+
"tags": [
8+
"watson",
9+
"converged_infra"
10+
],
11+
"keywords": [
12+
"watson",
13+
"ai",
14+
"compliance",
15+
"fscloud",
16+
"genai",
17+
"ibmcloud",
18+
"financial services",
19+
"watsonx",
20+
"llm",
21+
"secure",
22+
"secret manager",
23+
"key protect",
24+
"scc"
25+
],
26+
"short_description": "Deploys a sample Retrieval Augmented Generation application, including all supporting IBM Cloud and Watson services.",
27+
"long_description": "This deployable architecture provides a comprehensive foundation for trust, observability, security, and regulatory compliance by configuring and deploying various services, including:\n- Configuring IBM Cloud Account: with recommended values meeting the [IBM Cloud Framework for Financial Services](https://cloud.ibm.com/docs/framework-financial-services?topic=framework-financial-services-about)\n- Deploying Observability Services: for application and platform logging and monitoring\n- Deploying Keys and Secrets Management Services: for storage and management of encryption keys and secrets\n- Deploying CI/CD/CC Pipelines: for secure application lifecycle management\n- Deploying a Suite of Watson AI Services: to provide AI capabilities to the application \n\nThese configured and deployed services enable a secure and trustworthy deployment of Generative AI applications on IBM Cloud.\n\n# Objective\n\nThis deployable architecture is designed to showcase a fully automated deployment of a retrieval augmented generation application through IBM Cloud Project, providing a flexible and customizable foundation for your own Watson-based application deployments on IBM Cloud. This architecture deploys the following [banking sample application](https://github.com/IBM/gen-ai-rag-watsonx-sample-application) by default.\n\nBy leveraging this architecture, you can accelerate your deployment and tailor it to meet your unique business needs and enterprise goals.",
28+
"offering_docs_url": "https://github.com/terraform-ibm-modules/stack-retrieval-augmented-generation/blob/main/README.md",
29+
"offering_icon_url": "https://globalcatalog.cloud.ibm.com/api/v1/1082e7d2-5e2f-0a11-a3bc-f88a8e1931fc/artifacts/solution.svg",
30+
"features": [
31+
{
32+
"title": "Retrieval Augmented Generation sample pattern",
33+
"description": "Deploy a banking retrieval augmented generation (RAG) sample application to IBM Cloud Code Engine using Continous Delivery."
34+
},
35+
{
36+
"title": "Ensure Observability",
37+
"description": "Provides observability by deploying services such as IBM Log Analysis, IBM Monitoring, IBM Activity Tracker, and log retention."
38+
},
39+
{
40+
"title": "Implement Security",
41+
"description": "The architecture ensures security by deploying IBM Key Protect and IBM Secrets Manager."
42+
},
43+
{
44+
"title": "Achieve Regulatory Compliance",
45+
"description": "Ensures regulatory compliance by implementing CI/CD/CC pipelines, along with IBM SCC for secure application lifecycle management."
46+
},
47+
{
48+
"title": "Establish Trust",
49+
"description": "Ensures trust by configuring the IBM Cloud account to align with compliance settings as defined in the Financial Services framework."
50+
}
51+
],
52+
"flavors": [
53+
{
54+
"label": "GenAI Stack",
55+
"name": "genai-stack-1234",
56+
"licenses": [
57+
{
58+
"id": "LICENSE",
59+
"name": "LICENSE",
60+
"type": "text/plain",
61+
"description": "LICENSE"
62+
}
63+
],
64+
"compliance": {
65+
"authority": "scc-v3",
66+
"profiles": [
67+
{
68+
"profile_name": "AI ICT Guardrails",
69+
"profile_version": "1.0.0"
70+
}
71+
]
72+
},
73+
"iam_permissions": [
74+
{
75+
"service_name": "iam-groups",
76+
"role_crns": [
77+
"crn:v1:bluemix:public:iam::::role:Administrator"
78+
]
79+
},
80+
{
81+
"service_name": "cloud-object-storage",
82+
"role_crns": [
83+
"crn:v1:bluemix:public:iam::::serviceRole:Manager",
84+
"crn:v1:bluemix:public:iam::::role:Editor"
85+
]
86+
},
87+
{
88+
"service_name": "iam-identity",
89+
"role_crns": [
90+
"crn:v1:bluemix:public:iam::::role:Administrator"
91+
]
92+
},
93+
{
94+
"service_name": "atracker",
95+
"role_crns": [
96+
"crn:v1:bluemix:public:iam::::serviceRole:Writer",
97+
"crn:v1:bluemix:public:iam::::role:Administrator"
98+
]
99+
},
100+
{
101+
"service_name": "kms",
102+
"role_crns": [
103+
"crn:v1:bluemix:public:iam::::serviceRole:Manager",
104+
"crn:v1:bluemix:public:iam::::role:Editor"
105+
]
106+
},
107+
{
108+
"service_name": "compliance",
109+
"role_crns": [
110+
"crn:v1:bluemix:public:iam::::serviceRole:Manager",
111+
"crn:v1:bluemix:public:iam::::role:Editor"
112+
]
113+
},
114+
{
115+
"service_name": "pm-20",
116+
"role_crns": [
117+
"crn:v1:bluemix:public:iam::::role:Editor"
118+
]
119+
},
120+
{
121+
"service_name": "data-science-experience",
122+
"role_crns": [
123+
"crn:v1:bluemix:public:iam::::role:Editor"
124+
]
125+
},
126+
{
127+
"service_name": "aiopenscale",
128+
"role_crns": [
129+
"crn:v1:bluemix:public:iam::::role:Editor"
130+
]
131+
},
132+
{
133+
"service_name": "conversation",
134+
"role_crns": [
135+
"crn:v1:bluemix:public:iam::::role:Editor"
136+
]
137+
},
138+
{
139+
"service_name": "discovery",
140+
"role_crns": [
141+
"crn:v1:bluemix:public:iam::::role:Editor"
142+
]
143+
}
144+
],
145+
"architecture": {
146+
"features": [
147+
{
148+
"title": "Retrieval Augmented Generation sample pattern",
149+
"description": "Deploy a banking retrieval augmented generation (RAG) sample application to IBM Cloud Code Engine using Continous Delivery."
150+
},
151+
{
152+
"title": "Ensure Observability",
153+
"description": "The architecture provides observability by deploying services such as IBM Log Analysis, IBM Monitoring, IBM Activity Tracker, and log retention through Cloud Object Storage buckets."
154+
},
155+
{
156+
"title": "Implement Security",
157+
"description": "The architecture ensures security by deploying IBM Key Protect and IBM Secrets Manager."
158+
},
159+
{
160+
"title": "Achieve Regulatory Compliance",
161+
"description": "The architecture ensures regulatory compliance by implementing CI/CD/CC pipelines, along with IBM Security Compliance Center (SCC) for secure application lifecycle management."
162+
},
163+
{
164+
"title": "Establish Trust",
165+
"description": "The architecture ensures trust by configuring the IBM Cloud account to align with compliance settings as defined in the Financial Services framework."
166+
}
167+
],
168+
"diagrams": [
169+
{
170+
"diagram": {
171+
"url": "https://raw.githubusercontent.com/terraform-ibm-modules/stack-retrieval-augmented-generation/main/reference-architecture/RAG Pattern v2-part-2.svg",
172+
"caption": "Reference architecture",
173+
"type": "image/svg+xml",
174+
"thumbnail_url": "https://raw.githubusercontent.com/terraform-ibm-modules/stack-retrieval-augmented-generation/main/reference-architecture/RAG Pattern v2-part-2.svg"
175+
},
176+
"description": "Reference architecture"
177+
},
178+
{
179+
"diagram": {
180+
"url": "https://raw.githubusercontent.com/terraform-ibm-modules/stack-retrieval-augmented-generation/main/reference-architecture/rag-stack.svg",
181+
"caption": "Solution components",
182+
"type": "image/svg+xml",
183+
"thumbnail_url": "https://raw.githubusercontent.com/terraform-ibm-modules/stack-retrieval-augmented-generation/main/reference-architecture/rag-stack.svg"
184+
},
185+
"description": "Solution components"
186+
}
187+
]
188+
},
189+
"configuration": [
190+
{
191+
"key": "prefix",
192+
"type": "string",
193+
"default_value": "gen-ai",
194+
"description": "A prefix added to the name of all resources created by this solution. Used to avoid name clashes in the target account when existing this solution multiple times.",
195+
"required": true
196+
},
197+
{
198+
"key": "signing_key",
199+
"type": "password",
200+
"description": "The key used to sign the application image built by the CI pipeline deployed in this solution; please refer to the documentation at https://github.com/terraform-ibm-modules/stack-retrieval-augmented-generation/blob/main/README.md for generating the key; if not set, all resources will deploy successfully, but the initial CI pipeline execution will fail at the signing step.",
201+
"display_name": "Multiline secure value",
202+
"required": false,
203+
"custom_config": {
204+
"type": "multiline_secure_value",
205+
"grouping": "deployment",
206+
"original_grouping": "deployment"
207+
}
208+
},
209+
{
210+
"key": "region",
211+
"type": "string",
212+
"default_value": "us-south",
213+
"description": "The region in which all resources are deployed.",
214+
"required": false,
215+
"options": [
216+
{
217+
"displayname": "us-south",
218+
"value": "us-south"
219+
},
220+
{
221+
"displayname": "eu-de",
222+
"value": "eu-de"
223+
}
224+
]
225+
},
226+
{
227+
"key": "resource_group_name",
228+
"type": "string",
229+
"default_value": "rag-services",
230+
"description": "The name of the resource group that is created by this solution. The actual name is prefixed with the value of the input 'prefix'. All resources created by this solution are deployed in this resource group.",
231+
"required": false
232+
},
233+
{
234+
"key": "watsonx_admin_api_key",
235+
"type": "password",
236+
"description": "The API key used to provision the watson project resources. If not set, the API key used to deploy the solution is used.",
237+
"required": false
238+
},
239+
{
240+
"key": "secret_manager_service_plan",
241+
"type": "string",
242+
"default_value": "trial",
243+
"description": "The service/pricing plan to use when provisioning a new Secrets Manager instance. Only one trial instance is allowed per account.",
244+
"required": false,
245+
"options": [
246+
{
247+
"displayname": "Trial",
248+
"value": "trial"
249+
},
250+
{
251+
"displayname": "Standard",
252+
"value": "standard"
253+
}
254+
]
255+
},
256+
{
257+
"key": "existing_secrets_manager_crn",
258+
"type": "string",
259+
"default_value": "__NULL__",
260+
"description": "The CRN of an existing secret manager instance to use in this solution. If not set, a new secret manager instance is provisioned.",
261+
"required": false
262+
},
263+
{
264+
"key": "enable_platform_logs_metrics",
265+
"type": "boolean",
266+
"default_value": false,
267+
"description": "Whether to provision logging and monitoring instances are configured to receive all platform logs and metrics in the target region. There can only be one instance per region provisioned for platform logs/metrics.",
268+
"required": false
269+
},
270+
{
271+
"key": "existing_kms_instance_crn",
272+
"type": "string",
273+
"default_value": "__NULL__",
274+
"description": "The CRN of an existing KMS instance to use in this solution. If not set, a new KP instance is provisioned.",
275+
"required": false
276+
}
277+
],
278+
"install_type": "fullstack"
279+
}
280+
]
281+
}
282+
]
19283
}

0 commit comments

Comments
 (0)