Skip to content

Commit c9058bc

Browse files
feat: Enable addons for DA and improve DA User experience<br>- update reference architecture diagram to include Observability as its surroundings<br>- update catalog content and the required IAM permissions<br>- update input variable descriptions and some supporting doc updates<br>* added support of region ca-mon and update tests<br>* Renamed input varaible app_config_cbr_rules -> cbr_rules (#254)
* refactor: Improve User experience * update iam permissions * update iam permissions * PR changes * Update notes for catalog * Update depends on * Update virtual variables * update description * update description * restore workaround * restore Observability * restore Observability * PR changes * new region * PR changes * PR changes
1 parent a8e4af7 commit c9058bc

File tree

11 files changed

+140
-105
lines changed

11 files changed

+140
-105
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ For more information on access and permissions, see <https://cloud.ibm.com/docs/
117117
| <a name="input_config_aggregator_resource_collection_regions"></a> [config\_aggregator\_resource\_collection\_regions](#input\_config\_aggregator\_resource\_collection\_regions) | From which region do you want to collect configuration data? Only applies if `enable_config_aggregator` is set to true. | `list(string)` | <pre>[<br/> "all"<br/>]</pre> | no |
118118
| <a name="input_config_aggregator_trusted_profile_name"></a> [config\_aggregator\_trusted\_profile\_name](#input\_config\_aggregator\_trusted\_profile\_name) | The name to give the trusted profile that will be created if `enable_config_aggregator` is set to `true`. | `string` | `"config-aggregator-trusted-profile"` | no |
119119
| <a name="input_enable_config_aggregator"></a> [enable\_config\_aggregator](#input\_enable\_config\_aggregator) | Set to true to enable configuration aggregator. By setting to true a trusted profile will be created with the required access to record configuration data from all resources across regions in your account. [Learn more](https://cloud.ibm.com/docs/app-configuration?topic=app-configuration-ac-configuration-aggregator). | `bool` | `false` | no |
120-
| <a name="input_region"></a> [region](#input\_region) | The region to provision the App Configuration service, valid regions are au-syd, jp-osa, jp-tok, eu-de, eu-gb, eu-es, us-east, us-south, ca-tor, br-sao, eu-fr2. | `string` | `"us-south"` | no |
120+
| <a name="input_region"></a> [region](#input\_region) | The region to provision the App Configuration service, valid regions are au-syd, jp-osa, jp-tok, eu-de, eu-gb, eu-es, us-east, us-south, ca-tor, br-sao, eu-fr2, ca-mon. | `string` | `"us-south"` | no |
121121
| <a name="input_resource_group_id"></a> [resource\_group\_id](#input\_resource\_group\_id) | The resource group ID where resources will be provisioned. | `string` | n/a | yes |
122122

123123
### Outputs

ibm_catalog.json

Lines changed: 116 additions & 38 deletions
Large diffs are not rendered by default.

reference-architecture/app_configuration.svg

Lines changed: 1 addition & 1 deletion
Loading

solutions/fully-configurable/DA-cbr_rules.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# Configuring context-based restrictions (CBRs)
22

3-
The `app_config_cbr_rules` input variable allows you to provide a rule for the target service to enforce access restrictions for the service based on the context of access requests. Contexts are criteria that include the network location of access requests, the endpoint type from where the request is sent, etc.
3+
The `cbr_rules` input variable allows you to provide a rule for the target service to enforce access restrictions for the service based on the context of access requests. Contexts are criteria that include the network location of access requests, the endpoint type from where the request is sent, etc.
44

5-
- Variable name: `app_config_cbr_rules`.
5+
- Variable name: `cbr_rules`.
66
- Type: A list of objects. Allows only one object representing a rule for the target service
77
- Default value: An empty list (`[]`).
88

9-
### Options for app_config_cbr_rules
9+
### Options for cbr_rules
1010

1111
- `description` (required): The description of the rule to create.
1212
- `account_id` (required): The IBM Cloud Account ID
@@ -28,8 +28,8 @@ The `app_config_cbr_rules` input variable allows you to provide a rule for the t
2828
[
2929
{
3030
description = "Restrict access to App Config from trusted network"
31-
account_id = "<AccountID>"
32-
enforcement_mode = "enabled"
31+
account_id = "<REPLACE ME>"
32+
enforcement_mode = "report"
3333
tags = [
3434
{
3535
name = "env"
@@ -41,7 +41,7 @@ The `app_config_cbr_rules` input variable allows you to provide a rule for the t
4141
attributes = [
4242
{
4343
name = "networkZoneId"
44-
value = "<NetworkZoneID>"
44+
value = "<REPLACE ME>"
4545
},
4646
{
4747
"name" : "endpointType",

solutions/fully-configurable/DA-prefix.md

Lines changed: 0 additions & 38 deletions
This file was deleted.
Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,3 @@
1-
# Cloud automation for App Configuration
2-
3-
[![Catalog release](https://img.shields.io/badge/release-IBM%20Cloud%20Catalog-3662FF?logo=ibm)](https://cloud.ibm.com/catalog/7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3/architecture/deploy-arch-ibm-apprapp-045c1169-d15a-4046-ae81-aa3d3348421f-global)
4-
5-
This solution supports provisioning and configuring the following infrastructure:
6-
7-
- App Config instance and collections
8-
- Optional context-based restrictions (CBR)
9-
- Configuration aggregator
1+
# Cloud automation for App Configuration (Fully configurable)
102

113
:exclamation: **Important:** This solution is not intended to be called by other modules because it contains a provider configuration and is not compatible with the `for_each`, `count`, and `depends_on` arguments. For more information, see [Providers Within Modules](https://developer.hashicorp.com/terraform/language/modules/develop/providers).

solutions/fully-configurable/main.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,5 @@ module "app_config" {
3131
config_aggregator_enterprise_trusted_profile_template_name = "${local.prefix}${var.config_aggregator_enterprise_trusted_profile_template_name}"
3232
config_aggregator_enterprise_account_group_ids_to_assign = var.config_aggregator_enterprise_account_group_ids_to_assign
3333
config_aggregator_enterprise_account_ids_to_assign = var.config_aggregator_enterprise_account_ids_to_assign
34-
cbr_rules = var.app_config_cbr_rules
34+
cbr_rules = var.cbr_rules
3535
}
Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
provider "ibm" {
2-
ibmcloud_api_key = var.ibmcloud_api_key
3-
region = var.region
4-
visibility = var.provider_visibility
2+
ibmcloud_api_key = var.ibmcloud_api_key
3+
region = var.region
4+
visibility = var.provider_visibility
5+
private_endpoint_type = (var.provider_visibility == "private" && var.region == "ca-mon") ? "vpe" : null
56
}

solutions/fully-configurable/variables.tf

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ variable "existing_resource_group_name" {
2929
variable "prefix" {
3030
type = string
3131
nullable = true
32-
description = "The prefix to be added to all resources created by this solution. To skip using a prefix, set this value to null or an empty string. The prefix must begin with a lowercase letter and may contain only lowercase letters, digits, and hyphens '-'. It should not exceed 16 characters, must not end with a hyphen('-'), and can not contain consecutive hyphens ('--'). Example: prod-us-south. [Learn more](https://github.com/terraform-ibm-modules/terraform-ibm-app-configuration/tree/main/solutions/fully-configurable/DA-prefix.md)."
32+
description = "The prefix to be added to all resources created by this solution. To skip using a prefix, set this value to null or an empty string. The prefix must begin with a lowercase letter and may contain only lowercase letters, digits, and hyphens '-'. It should not exceed 16 characters, must not end with a hyphen('-'), and can not contain consecutive hyphens ('--'). Example: prod-us-south. [Learn more](https://terraform-ibm-modules.github.io/documentation/#/prefix.md)."
3333

3434
validation {
3535
# - null and empty string is allowed
@@ -49,7 +49,7 @@ variable "prefix" {
4949

5050
variable "region" {
5151
type = string
52-
description = "The region to provision resources to."
52+
description = "The region to provision all resources in. [Learn more](https://terraform-ibm-modules.github.io/documentation/#/region) about how to select different regions for different services."
5353
default = "us-south"
5454
nullable = false
5555
}
@@ -61,14 +61,14 @@ variable "region" {
6161

6262
variable "app_config_name" {
6363
type = string
64-
description = "Name for the App Configuration service instance"
64+
description = "Name for the App Configuration service instance."
6565
default = "app-config"
6666
nullable = false
6767
}
6868

6969
variable "app_config_plan" {
7070
type = string
71-
description = "Plan for the App Configuration service instance"
71+
description = "Plan for the App Configuration service instance."
7272
default = "standardv2"
7373
nullable = false
7474
}
@@ -196,7 +196,7 @@ variable "config_aggregator_enterprise_account_ids_to_assign" {
196196
# Context-based restriction (CBR)
197197
##############################################################
198198

199-
variable "app_config_cbr_rules" {
199+
variable "cbr_rules" {
200200
type = list(object({
201201
description = string
202202
account_id = string

tests/pr_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ var validRegions = []string{
3030
"us-south",
3131
"ca-tor",
3232
"br-sao",
33+
"eu-fr2",
34+
"ca-mon",
3335
}
3436

3537
func setupOptions(t *testing.T, prefix string, dir string) *testhelper.TestOptions {

0 commit comments

Comments
 (0)