Skip to content

Commit 8a00036

Browse files
author
João Taveira Araújo
authored
feat: parameterize runtime and default to al2023 (#194)
This commit adopts the most recent available runtime and paramterizes the field in the process. There are no operational considerations for migrating from `provided.al2` to `provided.al2023`.
1 parent 0e60831 commit 8a00036

File tree

13 files changed

+36
-4
lines changed

13 files changed

+36
-4
lines changed

modules/forwarder/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ module "forwarder" {
106106
| <a name="input_destination"></a> [destination](#input\_destination) | Destination filedrop | <pre>object({<br> arn = optional(string, "")<br> bucket = optional(string, "")<br> prefix = optional(string, "")<br> # exclusively for backward compatible HTTP endpoint<br> uri = optional(string, "")<br> })</pre> | n/a | yes |
107107
| <a name="input_lambda_env_vars"></a> [lambda\_env\_vars](#input\_lambda\_env\_vars) | Environment variables to be passed into lambda. | `map(string)` | `{}` | no |
108108
| <a name="input_lambda_memory_size"></a> [lambda\_memory\_size](#input\_lambda\_memory\_size) | Memory size for lambda function. | `number` | `null` | no |
109+
| <a name="input_lambda_runtime"></a> [lambda\_runtime](#input\_lambda\_runtime) | Lambda runtime. | `string` | `"provided.al2023"` | no |
109110
| <a name="input_lambda_timeout"></a> [lambda\_timeout](#input\_lambda\_timeout) | Timeout in seconds for lambda function. | `number` | `null` | no |
110111
| <a name="input_max_file_size"></a> [max\_file\_size](#input\_max\_file\_size) | Max file size for objects to process (in bytes), default is 1GB | `number` | `null` | no |
111112
| <a name="input_name"></a> [name](#input\_name) | Name of role. Since this name must be unique within the<br>account, it will be reused for most of the resources created by this<br>module. | `string` | n/a | yes |

modules/forwarder/lambda.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ resource "aws_lambda_function" "this" {
55
role = aws_iam_role.this.arn
66
architectures = ["arm64"]
77
handler = "bootstrap"
8-
runtime = "provided.al2"
8+
runtime = var.lambda_runtime
99
memory_size = var.lambda_memory_size != null ? var.lambda_memory_size : local.default_limits.memory_size
1010
timeout = var.lambda_timeout != null ? var.lambda_timeout : local.default_limits.timeout
1111

modules/forwarder/variables.tf

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,13 @@ variable "lambda_env_vars" {
160160
default = {}
161161
}
162162

163+
variable "lambda_runtime" {
164+
description = "Lambda runtime."
165+
type = string
166+
default = "provided.al2023"
167+
nullable = false
168+
}
169+
163170
variable "retention_in_days" {
164171
description = "Retention in days of cloudwatch log group"
165172
type = number

modules/logwriter/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ module "logwriter" {
102102
| <a name="input_filter_pattern"></a> [filter\_pattern](#input\_filter\_pattern) | Subscription filter pattern. | `string` | `null` | no |
103103
| <a name="input_lambda_env_vars"></a> [lambda\_env\_vars](#input\_lambda\_env\_vars) | Environment variables to be passed into lambda. | `map(string)` | `null` | no |
104104
| <a name="input_lambda_memory_size"></a> [lambda\_memory\_size](#input\_lambda\_memory\_size) | Memory size for lambda function. | `number` | `null` | no |
105+
| <a name="input_lambda_runtime"></a> [lambda\_runtime](#input\_lambda\_runtime) | Lambda runtime. | `string` | `null` | no |
105106
| <a name="input_lambda_timeout"></a> [lambda\_timeout](#input\_lambda\_timeout) | Timeout in seconds for lambda function. | `number` | `null` | no |
106107
| <a name="input_log_group_name_patterns"></a> [log\_group\_name\_patterns](#input\_log\_group\_name\_patterns) | Subscribe to CloudWatch log groups matching any of the provided patterns<br>based on a case-sensitive substring search. To subscribe to all log groups<br>use the wildcard operator *. | `list(string)` | `null` | no |
107108
| <a name="input_log_group_name_prefixes"></a> [log\_group\_name\_prefixes](#input\_log\_group\_name\_prefixes) | Subscribe to CloudWatch log groups matching any of the provided prefixes.<br>To subscribe to all log groups use the wildcard operator *. | `list(string)` | `null` | no |

modules/logwriter/subscriber.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ module "subscriber" {
1515
lambda_env_vars = var.lambda_env_vars
1616
lambda_memory_size = var.lambda_memory_size
1717
lambda_timeout = var.lambda_timeout
18+
lambda_runtime = var.lambda_runtime
1819
debug_endpoint = var.debug_endpoint
1920
verbosity = var.verbosity
2021
code_uri = var.code_uri

modules/logwriter/variables.tf

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,14 @@ variable "lambda_env_vars" {
137137
default = null
138138
}
139139

140+
variable "lambda_runtime" {
141+
description = <<-EOF
142+
Lambda runtime.
143+
EOF
144+
type = string
145+
default = null
146+
}
147+
140148
variable "debug_endpoint" {
141149
description = "Endpoint to send debugging telemetry to. Sets the OTEL_EXPORTER_OTLP_ENDPOINT environment variable for the lambda function."
142150
type = string

modules/stack/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -170,8 +170,8 @@ You can additionally configure other submodules in this manner:
170170
| <a name="input_configsubscription"></a> [configsubscription](#input\_configsubscription) | Variables for AWS Config subscription. | <pre>object({<br> delivery_bucket_name = string<br> tag_account_alias = optional(bool)<br> })</pre> | `null` | no |
171171
| <a name="input_debug_endpoint"></a> [debug\_endpoint](#input\_debug\_endpoint) | Endpoint to send debugging telemetry to. Sets OTEL\_EXPORTER\_OTLP\_ENDPOINT environment variable for supported lambda functions. | `string` | `null` | no |
172172
| <a name="input_destination"></a> [destination](#input\_destination) | Destination filedrop | <pre>object({<br> arn = optional(string, "")<br> bucket = optional(string, "")<br> prefix = optional(string, "")<br> # exclusively for backward compatible HTTP endpoint<br> uri = optional(string, "")<br> })</pre> | n/a | yes |
173-
| <a name="input_forwarder"></a> [forwarder](#input\_forwarder) | Variables for forwarder module. | <pre>object({<br> source_bucket_names = optional(list(string), [])<br> source_object_keys = optional(list(string))<br> source_topic_arns = optional(list(string), [])<br> content_type_overrides = optional(list(object({ pattern = string, content_type = string })), [])<br> max_file_size = optional(number)<br> lambda_memory_size = optional(number)<br> lambda_timeout = optional(number)<br> lambda_env_vars = optional(map(string))<br> retention_in_days = optional(number)<br> queue_max_receive_count = optional(number)<br> queue_delay_seconds = optional(number)<br> queue_message_retention_seconds = optional(number)<br> queue_batch_size = optional(number)<br> queue_maximum_batching_window_in_seconds = optional(number)<br> code_uri = optional(string)<br> sam_release_version = optional(string)<br> })</pre> | `{}` | no |
174-
| <a name="input_logwriter"></a> [logwriter](#input\_logwriter) | Variables for AWS CloudWatch Logs collection. | <pre>object({<br> log_group_name_patterns = optional(list(string))<br> log_group_name_prefixes = optional(list(string))<br> exclude_log_group_name_prefixes = optional(list(string))<br> buffering_interval = optional(number)<br> buffering_size = optional(number)<br> filter_name = optional(string)<br> filter_pattern = optional(string)<br> num_workers = optional(number)<br> discovery_rate = optional(string, "24 hours")<br> lambda_memory_size = optional(number)<br> lambda_timeout = optional(number)<br> code_uri = optional(string)<br> sam_release_version = optional(string)<br> })</pre> | `null` | no |
173+
| <a name="input_forwarder"></a> [forwarder](#input\_forwarder) | Variables for forwarder module. | <pre>object({<br> source_bucket_names = optional(list(string), [])<br> source_object_keys = optional(list(string))<br> source_topic_arns = optional(list(string), [])<br> content_type_overrides = optional(list(object({ pattern = string, content_type = string })), [])<br> max_file_size = optional(number)<br> lambda_memory_size = optional(number)<br> lambda_timeout = optional(number)<br> lambda_env_vars = optional(map(string))<br> lambda_runtime = optional(string)<br> retention_in_days = optional(number)<br> queue_max_receive_count = optional(number)<br> queue_delay_seconds = optional(number)<br> queue_message_retention_seconds = optional(number)<br> queue_batch_size = optional(number)<br> queue_maximum_batching_window_in_seconds = optional(number)<br> code_uri = optional(string)<br> sam_release_version = optional(string)<br> })</pre> | `{}` | no |
174+
| <a name="input_logwriter"></a> [logwriter](#input\_logwriter) | Variables for AWS CloudWatch Logs collection. | <pre>object({<br> log_group_name_patterns = optional(list(string))<br> log_group_name_prefixes = optional(list(string))<br> exclude_log_group_name_prefixes = optional(list(string))<br> buffering_interval = optional(number)<br> buffering_size = optional(number)<br> filter_name = optional(string)<br> filter_pattern = optional(string)<br> num_workers = optional(number)<br> discovery_rate = optional(string, "24 hours")<br> lambda_memory_size = optional(number)<br> lambda_timeout = optional(number)<br> lambda_env_vars = optional(map(string))<br> lambda_runtime = optional(string)<br> code_uri = optional(string)<br> sam_release_version = optional(string)<br> })</pre> | `null` | no |
175175
| <a name="input_metricstream"></a> [metricstream](#input\_metricstream) | Variables for AWS CloudWatch Metrics Stream collection. | <pre>object({<br> include_filters = optional(list(object({ namespace = string, metric_names = optional(list(string)) })))<br> exclude_filters = optional(list(object({ namespace = string, metric_names = optional(list(string)) })))<br> buffering_interval = optional(number)<br> buffering_size = optional(number)<br> sam_release_version = optional(string)<br> })</pre> | `null` | no |
176176
| <a name="input_name"></a> [name](#input\_name) | Name of role. Since this name must be unique within the<br>account, it will be reused for most of the resources created by this<br>module. | `string` | n/a | yes |
177177
| <a name="input_s3_bucket_lifecycle_expiration"></a> [s3\_bucket\_lifecycle\_expiration](#input\_s3\_bucket\_lifecycle\_expiration) | Expiration in days for S3 objects in collection bucket | `number` | `4` | no |

modules/stack/forwarder.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ module "forwarder" {
1515
lambda_memory_size = var.forwarder.lambda_memory_size
1616
lambda_timeout = var.forwarder.lambda_timeout
1717
lambda_env_vars = var.forwarder.lambda_env_vars
18+
lambda_runtime = var.forwarder.lambda_runtime
1819
retention_in_days = var.forwarder.retention_in_days
1920
queue_max_receive_count = var.forwarder.queue_max_receive_count
2021
queue_delay_seconds = var.forwarder.queue_delay_seconds

modules/stack/logwriter.tf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ module "logwriter" {
1515
discovery_rate = var.logwriter.discovery_rate
1616
lambda_memory_size = var.logwriter.lambda_memory_size
1717
lambda_timeout = var.logwriter.lambda_timeout
18+
lambda_env_vars = var.logwriter.lambda_env_vars
19+
lambda_runtime = var.logwriter.lambda_runtime
1820
debug_endpoint = var.debug_endpoint
1921
verbosity = var.verbosity
2022
code_uri = var.logwriter.code_uri

modules/stack/variables.tf

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ variable "forwarder" {
3737
lambda_memory_size = optional(number)
3838
lambda_timeout = optional(number)
3939
lambda_env_vars = optional(map(string))
40+
lambda_runtime = optional(string)
4041
retention_in_days = optional(number)
4142
queue_max_receive_count = optional(number)
4243
queue_delay_seconds = optional(number)
@@ -91,6 +92,8 @@ variable "logwriter" {
9192
discovery_rate = optional(string, "24 hours")
9293
lambda_memory_size = optional(number)
9394
lambda_timeout = optional(number)
95+
lambda_env_vars = optional(map(string))
96+
lambda_runtime = optional(string)
9497
code_uri = optional(string)
9598
sam_release_version = optional(string)
9699
})

0 commit comments

Comments
 (0)