Skip to content

feat : Added Event Streams DA (Standard 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

Open
wants to merge 40 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 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
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
2 changes: 1 addition & 1 deletion .catalog-onboard-pipeline.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ offerings:
scc:
instance_id: 1c7d5f78-9262-44c3-b779-b28fe4d88c37
region: us-south
- name: enterprise
- name: security-enforced
mark_ready: true
install_type: fullstack
scc:
Expand Down
6 changes: 3 additions & 3 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 @@ -152,7 +152,7 @@ You need the following permissions to run this module.
| <a name="input_mirroring_topic_patterns"></a> [mirroring\_topic\_patterns](#input\_mirroring\_topic\_patterns) | The list of the topics to set in instance. Required only if creating mirroring instance. | `list(string)` | `null` | no |
| <a name="input_plan"></a> [plan](#input\_plan) | The plan for the Event Streams instance. Possible values: `lite`, `standard`, `enterprise-3nodes-2tb`. | `string` | `"standard"` | no |
| <a name="input_quotas"></a> [quotas](#input\_quotas) | Quotas to be applied to the Event Streams instance. Entity may be 'default' to apply to all users, or an IAM ServiceID for a specific user. Rates are bytes/second, with -1 meaning no quota. | <pre>list(object({<br/> entity = string<br/> producer_byte_rate = optional(number, -1)<br/> consumer_byte_rate = optional(number, -1)<br/> }))</pre> | `[]` | no |
| <a name="input_region"></a> [region](#input\_region) | The region where the Event Streams are created. | `string` | `"us-south"` | no |
| <a name="input_region"></a> [region](#input\_region) | The region where the Event Streams instance is created. | `string` | `"us-south"` | no |
| <a name="input_resource_group_id"></a> [resource\_group\_id](#input\_resource\_group\_id) | The resource group ID where the Event Streams instance is created. | `string` | n/a | yes |
| <a name="input_schema_global_rule"></a> [schema\_global\_rule](#input\_schema\_global\_rule) | Schema global compatibility rule. Allowed values are 'NONE', 'FULL', 'FULL\_TRANSITIVE', 'FORWARD', 'FORWARD\_TRANSITIVE', 'BACKWARD', 'BACKWARD\_TRANSITIVE'. | `string` | `null` | no |
| <a name="input_schemas"></a> [schemas](#input\_schemas) | The list of schema objects. Include the `schema_id` and the `type` and `name` of the schema in the `schema` object. | <pre>list(object(<br/> {<br/> schema_id = string<br/> schema = object({<br/> type = string<br/> name = string<br/> fields = optional(list(object({<br/> name = string<br/> type = string<br/> })))<br/> })<br/> }<br/> ))</pre> | `[]` | no |
Expand All @@ -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
7 changes: 3 additions & 4 deletions cra-config.yaml
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
# More info about this file at https://github.com/terraform-ibm-modules/common-pipeline-assets/blob/main/.github/workflows/terraform-test-pipeline.md#cra-config-yaml
version: "v1"
CRA_TARGETS:
- CRA_TARGET: "solutions/enterprise" # Target directory for CRA scan. If not provided, the CRA Scan will not be run.
- CRA_TARGET: "solutions/security-enforced" # Target directory for CRA scan. If not provided, the CRA Scan will not be run.
CRA_IGNORE_RULES_FILE: "cra-tf-validate-ignore-rules.json" # CRA Ignore file to use. If not provided, it checks the repo root directory for `cra-tf-validate-ignore-rules.json`
PROFILE_ID: "fe96bd4d-9b37-40f2-b39f-a62760e326a3" # SCC profile ID (currently set to 'IBM Cloud Framework for Financial Services' '1.7.0' profile).
CRA_ENVIRONMENT_VARIABLES:
TF_VAR_existing_kms_instance_crn: "crn:v1:bluemix:public:hs-crypto:us-south:a/abac0df06b644a9cabc6e44f55b3880e:e6dce284-e80f-46e1-a3c1-830f7adff7a9::"
TF_VAR_resource_group_name: "test-event-s-cra"
TF_VAR_existing_resource_group_name: "geretain-test-event-streams"
TF_VAR_provider_visibility: "public"
TF_VAR_use_existing_resource_group: false
TF_VAR_kms_endpoint_type: "public"
TF_VAR_prefix: "test-se"
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"
}
}
}
Loading