Skip to content

Commit 9e963f9

Browse files
authored
feat: add short_description and add HCL code editor for complex Terraform input types in catalog config for DAs. (#445)
* chore: updated the apikey_secret_id * update CDA * fixes
1 parent 015485c commit 9e963f9

File tree

8 files changed

+109
-92
lines changed

8 files changed

+109
-92
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ This module is used to provision and configure an IBM Cloud [Secrets Manager](ht
1919
* [fscloud](./modules/fscloud)
2020
* [secrets](./modules/secrets)
2121
* [Examples](./examples)
22-
* <div style="display: inline-block;"><a href="./examples/advanced">Advanced example</a></div> <div style="display: inline-block; vertical-align: middle;"><a href="https://cloud.ibm.com/schematics/workspaces/create?workspace_name=sm-advanced-example&repository=github.com/terraform-ibm-modules/terraform-ibm-secrets-manager/tree/main/examples/advanced" target="_blank"><img src="https://cloud.ibm.com/media/docs/images/icons/Deploy_to_cloud.svg" alt="Deploy to IBM Cloud button"></a></div>
23-
* <div style="display: inline-block;"><a href="./examples/basic">Basic example</a></div> <div style="display: inline-block; vertical-align: middle;"><a href="https://cloud.ibm.com/schematics/workspaces/create?workspace_name=sm-basic-example&repository=github.com/terraform-ibm-modules/terraform-ibm-secrets-manager/tree/main/examples/basic" target="_blank"><img src="https://cloud.ibm.com/media/docs/images/icons/Deploy_to_cloud.svg" alt="Deploy to IBM Cloud button"></a></div>
24-
* <div style="display: inline-block;"><a href="./examples/fscloud">Financial Services Cloud profile example with KYOK encryption</a></div> <div style="display: inline-block; vertical-align: middle;"><a href="https://cloud.ibm.com/schematics/workspaces/create?workspace_name=sm-fscloud-example&repository=github.com/terraform-ibm-modules/terraform-ibm-secrets-manager/tree/main/examples/fscloud" target="_blank"><img src="https://cloud.ibm.com/media/docs/images/icons/Deploy_to_cloud.svg" alt="Deploy to IBM Cloud button"></a></div>
22+
* <div style="display: inline-block;"><a href="./examples/advanced">Advanced example</a></div> <div style="display: inline-block; vertical-align: middle;"><a href="https://cloud.ibm.com/schematics/workspaces/create?workspace_name=sm-advanced-example&repository=https://github.com/terraform-ibm-modules/terraform-ibm-secrets-manager/tree/main/examples/advanced" target="_blank"><img src="https://cloud.ibm.com/media/docs/images/icons/Deploy_to_cloud.svg" alt="Deploy to IBM Cloud button"></a></div>
23+
* <div style="display: inline-block;"><a href="./examples/basic">Basic example</a></div> <div style="display: inline-block; vertical-align: middle;"><a href="https://cloud.ibm.com/schematics/workspaces/create?workspace_name=sm-basic-example&repository=https://github.com/terraform-ibm-modules/terraform-ibm-secrets-manager/tree/main/examples/basic" target="_blank"><img src="https://cloud.ibm.com/media/docs/images/icons/Deploy_to_cloud.svg" alt="Deploy to IBM Cloud button"></a></div>
24+
* <div style="display: inline-block;"><a href="./examples/fscloud">Financial Services Cloud profile example with KYOK encryption</a></div> <div style="display: inline-block; vertical-align: middle;"><a href="https://cloud.ibm.com/schematics/workspaces/create?workspace_name=sm-fscloud-example&repository=https://github.com/terraform-ibm-modules/terraform-ibm-secrets-manager/tree/main/examples/fscloud" target="_blank"><img src="https://cloud.ibm.com/media/docs/images/icons/Deploy_to_cloud.svg" alt="Deploy to IBM Cloud button"></a></div>
2525
* [Contributing](#contributing)
2626
<!-- END OVERVIEW HOOK -->
2727

examples/advanced/main.tf

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,12 @@ resource "time_sleep" "wait_for_en_policy" {
6868
# Secrets Manager
6969
##############################################################################
7070

71+
locals {
72+
secret_name_service_credential = "${var.prefix}-service-credential"
73+
secret_name_arbitrary_example = "${var.prefix}-arbitrary-example"
74+
secret_name_kp_key_id = "${var.prefix}-kp-key-id"
75+
}
76+
7177
module "secrets_manager" {
7278
depends_on = [time_sleep.wait_for_en_policy]
7379
source = "../.."
@@ -88,15 +94,15 @@ module "secrets_manager" {
8894
secrets = [
8995
# Example creating Event Notifications service credential secret
9096
{
91-
secret_name = "${var.prefix}-service-credential"
97+
secret_name = local.secret_name_service_credential
9298
secret_type = "service_credentials" #checkov:skip=CKV_SECRET_6
9399
secret_description = "Created by secrets-manager-module advanced example"
94100
service_credentials_source_service_crn = module.event_notifications.crn
95101
service_credentials_source_service_role_crn = "crn:v1:bluemix:public:event-notifications::::serviceRole:Event-Notification-Publisher"
96102
},
97103
# Example creating arbitrary secret
98104
{
99-
secret_name = "${var.prefix}-arbitrary-example"
105+
secret_name = local.secret_name_arbitrary_example
100106
secret_type = "arbitrary"
101107
secret_payload_password = var.ibmcloud_api_key
102108
}
@@ -107,7 +113,7 @@ module "secrets_manager" {
107113
secret_group_name = "default"
108114
existing_secret_group = true
109115
secrets = [{
110-
secret_name = "${var.prefix}-kp-key-id"
116+
secret_name = local.secret_name_kp_key_id
111117
secret_type = "arbitrary"
112118
secret_payload_password = module.key_protect.keys["${var.prefix}-sm.${var.prefix}-sm-key"].key_id
113119
}
@@ -240,7 +246,7 @@ module "secret_manager_custom_credential" {
240246
custom_credentials_parameters = true
241247
job_parameters = {
242248
string_values = {
243-
apikey_secret_id = module.secrets_manager.secrets["${var.prefix}-custom-service-credential"].secret_id
249+
apikey_secret_id = module.secrets_manager.secrets[local.secret_name_service_credential].secret_id
244250
}
245251
}
246252
}

ibm_catalog.json

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@
6767
{
6868
"label": "Fully configurable",
6969
"name": "fully-configurable",
70+
"short_description": "Ideal for users who want flexibility with a reliable starting point.",
7071
"index": 1,
7172
"install_type": "fullstack",
7273
"working_directory": "solutions/fully-configurable",
@@ -319,23 +320,28 @@
319320
},
320321
{
321322
"key": "secrets_manager_cbr_rules",
322-
"type": "array",
323323
"custom_config": {
324324
"type": "code_editor",
325325
"grouping": "deployment",
326326
"original_grouping": "deployment",
327327
"config_constraints": {
328-
"type": "string"
328+
"supportedLanguages": [
329+
"hcl"
330+
]
329331
}
330332
}
331333
},
332334
{
333335
"key": "secret_groups",
334-
"type": "array",
335336
"custom_config": {
336337
"type": "code_editor",
337338
"grouping": "deployment",
338-
"original_grouping": "deployment"
339+
"original_grouping": "deployment",
340+
"config_constraints": {
341+
"supportedLanguages": [
342+
"hcl"
343+
]
344+
}
339345
}
340346
},
341347
{
@@ -597,6 +603,7 @@
597603
{
598604
"label": "Security-enforced",
599605
"name": "security-enforced",
606+
"short_description": "Ideal for users requiring IBM's secure-by-default standards with enforced security settings for compliance and best practices.",
600607
"index": 2,
601608
"install_type": "fullstack",
602609
"working_directory": "solutions/security-enforced",
@@ -777,23 +784,28 @@
777784
},
778785
{
779786
"key": "secrets_manager_cbr_rules",
780-
"type": "array",
781787
"custom_config": {
782788
"type": "code_editor",
783789
"grouping": "deployment",
784790
"original_grouping": "deployment",
785791
"config_constraints": {
786-
"type": "string"
792+
"supportedLanguages": [
793+
"hcl"
794+
]
787795
}
788796
}
789797
},
790798
{
791799
"key": "secret_groups",
792-
"type": "array",
793800
"custom_config": {
794801
"type": "code_editor",
795802
"grouping": "deployment",
796-
"original_grouping": "deployment"
803+
"original_grouping": "deployment",
804+
"config_constraints": {
805+
"supportedLanguages": [
806+
"hcl"
807+
]
808+
}
797809
}
798810
},
799811
{

tests/go.mod

Lines changed: 21 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,52 +5,51 @@ go 1.24.2
55
toolchain go1.25.4
66

77
require (
8-
github.com/IBM/go-sdk-core/v5 v5.21.0
9-
github.com/gruntwork-io/terratest v0.52.0
8+
github.com/IBM/go-sdk-core/v5 v5.21.2
9+
github.com/gruntwork-io/terratest v0.54.0
1010
github.com/stretchr/testify v1.11.1
11-
github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper v1.60.20
11+
github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper v1.60.34
1212
)
1313

1414
require (
1515
dario.cat/mergo v1.0.0 // indirect
1616
github.com/IBM-Cloud/bluemix-go v0.0.0-20240719075425-078fcb3a55be // indirect
17-
github.com/IBM-Cloud/power-go-client v1.13.0 // indirect
17+
github.com/IBM-Cloud/power-go-client v1.14.3 // indirect
1818
github.com/IBM/cloud-databases-go-sdk v0.8.1 // indirect
19-
github.com/IBM/platform-services-go-sdk v0.90.0 // indirect
20-
github.com/IBM/project-go-sdk v0.3.9 // indirect
19+
github.com/IBM/platform-services-go-sdk v0.90.4 // indirect
20+
github.com/IBM/project-go-sdk v0.4.0 // indirect
2121
github.com/IBM/schematics-go-sdk v0.4.0 // indirect
2222
github.com/IBM/vpc-go-sdk v1.0.2 // indirect
2323
github.com/Microsoft/go-winio v0.6.2 // indirect
2424
github.com/ProtonMail/go-crypto v1.1.6 // indirect
2525
github.com/agext/levenshtein v1.2.3 // indirect
2626
github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect
27-
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
2827
github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect
2928
github.com/cloudflare/circl v1.6.1 // indirect
3029
github.com/cyphar/filepath-securejoin v0.4.1 // indirect
3130
github.com/davecgh/go-spew v1.1.1 // indirect
3231
github.com/emirpasic/gods v1.18.1 // indirect
3332
github.com/fsnotify/fsnotify v1.8.0 // indirect
34-
github.com/gabriel-vasile/mimetype v1.4.9 // indirect
33+
github.com/gabriel-vasile/mimetype v1.4.11 // indirect
3534
github.com/ghodss/yaml v1.0.0 // indirect
3635
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
3736
github.com/go-git/go-billy/v5 v5.6.2 // indirect
38-
github.com/go-git/go-git/v5 v5.16.3 // indirect
37+
github.com/go-git/go-git/v5 v5.16.4 // indirect
3938
github.com/go-logr/logr v1.4.2 // indirect
4039
github.com/go-logr/stdr v1.2.2 // indirect
4140
github.com/go-openapi/analysis v0.23.0 // indirect
42-
github.com/go-openapi/errors v0.22.3 // indirect
41+
github.com/go-openapi/errors v0.22.4 // indirect
4342
github.com/go-openapi/jsonpointer v0.21.1 // indirect
4443
github.com/go-openapi/jsonreference v0.21.0 // indirect
4544
github.com/go-openapi/loads v0.22.0 // indirect
4645
github.com/go-openapi/runtime v0.28.0 // indirect
4746
github.com/go-openapi/spec v0.21.0 // indirect
48-
github.com/go-openapi/strfmt v0.24.0 // indirect
47+
github.com/go-openapi/strfmt v0.25.0 // indirect
4948
github.com/go-openapi/swag v0.23.1 // indirect
5049
github.com/go-openapi/validate v0.24.0 // indirect
5150
github.com/go-playground/locales v0.14.1 // indirect
5251
github.com/go-playground/universal-translator v0.18.1 // indirect
53-
github.com/go-playground/validator/v10 v10.26.0 // indirect
52+
github.com/go-playground/validator/v10 v10.28.0 // indirect
5453
github.com/go-viper/mapstructure/v2 v2.4.0 // indirect
5554
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect
5655
github.com/google/go-cmp v0.7.0 // indirect
@@ -59,7 +58,7 @@ require (
5958
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
6059
github.com/hashicorp/go-getter/v2 v2.2.3 // indirect
6160
github.com/hashicorp/go-multierror v1.1.1 // indirect
62-
github.com/hashicorp/go-retryablehttp v0.7.7 // indirect
61+
github.com/hashicorp/go-retryablehttp v0.7.8 // indirect
6362
github.com/hashicorp/go-safetemp v1.0.0 // indirect
6463
github.com/hashicorp/go-version v1.7.0 // indirect
6564
github.com/hashicorp/hcl/v2 v2.22.0 // indirect
@@ -87,19 +86,19 @@ require (
8786
github.com/ulikunitz/xz v0.5.11 // indirect
8887
github.com/xanzy/ssh-agent v0.3.3 // indirect
8988
github.com/zclconf/go-cty v1.16.4 // indirect
90-
go.mongodb.org/mongo-driver v1.17.4 // indirect
89+
go.mongodb.org/mongo-driver v1.17.6 // indirect
9190
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
9291
go.opentelemetry.io/otel v1.35.0 // indirect
9392
go.opentelemetry.io/otel/metric v1.35.0 // indirect
9493
go.opentelemetry.io/otel/trace v1.35.0 // indirect
95-
go.yaml.in/yaml/v2 v2.4.2 // indirect
96-
golang.org/x/crypto v0.43.0 // indirect
97-
golang.org/x/mod v0.28.0 // indirect
98-
golang.org/x/net v0.45.0 // indirect
99-
golang.org/x/sync v0.17.0 // indirect
100-
golang.org/x/sys v0.37.0 // indirect
101-
golang.org/x/text v0.30.0 // indirect
102-
golang.org/x/tools v0.37.0 // indirect
94+
go.yaml.in/yaml/v2 v2.4.3 // indirect
95+
golang.org/x/crypto v0.45.0 // indirect
96+
golang.org/x/mod v0.29.0 // indirect
97+
golang.org/x/net v0.47.0 // indirect
98+
golang.org/x/sync v0.18.0 // indirect
99+
golang.org/x/sys v0.38.0 // indirect
100+
golang.org/x/text v0.31.0 // indirect
101+
golang.org/x/tools v0.38.0 // indirect
103102
gopkg.in/warnings.v0 v0.1.2 // indirect
104103
gopkg.in/yaml.v2 v2.4.0 // indirect
105104
gopkg.in/yaml.v3 v3.0.1 // indirect

0 commit comments

Comments
 (0)