Skip to content

Commit af8817b

Browse files
CCM-10257: Implement Eventpub in Core
1 parent 983b05c commit af8817b

7 files changed

Lines changed: 20 additions & 9 deletions

File tree

infrastructure/modules/eventpub/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
| <a name="input_event_cache_buffer_interval"></a> [event\_cache\_buffer\_interval](#input\_event\_cache\_buffer\_interval) | The buffer interval for data firehose | `number` | `500` | no |
2323
| <a name="input_event_cache_expiry_days"></a> [event\_cache\_expiry\_days](#input\_event\_cache\_expiry\_days) | s3 archiving expiry in days | `number` | `30` | no |
2424
| <a name="input_group"></a> [group](#input\_group) | The name of the tfscaffold group | `string` | `null` | no |
25+
| <a name="input_iam_permissions_boundary_arn"></a> [iam\_permissions\_boundary\_arn](#input\_iam\_permissions\_boundary\_arn) | The ARN of the permissions boundary to use for the IAM role | `string` | `null` | no |
2526
| <a name="input_kms_key_arn"></a> [kms\_key\_arn](#input\_kms\_key\_arn) | KMS key arn to use for this function | `string` | n/a | yes |
2627
| <a name="input_log_level"></a> [log\_level](#input\_log\_level) | The log level to be used in lambda functions within the component. Any log with a lower severity than the configured value will not be logged: https://docs.python.org/3/library/logging.html#levels | `string` | `"WARN"` | no |
2728
| <a name="input_log_retention_in_days"></a> [log\_retention\_in\_days](#input\_log\_retention\_in\_days) | The retention period in days for the Cloudwatch Logs events generated by the lambda function | `number` | n/a | yes |

infrastructure/modules/eventpub/iam_role_firehose_role.tf

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
resource "aws_iam_role" "firehose_role" {
22
count = var.enable_event_cache ? 1 : 0
33

4-
name = "${local.csi}-firehose-role"
5-
assume_role_policy = data.aws_iam_policy_document.firehose_assume_role[0].json
4+
name = "${local.csi}-firehose-role"
5+
assume_role_policy = data.aws_iam_policy_document.firehose_assume_role[0].json
6+
permissions_boundary = var.iam_permissions_boundary_arn != null ? var.iam_permissions_boundary_arn : null
67
}
78

89
data "aws_iam_policy_document" "firehose_assume_role" {

infrastructure/modules/eventpub/iam_role_lambda.tf

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
resource "aws_iam_role" "lambda" {
2-
name = local.csi
3-
assume_role_policy = data.aws_iam_policy_document.lambda_assumerole.json
2+
name = local.csi
3+
assume_role_policy = data.aws_iam_policy_document.lambda_assumerole.json
4+
permissions_boundary = var.iam_permissions_boundary_arn != null ? var.iam_permissions_boundary_arn : null
45
}
56

67
resource "aws_iam_policy" "lambda" {

infrastructure/modules/eventpub/iam_role_sns.tf

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
resource "aws_iam_role" "sns_role" {
2-
name = "${local.csi}-sns-role"
3-
assume_role_policy = data.aws_iam_policy_document.sns_assume_role.json
2+
name = "${local.csi}-sns-role"
3+
assume_role_policy = data.aws_iam_policy_document.sns_assume_role.json
4+
permissions_boundary = var.iam_permissions_boundary_arn != null ? var.iam_permissions_boundary_arn : null
45
}
56

67
resource "aws_iam_policy" "firehose_delivery" {

infrastructure/modules/eventpub/iam_role_sns_delivery_logging.tf

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
resource "aws_iam_role" "sns_delivery_logging_role" {
22
count = var.enable_sns_delivery_logging ? 1 : 0
33

4-
name = "${local.csi}-sns-delivery-logging"
5-
assume_role_policy = data.aws_iam_policy_document.sns_delivery_logging_assume_role[0].json
4+
name = "${local.csi}-sns-delivery-logging"
5+
assume_role_policy = data.aws_iam_policy_document.sns_delivery_logging_assume_role[0].json
6+
permissions_boundary = var.iam_permissions_boundary_arn != null ? var.iam_permissions_boundary_arn : null
67
}
78

89
data "aws_iam_policy_document" "sns_delivery_logging_assume_role" {

infrastructure/modules/eventpub/lambda_function.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ resource "aws_lambda_function" "main" {
44

55
role = aws_iam_role.lambda.arn
66
handler = "index.handler"
7-
runtime = "nodejs22.x"
7+
runtime = "nodejs20.x" #change to nodejs22.x once core update done
88
publish = true
99
memory_size = 128
1010
timeout = 20

infrastructure/modules/eventpub/variables.tf

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,3 +108,9 @@ variable "control_plane_bus_arn" {
108108
type = string
109109
description = "Data plane event bus arn"
110110
}
111+
112+
variable "iam_permissions_boundary_arn" {
113+
type = string
114+
description = "The ARN of the permissions boundary to use for the IAM role"
115+
default = null
116+
}

0 commit comments

Comments
 (0)