Skip to content

Commit aabe7d6

Browse files
authored
feat: added two new variations to deploy without the sample app. DA now has the following variations:<br>- Basic with sample application (Deploy on Code Engine)<br>- Standard with sample application (Deploy on Red Hat OpenShift)<br>- Basic (Deploy on Code Engine)<br>- Standard (Deploy on Red Hat OpenShift)(#266)
1 parent 4d6f507 commit aabe7d6

File tree

12 files changed

+3353
-12
lines changed

12 files changed

+3353
-12
lines changed

.catalog-onboard-pipeline.yaml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,19 @@ offerings:
2222
scc:
2323
instance_id: 1c7d5f78-9262-44c3-b779-b28fe4d88c37
2424
region: us-south
25+
- name: basic-without-sample-app
26+
mark_ready: false
27+
install_type: fullstack
28+
format_kind: stack
29+
validation_type: projects
30+
scc:
31+
instance_id: 1c7d5f78-9262-44c3-b779-b28fe4d88c37
32+
region: us-south
33+
- name: standard-without-sample-app
34+
mark_ready: false
35+
install_type: fullstack
36+
format_kind: stack
37+
validation_type: projects
38+
scc:
39+
instance_id: 1c7d5f78-9262-44c3-b779-b28fe4d88c37
40+
region: us-south

.gitignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
.def.json
22
.terraform
3+
**/.terraform/*
4+
35
*.tfstate
6+
*.tfstate.*
7+
8+
*.terraform.lock.hcl
49
*.lock.hcl
10+
511
.DS_Store
612
.idea
13+
*.tfvars
14+
*.tfvars.json
15+
*.log

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
common-dev-assets/stack-assets/.pre-commit-config.yaml
1+
common-dev-assets/module-assets/.pre-commit-config.yaml

README.md

Lines changed: 30 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,35 @@
22

33
The following [deployable architecture](https://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-understand-module-da#what-is-da) automates the deployment of a sample gen AI Pattern on IBM Cloud, including all underlying IBM Cloud and WatsonX infrastructure. This architecture implements the best practices for watsonx gen AI Pattern deployment on IBM Cloud, as described in the [reference architecture](https://cloud.ibm.com/docs/pattern-genai-rag?topic=pattern-genai-rag-genai-pattern).
44

5-
This deployable architecture provides a comprehensive foundation for trust, observability, security, and regulatory compliance. The architecture configures an IBM Cloud account to align with compliance settings. It also deploys key management and secrets management services and the infrastructure to support continuous integration (CI), continuous delivery (CD), and continuous compliance (CC) pipelines for secure management of the application lifecycle. It also deploys the WatsonX services suite and IBM Cloud Elasticsearch to faciliate a RAG pattern. These pipelines facilitate the deployment of the application, check for vulnerabilities and auditability, and help ensure a secure and trustworthy deployment of generative AI applications on IBM Cloud.
5+
This deployable architecture provides a comprehensive foundation for trust, observability, security, and regulatory compliance. The architecture configures an IBM Cloud account to align with compliance settings. It also deploys key management and secrets management services and the infrastructure to support continuous integration (CI), continuous delivery (CD), and continuous compliance (CC) pipelines for secure management of the application lifecycle. It also deploys the WatsonX services suite and IBM Cloud Elasticsearch to facilitate a RAG pattern. These pipelines facilitate the deployment of the application, check for vulnerabilities and auditability, and help ensure a secure and trustworthy deployment of generative AI applications on IBM Cloud.
66

77
## Variations
88

9-
Two variations are available for this deployable architecture:
10-
1. Basic variation:
9+
This deployable architecture is available in four variations, grouped into two categories (Basic and Standard). Each category offers an option with or without a sample application deployment or pipeline:
10+
11+
1. Basic variation - With sample application:
1112
- Code Engine Project: Provisions a Code Engine project, providing a fully managed platform for containerized applications.
1213
- Application Deployment: Deploys the application on the provisioned Code Engine project.
1314
- Elasticsearch Enterprise: Provisions an Elasticsearch [enterprise](https://cloud.ibm.com/docs/databases-for-elasticsearch?topic=databases-for-elasticsearch-elastic-offerings) instance for search and analytics capabilities.
1415

15-
2. Standard variation:
16+
2. Standard variation - With sample application:
1617
- IBM Cloud OpenShift Cluster: Provisions an [IBM Cloud OpenShift cluster](https://cloud.ibm.com/docs/openshift?topic=openshift-overview)
1718
- VPC Network Infrastructure: Sets up the underlying VPC network infrastructure to support the OpenShift cluster.
1819
- Application Deployment: Deploys the application on the provisioned OpenShift cluster.
1920
- ElasticSearch Platinum Plan: Leverages the platinum plan of ElasticSearch, which includes the [ELSER](https://cloud.ibm.com/docs/databases-for-elasticsearch?topic=databases-for-elasticsearch-elser-embeddings-elasticsearch) model for advanced vector generation capabilities.
2021

22+
3. Basic variation:
23+
- Code Engine Project: Provisions a Code Engine project, providing a fully managed platform for containerized applications.
24+
- Elasticsearch Enterprise: Provisions an Elasticsearch [enterprise](https://cloud.ibm.com/docs/databases-for-elasticsearch?topic=databases-for-elasticsearch-elastic-offerings) instance for search and analytics capabilities.
2125

26+
4. Standard variation:
27+
- IBM Cloud OpenShift Cluster: Provisions an [IBM Cloud OpenShift cluster](https://cloud.ibm.com/docs/openshift?topic=openshift-overview)
28+
- VPC Network Infrastructure: Sets up the underlying VPC network infrastructure to support the OpenShift cluster.
29+
- ElasticSearch Platinum Plan: Leverages the platinum plan of ElasticSearch, which includes the [ELSER](https://cloud.ibm.com/docs/databases-for-elasticsearch?topic=databases-for-elasticsearch-elser-embeddings-elasticsearch) model for advanced vector generation capabilities.
2230

2331
## Objective and benefits
2432

25-
This deployable architecture is designed to showcase a fully automated deployment of a retrieval augmented generation application through IBM Cloud Projects. It provides a flexible and customizable foundation for your own watsonx applications on IBM Cloud. This architecture deploys the following [sample application](https://github.com/IBM/gen-ai-rag-watsonx-sample-application) by default.
33+
This deployable architecture is designed to showcase a fully automated deployment of a retrieval augmented generation application through IBM Cloud Projects. It provides a flexible and customizable foundation for your own watsonx applications on IBM Cloud. This architecture deploys the following [sample application](https://github.com/IBM/gen-ai-rag-watsonx-sample-application) by default for the variations that allow provisioning sample application.
2634

2735
By using this architecture, you can accelerate your deployment and tailor it to meet your business needs and enterprise goals.
2836

@@ -239,3 +247,20 @@ To use your own app, remove the `Workload - Sample RAG Application` member confi
239247
1. Delete the project.
240248

241249
To undeploy the infrastructure created by the deployable architecture, follow the steps in [Deleting a project](https://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-delete-project) in the IBM Cloud docs.
250+
251+
## Known Issues
252+
253+
[The Standard (OpenShift) variation is currently not idempotent](https://github.com/terraform-ibm-modules/stack-ibm-retrieval-augmented-generation/issues/247).
254+
255+
Both the `Landing zone` Deployable Architecture (DA) and the `Landing zone for cloud-native AI applications` Deployable Architecture (DA) attempt to manage the same `Access Control Lists (ACLs)`.
256+
This may result in duplicate or conflicting updates as the same ACL resource is updated from two independent Terraform states.
257+
258+
**Impact:**
259+
260+
- Non‑idempotent applies: `terraform apply` may produce updates even when no configuration changes exist.
261+
262+
- Unexpected diffs: Terraform may show differences in ACL rules because another state has modified the resource.
263+
264+
- Apply failures: Concurrent updates from both DAs may trigger errors such as “object changed outside of Terraform.
265+
266+
These issues occur only in environments where both DAs are applied independently and target the same ACL resource.

0 commit comments

Comments
 (0)