Skip to content
This repository has been archived by the owner on Dec 17, 2024. It is now read-only.

feat: added new standard variation for stack #38

Merged
merged 17 commits into from
Sep 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
344 changes: 341 additions & 3 deletions ibm_catalog.json
Original file line number Diff line number Diff line change
Expand Up @@ -143,13 +143,13 @@
{
"service_name": "databases-for-elasticsearch",
"role_crns": [
"crn:v1:bluemix:public:iam::::role:Editor"
"crn:v1:bluemix:public:iam::::role:Editor"
]
},
{
"service_name": "event-notifications",
"role_crns": [
"crn:v1:bluemix:public:iam::::serviceRole:Manager",
"crn:v1:bluemix:public:iam::::serviceRole:Manager",
"crn:v1:bluemix:public:iam::::role:Editor"
]
}
Expand Down Expand Up @@ -248,7 +248,345 @@
"default_value": "rag-services",
"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.",
"required": false
}, {
},
{
"key": "existing_resource_group_name",
"type": "string",
"default_value": "__NULL__",
"description": "The name of an existing resource group that is used by this solution, takes precedence over resource_group_name. Prefix is NOT used for existing resource group. All resources created by this solution are deployed in this resource group.",
"required": false
},
{
"key": "watsonx_admin_api_key",
"type": "password",
"description": "The API key used to provision the watson project resources. If not set, the API key used to deploy the solution is used.",
"required": false
},
{
"key": "secret_manager_service_plan",
"type": "string",
"default_value": "trial",
"description": "The service/pricing plan to use when provisioning a new Secrets Manager instance. Only one trial instance is allowed per account.",
"required": false,
"options": [
{
"displayname": "Trial",
"value": "trial"
},
{
"displayname": "Standard",
"value": "standard"
}
]
},
{
"key": "existing_secrets_manager_crn",
"type": "string",
"default_value": "__NULL__",
"description": "The CRN of an existing secret manager instance to use in this solution. If not set, a new secret manager instance is provisioned.",
"required": false
},
{
"key": "enable_platform_logs_metrics",
"type": "boolean",
"default_value": false,
"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.",
"required": false
},
{
"key": "sample_app_git_url",
"type": "string",
"default_value": "https://github.com/IBM/gen-ai-rag-watsonx-sample-application",
"description": "The URL to the public git repository containing the sample rag application code.",
"required": false
},
{
"key": "existing_kms_instance_crn",
"type": "string",
"default_value": "__NULL__",
"description": "The CRN of an existing KMS instance to use in this solution. If not set, a new KP instance is provisioned.",
"required": false
},
{
"key": "existing_event_notification_instance_crn",
"type": "string",
"default_value": "__NULL__",
"description": "The CRN of an existing event notification instance to use in this solution. If not set, a new event notification instance is provisioned.",
"required": false
},
{
"key": "existing_discovery_instance",
"type": "string",
"default_value": "__NULL__",
"description": "The CRN of an existing WatsonX SaaS discovery instance to use in this solution. If not set, a new discovery instance is provisioned depending on which plan is selected.",
"required": false
},
{
"key": "existing_assistant_instance_crn",
"type": "string",
"default_value": "__NULL__",
"description": "The CRN of an existing WatsonX SaaS assistant instance to use in this solution. If not set, a new assistant instance is provisioned depending on which plan is selected.",
"required": false
},
{
"key": "existing_governance_instance",
"type": "string",
"default_value": "__NULL__",
"description": "The CRN of an existing WatsonX SaaS governance instance to use in this solution. If not set, a new governance instance is provisioned depending on which plan is selected.",
"required": false
},
{
"key": "existing_studio_instance",
"type": "string",
"default_value": "__NULL__",
"description": "The CRN of an existing WatsonX SaaS studio instance to use in this solution. If not set, a new studio instance is provisioned depending on which plan is selected.",
"required": false
},
{
"key": "existing_machine_learning_instance",
"type": "string",
"default_value": "__NULL__",
"description": "The CRN of an existing WatsonX SaaS machine learning instance to use in this solution. If not set, a new machine learning instance is provisioned depending on which plan is selected.",
"required": false
},
{
"key": "existing_elasticsearch_instance_crn",
"type": "string",
"default_value": "__NULL__",
"description": "The CRN of an existing elasticsearch instance to use in this solution. If not set, a new elasticsearch instance is provisioned.",
"required": false
}
],
"outputs": [
{
"key": "elasticsearch_hostname",
"description": "The hostname of the Elasticsearch instance."
},
{
"key": "elasticsearch_port",
"description": "The port of the Elasticsearch instance."
},
{
"key": "elasticsearch_service_credentials_json",
"description": "The service credentials of the Elasticsearch instance."
},
{
"key": "elasticsearch_crn",
"description": "The CRN of the Elasticsearch instance."
},
{
"key": "watsonx_project_url",
"description": "The URL to the WatsonX project for the sample RAG application."
},
{
"key": "watsonx_project_id",
"description": "The ID for the WatsonX project for the sample RAG application."
},
{
"key": "watson_discovery_api_url",
"description": "The URL to the Watson Discovery API endpoint."
},
{
"key": "watson_discovery_project_id",
"description": "The ID for the Watson Discovery project for the sample RAG application."
}
],
"install_type": "fullstack"
},
{
"label": "Standard (Deploy on Red Hat OpenShift)",
"name": "standard",
"working_directory": "solutions/standard",
"compliance": {
"authority": "scc-v3",
"profiles": [
{
"profile_name": "AI Security Guardrails 2.0",
"profile_version": "1.0.0"
}
]
},
"iam_permissions": [
{
"service_name": "iam-groups",
"role_crns": [
"crn:v1:bluemix:public:iam::::role:Administrator"
]
},
{
"role_crns": [
"crn:v1:bluemix:public:iam::::serviceRole:Manager",
"crn:v1:bluemix:public:iam::::role:Editor"
],
"service_name": "cloud-object-storage"
},
{
"role_crns": [
"crn:v1:bluemix:public:iam::::role:Administrator"
],
"service_name": "iam-identity"
},
{
"role_crns": [
"crn:v1:bluemix:public:iam::::serviceRole:Writer",
"crn:v1:bluemix:public:iam::::role:Administrator"
],
"service_name": "atracker"
},
{
"role_crns": [
"crn:v1:bluemix:public:iam::::serviceRole:Manager",
"crn:v1:bluemix:public:iam::::role:Editor"
],
"service_name": "kms"
},
{
"service_name": "compliance",
"role_crns": [
"crn:v1:bluemix:public:iam::::serviceRole:Manager",
"crn:v1:bluemix:public:iam::::role:Editor"
]
},
{
"role_crns": [
"crn:v1:bluemix:public:iam::::role:Editor"
],
"service_name": "pm-20"
},
{
"role_crns": [
"crn:v1:bluemix:public:iam::::role:Editor"
],
"service_name": "data-science-experience"
},
{
"role_crns": [
"crn:v1:bluemix:public:iam::::role:Editor"
],
"service_name": "aiopenscale"
},
{
"role_crns": [
"crn:v1:bluemix:public:iam::::role:Editor"
],
"service_name": "conversation"
},
{
"role_crns": [
"crn:v1:bluemix:public:iam::::role:Editor"
],
"service_name": "discovery"
},
{
"service_name": "databases-for-elasticsearch",
"role_crns": [
"crn:v1:bluemix:public:iam::::role:Editor"
]
},
{
"service_name": "event-notifications",
"role_crns": [
"crn:v1:bluemix:public:iam::::serviceRole:Manager",
"crn:v1:bluemix:public:iam::::role:Editor"
]
}
],
"architecture": {
"features": [
{
"title": "Retrieval Augmented Generation sample pattern",
"description": "Deploy a banking retrieval augmented generation (RAG) sample application to IBM Cloud Code Engine using Continous Delivery."
},
{
"title": "Ensure Observability",
"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."
},
{
"title": "Implement Security",
"description": "The architecture ensures security by deploying IBM Key Protect and IBM Secrets Manager."
},
{
"title": "Achieve Regulatory Compliance",
"description": "The architecture ensures regulatory compliance by implementing CI/CD/CC pipelines, along with IBM Security Compliance Center (SCC) for secure application lifecycle management."
},
{
"title": "Establish Trust",
"description": "The architecture ensures trust by configuring the IBM Cloud account to align with compliance settings as defined in the Financial Services framework."
}
],
"diagrams": [
{
"diagram": {
"url": "https://raw.githubusercontent.com/terraform-ibm-modules/dev-rag/main/reference-architecture/rag-pattern.svg",
"caption": "Reference architecture",
"type": "image/svg+xml",
"thumbnail_url": "https://raw.githubusercontent.com/terraform-ibm-modules/dev-rag/main/reference-architecture/rag-pattern.svg"
},
"description": "Reference architecture"
},
{
"diagram": {
"url": "https://raw.githubusercontent.com/terraform-ibm-modules/dev-rag/main/reference-architecture/rag-stack.svg",
"caption": "Solution components",
"type": "image/svg+xml",
"thumbnail_url": "https://raw.githubusercontent.com/terraform-ibm-modules/dev-rag/main/reference-architecture/rag-stack.svg"
},
"description": "Solution components"
}
]
},
"configuration": [
{
"key": "prefix",
"type": "string",
"description": "A prefix added to the name of all resources created by this solution. Must be 13 characters or less. Used to avoid name clashes in the target account when existing this solution multiple times.",
"default_value": "rag",
"required": true
},
{
"key": "ibmcloud_api_key",
"type": "password",
"description": "The API Key used to provision all resources created in this solution.",
"required": true
},
{
"key": "signing_key",
"type": "password",
"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.",
"display_name": "Multiline secure value",
"default_value": "replace",
"required": false,
"custom_config": {
"type": "multiline_secure_value",
"grouping": "deployment",
"original_grouping": "deployment"
}
},
{
"key": "region",
"type": "string",
"default_value": "us-south",
"description": "The region in which all resources are deployed.",
"required": false,
"options": [
{
"displayname": "us-south",
"value": "us-south"
},
{
"displayname": "eu-de",
"value": "eu-de"
}
]
},
{
"key": "resource_group_name",
"type": "string",
"default_value": "rag-services",
"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.",
"required": false
},
{
"key": "existing_resource_group_name",
"type": "string",
"default_value": "__NULL__",
Expand Down
11 changes: 8 additions & 3 deletions solutions/basic/stack_definition.json
Original file line number Diff line number Diff line change
Expand Up @@ -402,13 +402,15 @@
},
{
"name": "profile_attachments",
"value": ["AI Security Guardrails 2.0"]
"value": [
"AI Security Guardrails 2.0"
]
}
]
},
{
"name": "Gen AI - Databases for Elasticsearch",
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.1b14c633-2d83-49a9-a9ee-4ce5921e22e1-global",
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.3858adc6-94f5-4f28-97c0-f249cba95e8a-global",
"inputs": [
{
"name": "use_existing_resource_group",
Expand Down Expand Up @@ -560,7 +562,10 @@
},
{
"name": "project_names",
"value": ["Generative_AI_Sample_App_CI_Project", "Generative_AI_Sample_App_CD_Project"]
"value": [
"Generative_AI_Sample_App_CI_Project",
"Generative_AI_Sample_App_CD_Project"
]
},
{
"name": "region",
Expand Down
4 changes: 4 additions & 0 deletions solutions/standard/catalogValidationValues.json.template
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"ibmcloud_api_key": $VALIDATION_APIKEY,
"prefix": $PREFIX
}
Loading