Skip to content

feat : Added Event Streams DA (Quickstart and Security-Enforced Variation) #397

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 49 commits into from
Jun 23, 2025
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
431986d
add : fully configurable version
May 5, 2025
3ac6a6f
updated json and DA
May 5, 2025
0bb63c1
updated json
May 7, 2025
5b66874
updated json
May 7, 2025
05e774d
added security and standard DA
May 12, 2025
1337681
Merge branch 'main' into issue_13014
May 12, 2025
f81428f
added security and standard DA
May 12, 2025
1028852
updated PR
May 14, 2025
9b69d3a
updated PR
May 14, 2025
84e265f
fix conflict
May 14, 2025
6811dc4
fix pipeline
May 14, 2025
b81e550
fix ref_arch
May 14, 2025
c50fcda
SKIP UPGRADE TEST
May 14, 2025
c9d3c8e
update catalog.json
May 14, 2025
059c16f
fix ibm_catalog
May 14, 2025
ffc76d5
update endpoint
May 14, 2025
d86f7f6
updated output
May 15, 2025
06c6090
updated account infra dependency
May 15, 2025
008faf1
Merge branch 'main' into issue_13014
May 19, 2025
73eea2c
fix pre-commit
May 19, 2025
bd2d28e
fix json
May 22, 2025
a891041
Merge branch 'main' into issue_13014
May 27, 2025
fe695f1
updated variation name
May 29, 2025
f6d357c
Update solutions/quickstart/variables.tf
Khuzaima05 Jun 11, 2025
4573a54
Update solutions/security-enforced/catalogValidationValues.json.template
Khuzaima05 Jun 11, 2025
918c2e6
Update cra-config.yaml
Khuzaima05 Jun 11, 2025
4ae7a1a
Update cra-config.yaml
Khuzaima05 Jun 11, 2025
e91293f
Update ibm_catalog.json
Khuzaima05 Jun 11, 2025
c11cc2f
Update ibm_catalog.json
Khuzaima05 Jun 11, 2025
8971ad1
Update ibm_catalog.json
Khuzaima05 Jun 11, 2025
d722813
Update solutions/quickstart/variables.tf
Khuzaima05 Jun 11, 2025
ff0d8f8
Update ibm_catalog.json
Khuzaima05 Jun 11, 2025
88f221b
Update solutions/security-enforced/variables.tf
Khuzaima05 Jun 11, 2025
c55b841
Update solutions/security-enforced/variables.tf
Khuzaima05 Jun 11, 2025
1bec048
Update solutions/security-enforced/variables.tf
Khuzaima05 Jun 11, 2025
59b290a
Update solutions/quickstart/catalogValidationValues.json.template
Khuzaima05 Jun 11, 2025
eef1eb0
Update solutions/quickstart/variables.tf
Khuzaima05 Jun 11, 2025
11546e3
Update solutions/quickstart/variables.tf
Khuzaima05 Jun 11, 2025
8f90a56
resolve review comments
Jun 12, 2025
633d240
updated PR for improving User experience
Jun 12, 2025
bae20f2
minor updates
Ak-sky Jun 16, 2025
3858cb2
added observability add-ons
Jun 17, 2025
0cc5023
add-on version update
Jun 17, 2025
e8d75c3
Merge branch 'main' into issue_13014
Jun 18, 2025
a6e9b53
resolve conflict
Jun 18, 2025
b0351f4
resolve review comments
Jun 18, 2025
bc11862
fix minor issues
Jun 19, 2025
4a96e05
resolve review comments
Jun 19, 2025
bb45caf
minor update
Jun 19, 2025
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
Prev Previous commit
Next Next commit
resolve review comments
  • Loading branch information
Khuzaima-Shakeel authored and Khuzaima-Shakeel committed Jun 12, 2025
commit 8f90a560871c60e77347b226859a4bc8582b1cc8
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ You need the following permissions to run this module.
| Name | Version |
|------|---------|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.9.0 |
| <a name="requirement_ibm"></a> [ibm](#requirement\_ibm) | >= 1.76.0, <2.0.0 |
| <a name="requirement_ibm"></a> [ibm](#requirement\_ibm) | >= 1.79.0, <2.0.0 |
| <a name="requirement_time"></a> [time](#requirement\_time) | >= 0.9.1 |

### Modules
Expand Down Expand Up @@ -161,7 +161,7 @@ You need the following permissions to run this module.
| <a name="input_skip_es_s2s_iam_authorization_policy"></a> [skip\_es\_s2s\_iam\_authorization\_policy](#input\_skip\_es\_s2s\_iam\_authorization\_policy) | Set to true to skip the creation of an IAM authorization policy that will allow all Event Streams instances in the given resource group access to read from the mirror source instance. This policy is required when creating a mirroring instance, and will only be created if a value is passed in the mirroring input. | `bool` | `false` | no |
| <a name="input_skip_kms_iam_authorization_policy"></a> [skip\_kms\_iam\_authorization\_policy](#input\_skip\_kms\_iam\_authorization\_policy) | Set to true to skip the creation of an IAM authorization policy that permits all Event Streams database instances in the resource group to read the encryption key from the KMS instance. If set to false, pass in a value for the KMS instance in the `kms_key_crn` variable. In addition, no policy is created if var.kms\_encryption\_enabled is set to false. | `bool` | `false` | no |
| <a name="input_storage_size"></a> [storage\_size](#input\_storage\_size) | Storage size of the Event Streams in GB. Applies only to Enterprise plan instances. Possible values: `2048`, `4096`, `6144`, `8192`, `10240`, `12288`. Storage capacity cannot be reduced after the instance is created. When the `throughput` input variable is set to `300`, storage size starts at 4096. When `throughput` is `450`, storage size starts starts at `6144`. | `number` | `"2048"` | no |
| <a name="input_tags"></a> [tags](#input\_tags) | The list of tags associated with the Event Steams instance. | `list(string)` | `[]` | no |
| <a name="input_tags"></a> [tags](#input\_tags) | The list of tags associated with the Event Streams instance. | `list(string)` | `[]` | no |
| <a name="input_throughput"></a> [throughput](#input\_throughput) | Throughput capacity in MB per second. Applies only to Enterprise plan instances. Possible values: `150`, `300`, `450`. | `number` | `"150"` | no |
| <a name="input_topics"></a> [topics](#input\_topics) | The list of topics to apply to resources. Only one topic is allowed for Lite plan instances. | <pre>list(object(<br/> {<br/> name = string<br/> partitions = number<br/> config = map(string)<br/> }<br/> ))</pre> | `[]` | no |
| <a name="input_update_timeout"></a> [update\_timeout](#input\_update\_timeout) | The timeout value for updating an Event Streams instance. Specify `1h` for an Enterprise plan instance. Add 1 h for each level of non-default throughput. A 30 min for each level of non-default storage size. | `string` | `"1h"` | no |
Expand Down
2 changes: 1 addition & 1 deletion examples/basic/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,6 @@ variable "resource_group" {

variable "resource_tags" {
type = list(string)
description = "The list of tags associated with the Event Steams instance."
description = "The list of tags associated with the Event Streams instance."
default = []
}
2 changes: 1 addition & 1 deletion examples/basic/version.tf
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ terraform {
required_providers {
ibm = {
source = "IBM-Cloud/ibm"
version = "= 1.76.0"
version = "= 1.79.0"
}
}
}
4 changes: 2 additions & 2 deletions examples/complete/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,12 @@ variable "resource_group" {

variable "resource_tags" {
type = list(string)
description = "The list of tags associated with the Event Steams instance."
description = "The list of tags associated with the Event Streams instance."
default = []
}

variable "access_tags" {
type = list(string)
description = "The list of access tags associated with the Event Steams instance."
description = "The list of access tags associated with the Event Streams instance."
default = []
}
2 changes: 1 addition & 1 deletion examples/complete/version.tf
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ terraform {
# Use latest version of provider in non-basic examples to verify latest version works with module
ibm = {
source = "IBM-Cloud/ibm"
version = ">= 1.76.0"
version = ">= 1.79.0"
}
}
}
2 changes: 1 addition & 1 deletion examples/fscloud/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ variable "resource_group" {

variable "resource_tags" {
type = list(string)
description = "List of tags associated with the Event Steams instance"
description = "List of tags associated with the Event Streams instance"
default = []
}

Expand Down
2 changes: 1 addition & 1 deletion examples/fscloud/version.tf
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ terraform {
# Use latest version of provider in non-basic examples to verify latest version works with module
ibm = {
source = "IBM-Cloud/ibm"
version = ">= 1.76.0"
version = ">= 1.79.0"
}
}
}
29 changes: 9 additions & 20 deletions ibm_catalog.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
"target_terraform",
"terraform",
"solution",
"support_ibm",
"integration"
],
"keywords": [
Expand Down Expand Up @@ -50,7 +49,7 @@
"description": "Supports [customer-managed encryption](https://cloud.ibm.com/docs/EventStreams?topic=EventStreams-managing_encryption) with the following IBM Cloud® key management services"
}
],
"support_details": "This product is in the community registry, as such support is handled through the originated repo. If you experience issues please open an issue in that repository [https://github.com/terraform-ibm-modules/terraform-ibm-event-streams/issues](https://github.com/terraform-ibm-modules/terraform-ibm-event-streams/issues). Please note this product is not supported via the IBM Cloud Support Center.",
"support_details": "This product is in the community registry, as such support is handled through the originated repo. If you experience issues please open an issue in the repository [https://github.com/terraform-ibm-modules/terraform-ibm-event-streams/issues](https://github.com/terraform-ibm-modules/terraform-ibm-event-streams/issues). Please note this product is not supported via the IBM Cloud Support Center.",
"flavors": [
{
"label": "Quickstart",
Expand Down Expand Up @@ -104,6 +103,10 @@
{
"key": "ibmcloud_api_key"
},
{
"key": "prefix",
"required": true
},
{
"key": "region",
"required": true,
Expand Down Expand Up @@ -150,10 +153,6 @@
}
]
},
{
"key": "prefix",
"required": true
},
{
"key": "existing_resource_group_name",
"required": true,
Expand Down Expand Up @@ -236,7 +235,7 @@
"dependencies": [
{
"name": "deploy-arch-ibm-account-infra-base",
"description": "Cloud automation for Account Configuration organizes your IBM Cloud account with a ready-made set of resource groups by defaultand, when you enable the \"with Account Settings\" option, it also applies baseline security and governance settings.",
"description": "Cloud automation for Account Configuration organizes your IBM Cloud account with a ready-made set of resource groups by default and when you enable the \"with Account Settings\" option, it also applies baseline security and governance settings. ",
"catalog_id": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3",
"flavors": [
"resource-group-only",
Expand All @@ -253,16 +252,11 @@
"dependency_input": "prefix",
"version_input": "prefix",
"reference_version": true
},
{
"dependency_input": "provider_visibility",
"version_input": "provider_visibility",
"reference_version": true
}
],
"optional": true,
"on_by_default": false,
"version": "v3.0.7"
"version": "v3.0.11"
}
],
"dependency_version_2": true,
Expand Down Expand Up @@ -513,7 +507,7 @@
"dependencies": [
{
"name": "deploy-arch-ibm-account-infra-base",
"description": "Cloud automation for Account Configuration organizes your IBM Cloud account with a ready-made set of resource groups by defaultand, when you enable the \"with Account Settings\" option, it also applies baseline security and governance settings.",
"description": "Cloud automation for Account Configuration organizes your IBM Cloud account with a ready-made set of resource groups by default and when you enable the \"with Account Settings\" option, it also applies baseline security and governance settings. ",
"catalog_id": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3",
"flavors": [
"resource-group-only",
Expand All @@ -530,16 +524,11 @@
"dependency_input": "prefix",
"version_input": "prefix",
"reference_version": true
},
{
"dependency_input": "provider_visibility",
"version_input": "provider_visibility",
"reference_version": true
}
],
"optional": true,
"on_by_default": false,
"version": "v3.0.7"
"version": "v3.0.11"
},
{
"name": "deploy-arch-ibm-kms",
Expand Down
6 changes: 3 additions & 3 deletions modules/fscloud/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ The default values in this profile were scanned by [IBM Code Risk Analyzer (CRA)
| Name | Version |
|------|---------|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.9.0 |
| <a name="requirement_ibm"></a> [ibm](#requirement\_ibm) | >= 1.76.0, <2.0.0 |
| <a name="requirement_ibm"></a> [ibm](#requirement\_ibm) | >= 1.79.0, <2.0.0 |

### Modules

Expand All @@ -26,7 +26,7 @@ No resources.

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| <a name="input_access_tags"></a> [access\_tags](#input\_access\_tags) | The list of access tags associated with the Event Steams instance. | `list(string)` | `[]` | no |
| <a name="input_access_tags"></a> [access\_tags](#input\_access\_tags) | The list of access tags associated with the Event Streams instance. | `list(string)` | `[]` | no |
| <a name="input_cbr_rules"></a> [cbr\_rules](#input\_cbr\_rules) | The list of context-based restriction rules to create. | <pre>list(object({<br/> description = string<br/> account_id = string<br/> rule_contexts = list(object({<br/> attributes = optional(list(object({<br/> name = string<br/> value = string<br/> }))) }))<br/> enforcement_mode = string<br/> }))</pre> | `[]` | no |
| <a name="input_create_timeout"></a> [create\_timeout](#input\_create\_timeout) | The timeout value for creating an Event Streams instance. Specify `3h` for an Enterprise plan instance. Add 1 h for each level of non-default throughput. Add 30 min for each level of non-default storage size. | `string` | `"3h"` | no |
| <a name="input_delete_timeout"></a> [delete\_timeout](#input\_delete\_timeout) | The timeout value for deleting an Event Streams instance. | `string` | `"15m"` | no |
Expand All @@ -44,7 +44,7 @@ No resources.
| <a name="input_service_credential_names"></a> [service\_credential\_names](#input\_service\_credential\_names) | The mapping of names and roles for service credentials that you want to create for the Event streams. | `map(string)` | `{}` | no |
| <a name="input_skip_es_s2s_iam_authorization_policy"></a> [skip\_es\_s2s\_iam\_authorization\_policy](#input\_skip\_es\_s2s\_iam\_authorization\_policy) | Set to true to skip the creation of an Event Streams s2s IAM authorization policy to provision an Event Streams mirroring instance. This is required to read from the source cluster. This policy is required when creating mirroring instance. | `bool` | `false` | no |
| <a name="input_skip_kms_iam_authorization_policy"></a> [skip\_kms\_iam\_authorization\_policy](#input\_skip\_kms\_iam\_authorization\_policy) | Set to true to skip the creation of an IAM authorization policy that permits all Event Streams database instances in the resource group to read the encryption key from the KMS instance. If set to false, pass in a value for the KMS instance in the kms\_key\_crn variable. In addition, no policy is created if var.kms\_encryption\_enabled is set to false. | `bool` | `false` | no |
| <a name="input_tags"></a> [tags](#input\_tags) | The list of tags associated with the Event Steams instance. | `list(string)` | `[]` | no |
| <a name="input_tags"></a> [tags](#input\_tags) | The list of tags associated with the Event Streams instance. | `list(string)` | `[]` | no |
| <a name="input_topics"></a> [topics](#input\_topics) | The list of topics to apply to resources. Only one topic is allowed for Lite plan instances. | <pre>list(object(<br/> {<br/> name = string<br/> partitions = number<br/> config = map(string)<br/> }<br/> ))</pre> | `[]` | no |
| <a name="input_update_timeout"></a> [update\_timeout](#input\_update\_timeout) | The timeout value for updating an Event Streams instance. Specify `1h` for an Enterprise plan instance. Add 1 h for each level of non-default throughput. A 30 min for each level of non-default storage size. | `string` | `"1h"` | no |

Expand Down
4 changes: 2 additions & 2 deletions modules/fscloud/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ variable "resource_group_id" {

variable "tags" {
type = list(string)
description = "The list of tags associated with the Event Steams instance."
description = "The list of tags associated with the Event Streams instance."
default = []
}

variable "access_tags" {
type = list(string)
description = "The list of access tags associated with the Event Steams instance."
description = "The list of access tags associated with the Event Streams instance."
default = []
}

Expand Down
2 changes: 1 addition & 1 deletion modules/fscloud/version.tf
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ terraform {
# tflint-ignore: terraform_unused_required_providers
ibm = {
source = "IBM-Cloud/ibm"
version = ">= 1.76.0, <2.0.0"
version = ">= 1.79.0, <2.0.0"
}
}
}
38 changes: 0 additions & 38 deletions solutions/quickstart/DA-prefix.md

This file was deleted.

39 changes: 0 additions & 39 deletions solutions/quickstart/DA-schemas-topics.md

This file was deleted.

Loading