Skip to content

Commit 960733d

Browse files
authored
fix: add fix for race condition (#320)
1 parent 6e27a6a commit 960733d

File tree

8 files changed

+97
-92
lines changed

8 files changed

+97
-92
lines changed

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ https://terraform-ibm-modules.github.io/documentation/#/implementation-guideline
2121
## Overview
2222
* [terraform-ibm-app-configuration](#terraform-ibm-app-configuration)
2323
* [Examples](./examples)
24-
* <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=ac-advanced-example&repository=github.com/terraform-ibm-modules/terraform-ibm-app-configuration/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>
25-
* <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=ac-basic-example&repository=github.com/terraform-ibm-modules/terraform-ibm-app-configuration/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/advanced">Advanced example</a></div> <div style="display: inline-block; vertical-align: middle;"><a href="https://cloud.ibm.com/schematics/workspaces/create?workspace_name=ac-advanced-example&repository=https://github.com/terraform-ibm-modules/terraform-ibm-app-configuration/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>
25+
* <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=ac-basic-example&repository=https://github.com/terraform-ibm-modules/terraform-ibm-app-configuration/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>
2626
* [Contributing](#contributing)
2727
<!-- END OVERVIEW HOOK -->
2828

@@ -108,6 +108,7 @@ For more information on access and permissions, see <https://cloud.ibm.com/docs/
108108
| [ibm_resource_instance.app_config](https://registry.terraform.io/providers/IBM-Cloud/ibm/latest/docs/resources/resource_instance) | resource |
109109
| [random_string.en_integration_id](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string) | resource |
110110
| [random_string.kms_integration_id](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string) | resource |
111+
| [time_sleep.wait](https://registry.terraform.io/providers/hashicorp/time/latest/docs/resources/sleep) | resource |
111112
| [time_sleep.wait_for_en_authorization_policy](https://registry.terraform.io/providers/hashicorp/time/latest/docs/resources/sleep) | resource |
112113
| [time_sleep.wait_for_kms_authorization_policy](https://registry.terraform.io/providers/hashicorp/time/latest/docs/resources/sleep) | resource |
113114

ibm_catalog.json

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
{
5353
"label": "Fully configurable",
5454
"name": "fully-configurable",
55+
"short_description": "Ideal for users who want flexibility with a reliable starting point.",
5556
"index": 1,
5657
"install_type": "fullstack",
5758
"working_directory": "solutions/fully-configurable",
@@ -214,7 +215,12 @@
214215
"custom_config": {
215216
"type": "code_editor",
216217
"grouping": "deployment",
217-
"original_grouping": "deployment"
218+
"original_grouping": "deployment",
219+
"config_constraints": {
220+
"supportedLanguages": [
221+
"hcl"
222+
]
223+
}
218224
}
219225
},
220226
{
@@ -257,7 +263,12 @@
257263
"custom_config": {
258264
"type": "code_editor",
259265
"grouping": "deployment",
260-
"original_grouping": "deployment"
266+
"original_grouping": "deployment",
267+
"config_constraints": {
268+
"supportedLanguages": [
269+
"hcl"
270+
]
271+
}
261272
}
262273
},
263274
{

main.tf

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,14 @@ resource "ibm_app_config_collection" "collections" {
3636
# Configuration aggregator
3737
##############################################################################
3838

39+
# workaround for error "ReplaceSettingsWithContext failed: given app-config instance is not found"
40+
# https://github.ibm.com/devx-app-services/planning/issues/25953
41+
resource "time_sleep" "wait" {
42+
count = var.enable_config_aggregator ? 1 : 0
43+
depends_on = [ibm_resource_instance.app_config]
44+
create_duration = "30s"
45+
}
46+
3947
# Create the required Trusted Profile
4048
module "config_aggregator_trusted_profile" {
4149
count = var.enable_config_aggregator ? 1 : 0
@@ -177,6 +185,7 @@ module "config_aggregator_trusted_profile_template" {
177185

178186
# Define an aggregation
179187
resource "ibm_config_aggregator_settings" "config_aggregator_settings" {
188+
depends_on = [time_sleep.wait]
180189
count = var.enable_config_aggregator ? 1 : 0
181190
instance_id = ibm_resource_instance.app_config.guid
182191
region = ibm_resource_instance.app_config.location

tests/go.mod

Lines changed: 21 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,52 @@
11
module github.com/terraform-ibm-modules/terraform-ibm-app-configuration
22

3-
go 1.24.0
4-
5-
toolchain go1.25.4
3+
go 1.25.5
64

75
require (
8-
github.com/IBM/go-sdk-core v1.1.0
9-
github.com/gruntwork-io/terratest v0.52.0
6+
github.com/IBM/go-sdk-core/v5 v5.21.2
7+
github.com/gruntwork-io/terratest v0.54.0
108
github.com/stretchr/testify v1.11.1
11-
github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper v1.60.21
9+
github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper v1.61.5
1210
)
1311

1412
require (
1513
dario.cat/mergo v1.0.0 // indirect
1614
github.com/IBM-Cloud/bluemix-go v0.0.0-20240719075425-078fcb3a55be // indirect
17-
github.com/IBM-Cloud/power-go-client v1.13.0 // indirect
15+
github.com/IBM-Cloud/power-go-client v1.14.3 // indirect
1816
github.com/IBM/cloud-databases-go-sdk v0.8.1 // indirect
19-
github.com/IBM/go-sdk-core/v5 v5.21.0 // indirect
20-
github.com/IBM/platform-services-go-sdk v0.90.0 // indirect
21-
github.com/IBM/project-go-sdk v0.3.9 // indirect
17+
github.com/IBM/platform-services-go-sdk v0.90.4 // indirect
18+
github.com/IBM/project-go-sdk v0.4.0 // indirect
2219
github.com/IBM/schematics-go-sdk v0.4.0 // indirect
2320
github.com/IBM/vpc-go-sdk v1.0.2 // indirect
2421
github.com/Microsoft/go-winio v0.6.2 // indirect
2522
github.com/ProtonMail/go-crypto v1.1.6 // indirect
2623
github.com/agext/levenshtein v1.2.3 // indirect
2724
github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect
28-
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
2925
github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect
3026
github.com/cloudflare/circl v1.6.1 // indirect
3127
github.com/cyphar/filepath-securejoin v0.4.1 // indirect
3228
github.com/davecgh/go-spew v1.1.1 // indirect
33-
github.com/dgrijalva/jwt-go v3.2.0+incompatible // indirect
3429
github.com/emirpasic/gods v1.18.1 // indirect
35-
github.com/gabriel-vasile/mimetype v1.4.9 // indirect
30+
github.com/gabriel-vasile/mimetype v1.4.11 // indirect
3631
github.com/ghodss/yaml v1.0.0 // indirect
3732
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
3833
github.com/go-git/go-billy/v5 v5.6.2 // indirect
39-
github.com/go-git/go-git/v5 v5.16.3 // indirect
34+
github.com/go-git/go-git/v5 v5.16.4 // indirect
4035
github.com/go-logr/logr v1.4.2 // indirect
4136
github.com/go-logr/stdr v1.2.2 // indirect
4237
github.com/go-openapi/analysis v0.23.0 // indirect
43-
github.com/go-openapi/errors v0.22.3 // indirect
38+
github.com/go-openapi/errors v0.22.5 // indirect
4439
github.com/go-openapi/jsonpointer v0.21.1 // indirect
4540
github.com/go-openapi/jsonreference v0.21.0 // indirect
4641
github.com/go-openapi/loads v0.22.0 // indirect
4742
github.com/go-openapi/runtime v0.28.0 // indirect
4843
github.com/go-openapi/spec v0.21.0 // indirect
49-
github.com/go-openapi/strfmt v0.24.0 // indirect
44+
github.com/go-openapi/strfmt v0.25.0 // indirect
5045
github.com/go-openapi/swag v0.23.1 // indirect
5146
github.com/go-openapi/validate v0.24.0 // indirect
5247
github.com/go-playground/locales v0.14.1 // indirect
5348
github.com/go-playground/universal-translator v0.18.1 // indirect
54-
github.com/go-playground/validator/v10 v10.26.0 // indirect
49+
github.com/go-playground/validator/v10 v10.28.0 // indirect
5550
github.com/go-viper/mapstructure/v2 v2.4.0 // indirect
5651
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect
5752
github.com/google/go-cmp v0.7.0 // indirect
@@ -60,7 +55,7 @@ require (
6055
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
6156
github.com/hashicorp/go-getter/v2 v2.2.3 // indirect
6257
github.com/hashicorp/go-multierror v1.1.1 // indirect
63-
github.com/hashicorp/go-retryablehttp v0.7.7 // indirect
58+
github.com/hashicorp/go-retryablehttp v0.7.8 // indirect
6459
github.com/hashicorp/go-safetemp v1.0.0 // indirect
6560
github.com/hashicorp/go-version v1.7.0 // indirect
6661
github.com/hashicorp/hcl/v2 v2.22.0 // indirect
@@ -87,20 +82,19 @@ require (
8782
github.com/ulikunitz/xz v0.5.11 // indirect
8883
github.com/xanzy/ssh-agent v0.3.3 // indirect
8984
github.com/zclconf/go-cty v1.16.4 // indirect
90-
go.mongodb.org/mongo-driver v1.17.4 // indirect
85+
go.mongodb.org/mongo-driver v1.17.6 // indirect
9186
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
9287
go.opentelemetry.io/otel v1.35.0 // indirect
9388
go.opentelemetry.io/otel/metric v1.35.0 // indirect
9489
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
90+
go.yaml.in/yaml/v2 v2.4.3 // indirect
91+
golang.org/x/crypto v0.45.0 // indirect
92+
golang.org/x/mod v0.29.0 // indirect
93+
golang.org/x/net v0.47.0 // indirect
9994
golang.org/x/sync v0.18.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
103-
gopkg.in/go-playground/validator.v9 v9.31.0 // indirect
95+
golang.org/x/sys v0.38.0 // indirect
96+
golang.org/x/text v0.31.0 // indirect
97+
golang.org/x/tools v0.38.0 // indirect
10498
gopkg.in/warnings.v0 v0.1.2 // indirect
10599
gopkg.in/yaml.v2 v2.4.0 // indirect
106100
gopkg.in/yaml.v3 v3.0.1 // indirect

0 commit comments

Comments
 (0)