Skip to content
Merged
Show file tree
Hide file tree
Changes from 10 commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
f65bba6
feat: added support for creating service credentials with private end…
Sep 23, 2025
4d3804b
Merge branch 'main' into issue_15578
Khuzaima05 Sep 29, 2025
eb3e79a
updated fscloud example
Sep 29, 2025
746f644
resolve review comments
Sep 30, 2025
17e665b
minor fix
Sep 30, 2025
0ba37b1
Merge branch 'main' into issue_15578
Khuzaima05 Oct 6, 2025
0ae76cc
Merge branch 'main' into issue_15578
Khuzaima05 Oct 14, 2025
9135acf
Merge branch 'main' into issue_15578
Khuzaima05 Oct 27, 2025
1dbb86d
updated PR
Oct 27, 2025
52c7d7b
minor fix
Oct 27, 2025
0af001d
Update ibm_catalog.json
Khuzaima05 Oct 28, 2025
507779c
Update ibm_catalog.json
Khuzaima05 Oct 28, 2025
b5cc025
Merge branch 'main' into issue_15578
Ak-sky Oct 28, 2025
622c9ec
Merge branch 'main' into issue_15578
Khuzaima05 Oct 31, 2025
be8423e
Merge branch 'main' into issue_15578
Khuzaima05 Oct 31, 2025
bd81578
resolve review comments
Nov 3, 2025
5fb2618
Merge branch 'main' into issue_15578
Khuzaima05 Nov 10, 2025
340a7e0
Merge branch 'main' into issue_15578
Nov 10, 2025
306b3b7
added moved block
Nov 10, 2025
2a0f025
Merge remote-tracking branch 'origin/issue_15578' into issue_15578
Nov 10, 2025
e9dd681
fix pre-commit
Nov 10, 2025
88383ba
Update variables.tf
Khuzaima05 Nov 10, 2025
b0cd0e4
resolve review comments
Nov 10, 2025
815df4c
fix pre-commit
Nov 10, 2025
ec9f3f0
minor fix
Nov 11, 2025
9d3480a
resolve review comments
Nov 11, 2025
d595064
Merge branch 'main' into issue_15578
Khuzaima05 Nov 12, 2025
3f6bb4e
remove moved block
Nov 12, 2025
b6a40a0
updated description
Nov 12, 2025
355eab1
resolve review comments
Nov 13, 2025
a1c84ad
resolve comments
Nov 13, 2025
f8eb3b7
updated custom_config
Nov 13, 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 .secrets.baseline
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"files": "go.sum|^.secrets.baseline$",
"lines": null
},
"generated_at": "2025-10-07T09:32:06Z",
"generated_at": "2025-10-27T07:44:08Z",
"plugins_used": [
{
"name": "AWSKeyDetector"
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,7 @@ You need the following permissions to run this module.
| <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 |
| <a name="input_service_credential_endpoint"></a> [service\_credential\_endpoint](#input\_service\_credential\_endpoint) | Service credential endpoint type (public or private). If not specified, defaults to public. | `string` | `"public"` | no |
| <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_service_endpoints"></a> [service\_endpoints](#input\_service\_endpoints) | The type of service endpoints. Possible values: 'public', 'private', 'public-and-private'. | `string` | `"public"` | 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 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 |
Expand Down
13 changes: 13 additions & 0 deletions ibm_catalog.json
Original file line number Diff line number Diff line change
Expand Up @@ -247,6 +247,19 @@
{
"key": "service_credential_names"
},
{
"key": "service_credential_endpoint",
"options": [
{
"displayname": "private",
"value": "private"
},
{
"displayname": "public",
"value": "public"
}
]
},
{
"key": "existing_secrets_manager_endpoint_type",
"hidden": true
Expand Down
3 changes: 3 additions & 0 deletions main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,9 @@ resource "ibm_resource_key" "service_credentials" {
name = each.key
role = each.value
resource_instance_id = ibm_resource_instance.es_instance.id
parameters = {
service-endpoints = var.service_credential_endpoint
}
}

locals {
Expand Down
1 change: 1 addition & 0 deletions modules/fscloud/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ module "event_streams" {
service_endpoints = "private"
cbr_rules = var.cbr_rules
service_credential_names = var.service_credential_names
service_credential_endpoint = "private"
metrics = var.metrics
quotas = var.quotas
kms_encryption_enabled = true
Expand Down
25 changes: 13 additions & 12 deletions solutions/quickstart/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,19 @@ module "resource_group" {
#######################################################################################################################

module "event_streams" {
source = "../../"
resource_group_id = module.resource_group.resource_group_id
es_name = "${local.prefix}${var.event_streams_name}"
plan = var.plan
region = var.region
topics = var.topics
tags = var.resource_tags
access_tags = var.access_tags
service_credential_names = var.service_credential_names
create_timeout = var.create_timeout
update_timeout = var.update_timeout
delete_timeout = var.delete_timeout
source = "../../"
resource_group_id = module.resource_group.resource_group_id
es_name = "${local.prefix}${var.event_streams_name}"
plan = var.plan
region = var.region
topics = var.topics
tags = var.resource_tags
access_tags = var.access_tags
service_credential_names = var.service_credential_names
service_credential_endpoint = var.service_credential_endpoint
create_timeout = var.create_timeout
update_timeout = var.update_timeout
delete_timeout = var.delete_timeout
}

########################################################################################################################
Expand Down
6 changes: 6 additions & 0 deletions solutions/quickstart/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -178,3 +178,9 @@ variable "skip_event_streams_secrets_manager_auth_policy" {
nullable = false
description = "Whether an IAM authorization policy is created for Secrets Manager instance to create a service credential secrets for Event Streams.If set to false, the Secrets Manager instance passed by the user is granted the Key Manager access to the Event Streams instance created by the Deployable Architecture. Set to `true` to use an existing policy. The value of this is ignored if any value for 'existing_secrets_manager_instance_crn' is not passed."
}

variable "service_credential_endpoint" {
description = "Service credential endpoint type (public or private). If not specified, defaults to public."
type = string
default = "public"
}
1 change: 1 addition & 0 deletions solutions/security-enforced/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,7 @@ module "event_streams" {
access_tags = var.access_tags
service_endpoints = "private"
service_credential_names = var.service_credential_names
service_credential_endpoint = "private"
cbr_rules = var.cbr_rules
schema_global_rule = var.schema_global_rule
iam_token_only = var.iam_token_only
Expand Down
6 changes: 6 additions & 0 deletions variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -350,3 +350,9 @@ variable "iam_token_only" {
error_message = "iam_token_only is only supported for enterprise plan."
}
}

variable "service_credential_endpoint" {
description = "Service credential endpoint type (public or private). If not specified, defaults to public."
type = string
default = "public"
}