@@ -8,6 +8,9 @@ data "ibm_iam_auth_token" "tokendata" {}
8
8
9
9
# Resource group - create if it doesn't exist
10
10
module "resource_group" {
11
+ providers = {
12
+ ibm = ibm.ibm_resources
13
+ }
11
14
source = " terraform-ibm-modules/resource-group/ibm"
12
15
version = " 1.1.5"
13
16
resource_group_name = var. use_existing_resource_group == false ? var. resource_group_name : null
@@ -16,19 +19,54 @@ module "resource_group" {
16
19
17
20
# create COS instance for WatsonX.AI project
18
21
module "cos" {
22
+ providers = {
23
+ ibm = ibm.ibm_resources
24
+ }
19
25
source = " terraform-ibm-modules/cos/ibm//modules/fscloud"
20
26
version = " 8.1.7"
21
27
resource_group_id = module. resource_group . resource_group_id
22
28
cos_instance_name = " ${ var . prefix } -rag-sample-app-cos"
23
29
cos_plan = " standard"
24
30
}
25
31
32
+ # secrets manager secrets - IBM IAM API KEY
33
+ module "secrets_manager_secret_ibm_iam" {
34
+ providers = {
35
+ ibm = ibm.ibm_resources
36
+ }
37
+ source = " terraform-ibm-modules/secrets-manager-secret/ibm"
38
+ version = " 1.3.0"
39
+ region = var. toolchain_region
40
+ secrets_manager_guid = var. secrets_manager_guid
41
+ secret_name = " ${ var . prefix } -secret-api-key"
42
+ secret_description = " IBM IAM Api key"
43
+ secret_type = " arbitrary" # checkov:skip=CKV_SECRET_6
44
+ secret_payload_password = var. ibmcloud_api_key
45
+ }
46
+
47
+ # secrets manager secrets - IBM signing key
48
+ module "secrets_manager_secret_signing_key" {
49
+ providers = {
50
+ ibm = ibm.ibm_resources
51
+ }
52
+ source = " terraform-ibm-modules/secrets-manager-secret/ibm"
53
+ version = " 1.3.0"
54
+ region = var. toolchain_region
55
+ secrets_manager_guid = var. secrets_manager_guid
56
+ secret_name = " ${ var . prefix } -secret-signing-key"
57
+ secret_description = " IBM Signing GPG key"
58
+ secret_type = " arbitrary" # checkov:skip=CKV_SECRET_6
59
+ secret_payload_password = var. signing_key
60
+ }
61
+
26
62
data "ibm_resource_group" "toolchain_resource_group_id" {
27
- name = var. toolchain_resource_group
63
+ provider = ibm. ibm_resources
64
+ name = var. toolchain_resource_group
28
65
}
29
66
30
67
# create CD service for toolchain use if variable is set
31
68
resource "ibm_resource_instance" "cd_instance" {
69
+ provider = ibm. ibm_resources
32
70
count = var. create_continuous_delivery_service_instance ? 1 : 0
33
71
name = " ${ var . prefix } -cd-instance"
34
72
service = " continuous-delivery"
@@ -45,7 +83,8 @@ resource "ibm_resource_instance" "cd_instance" {
45
83
46
84
# create watsonx.AI project
47
85
module "configure_project" {
48
- source = " github.com/terraform-ibm-modules/terraform-ibm-watsonx-saas-da.git//configure_project?ref=v0.2.0"
86
+ watsonx_admin_api_key = var. watsonx_admin_api_key != null ? var. watsonx_admin_api_key : var. ibmcloud_api_key
87
+ source = " github.com/terraform-ibm-modules/terraform-ibm-watsonx-saas-da.git//configure_project?ref=v0.4.1"
49
88
project_name = " ${ var . prefix } -RAG-sample-project"
50
89
project_description = " WatsonX AI project for RAG pattern sample app"
51
90
project_tags = [" watsonx-ai-SaaS" , " RAG-sample-project" ]
@@ -164,6 +203,7 @@ data "external" "discovery_project_id" {
164
203
165
204
# Update CI pipeline with Assistant instance ID
166
205
resource "ibm_cd_tekton_pipeline_property" "watsonx_assistant_id_pipeline_property_ci" {
206
+ provider = ibm. ibm_resources
167
207
name = " watsonx_assistant_id"
168
208
pipeline_id = var. ci_pipeline_id
169
209
type = " text"
@@ -172,6 +212,7 @@ resource "ibm_cd_tekton_pipeline_property" "watsonx_assistant_id_pipeline_proper
172
212
173
213
# Update CD pipeline with Assistant instance ID
174
214
resource "ibm_cd_tekton_pipeline_property" "watsonx_assistant_id_pipeline_property_cd" {
215
+ provider = ibm. ibm_resources
175
216
name = " watsonx_assistant_id"
176
217
pipeline_id = var. cd_pipeline_id
177
218
type = " text"
@@ -180,6 +221,7 @@ resource "ibm_cd_tekton_pipeline_property" "watsonx_assistant_id_pipeline_proper
180
221
181
222
# Update CI pipeline with app flavor
182
223
resource "ibm_cd_tekton_pipeline_property" "application_flavor_pipeline_property_ci" {
224
+ provider = ibm. ibm_resources
183
225
name = " app-flavor"
184
226
pipeline_id = var. ci_pipeline_id
185
227
type = " text"
@@ -188,6 +230,7 @@ resource "ibm_cd_tekton_pipeline_property" "application_flavor_pipeline_property
188
230
189
231
# Update CD pipeline with app flavor
190
232
resource "ibm_cd_tekton_pipeline_property" "application_flavor_pipeline_property_cd" {
233
+ provider = ibm. ibm_resources
191
234
name = " app-flavor"
192
235
pipeline_id = var. cd_pipeline_id
193
236
type = " text"
@@ -196,6 +239,7 @@ resource "ibm_cd_tekton_pipeline_property" "application_flavor_pipeline_property
196
239
197
240
# Update CI pipeline with Assistant integration ID
198
241
resource "ibm_cd_tekton_pipeline_property" "watsonx_assistant_integration_id_pipeline_property_ci" {
242
+ provider = ibm. ibm_resources
199
243
depends_on = [data . external . assistant_get_integration_id ]
200
244
name = " watsonx_assistant_integration_id"
201
245
pipeline_id = var. ci_pipeline_id
@@ -205,6 +249,7 @@ resource "ibm_cd_tekton_pipeline_property" "watsonx_assistant_integration_id_pip
205
249
206
250
# Update CD pipeline with Assistant integration ID
207
251
resource "ibm_cd_tekton_pipeline_property" "watsonx_assistant_integration_id_pipeline_property_cd" {
252
+ provider = ibm. ibm_resources
208
253
depends_on = [data . external . assistant_get_integration_id ]
209
254
name = " watsonx_assistant_integration_id"
210
255
pipeline_id = var. cd_pipeline_id
@@ -221,6 +266,7 @@ resource "random_string" "webhook_secret" {
221
266
222
267
# Create webhook for CI pipeline
223
268
resource "ibm_cd_tekton_pipeline_trigger" "ci_pipeline_webhook" {
269
+ provider = ibm. ibm_resources
224
270
depends_on = [random_string . webhook_secret ]
225
271
type = " generic"
226
272
pipeline_id = var. ci_pipeline_id
@@ -236,6 +282,7 @@ resource "ibm_cd_tekton_pipeline_trigger" "ci_pipeline_webhook" {
236
282
237
283
# Create git trigger for CD pipeline - to run inventory promotion once CI pipeline is complete
238
284
resource "ibm_cd_tekton_pipeline_trigger" "cd_pipeline_inventory_promotion_trigger" {
285
+ provider = ibm. ibm_resources
239
286
count = var. inventory_repo_url != null ? 1 : 0
240
287
type = " scm"
241
288
pipeline_id = var. cd_pipeline_id
0 commit comments