Skip to content

Commit a9b33b4

Browse files
authored
Don't reserve concurrency on PR deploys to avoid hitting account limits. (#400)
1 parent 51d6be7 commit a9b33b4

File tree

3 files changed

+40
-40
lines changed

3 files changed

+40
-40
lines changed

terraform/ack_lambda.tf

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -115,17 +115,17 @@ resource "aws_iam_policy" "ack_lambda_exec_policy" {
115115
"s3:DeleteObject"
116116
]
117117
Resource = [
118-
"arn:aws:s3:::immunisation-batch-${local.env}-data-sources",
118+
"arn:aws:s3:::immunisation-batch-${local.env}-data-sources",
119119
"arn:aws:s3:::immunisation-batch-${local.env}-data-sources/*",
120-
"${data.aws_s3_bucket.existing_destination_bucket.arn}",
121-
"${data.aws_s3_bucket.existing_destination_bucket.arn}/*"
120+
"${data.aws_s3_bucket.existing_destination_bucket.arn}",
121+
"${data.aws_s3_bucket.existing_destination_bucket.arn}/*"
122122
]
123123
},
124124
{
125125
Effect = "Allow"
126126
Action = "lambda:InvokeFunction"
127127
Resource = [
128-
data.aws_lambda_function.existing_file_name_proc_lambda.arn,
128+
data.aws_lambda_function.existing_file_name_proc_lambda.arn,
129129
]
130130
},
131131
{
@@ -139,13 +139,13 @@ resource "aws_iam_policy" "ack_lambda_exec_policy" {
139139
"arn:aws:dynamodb:${var.aws_region}:${local.local_account_id}:table/${data.aws_dynamodb_table.audit-table.name}/index/*",
140140
]
141141
},
142-
{
143-
Effect = "Allow",
144-
Action = [
145-
"sqs:ReceiveMessage",
146-
"sqs:DeleteMessage",
147-
"sqs:GetQueueAttributes"
148-
],
142+
{
143+
Effect = "Allow",
144+
Action = [
145+
"sqs:ReceiveMessage",
146+
"sqs:DeleteMessage",
147+
"sqs:GetQueueAttributes"
148+
],
149149
Resource = "arn:aws:sqs:eu-west-2:${local.local_account_id}:${local.short_prefix}-ack-metadata-queue.fifo" },
150150
{
151151
"Effect": "Allow",
@@ -205,10 +205,10 @@ resource "aws_lambda_function" "ack_processor_lambda" {
205205
architectures = ["x86_64"]
206206
timeout = 900
207207
memory_size = 2048
208-
ephemeral_storage {
209-
size = 2048
208+
ephemeral_storage {
209+
size = 2048
210210
}
211-
211+
212212
environment {
213213
variables = {
214214
ACK_BUCKET_NAME = data.aws_s3_bucket.existing_destination_bucket.bucket
@@ -219,15 +219,15 @@ resource "aws_lambda_function" "ack_processor_lambda" {
219219
}
220220
}
221221

222-
reserved_concurrent_executions = 20
222+
reserved_concurrent_executions = startswith(local.environment, "pr-") ? -1 : 20
223223
depends_on = [
224224
aws_cloudwatch_log_group.ack_lambda_log_group
225225
]
226226
}
227227

228-
resource "aws_lambda_event_source_mapping" "sqs_to_lambda"{
229-
event_source_arn = aws_sqs_queue.fifo_queue.arn
230-
function_name = aws_lambda_function.ack_processor_lambda.arn
228+
resource "aws_lambda_event_source_mapping" "sqs_to_lambda"{
229+
event_source_arn = aws_sqs_queue.fifo_queue.arn
230+
function_name = aws_lambda_function.ack_processor_lambda.arn
231231
batch_size = 10
232-
enabled = true
233-
}
232+
enabled = true
233+
}

terraform/file_name_processor.tf

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,8 @@ resource "aws_iam_policy" "filenameprocessor_lambda_exec_policy" {
115115
"s3:DeleteObject"
116116
]
117117
Resource = [
118-
"arn:aws:s3:::${local.batch_prefix}-data-sources",
119-
"arn:aws:s3:::${local.batch_prefix}-data-sources/*"
118+
"arn:aws:s3:::${local.batch_prefix}-data-sources",
119+
"arn:aws:s3:::${local.batch_prefix}-data-sources/*"
120120
]
121121
},
122122
{
@@ -127,8 +127,8 @@ resource "aws_iam_policy" "filenameprocessor_lambda_exec_policy" {
127127
"s3:ListBucket"
128128
]
129129
Resource = [
130-
"${data.aws_s3_bucket.existing_destination_bucket.arn}",
131-
"${data.aws_s3_bucket.existing_destination_bucket.arn}/*"
130+
"${data.aws_s3_bucket.existing_destination_bucket.arn}",
131+
"${data.aws_s3_bucket.existing_destination_bucket.arn}/*"
132132
]
133133
},
134134
{
@@ -148,8 +148,8 @@ resource "aws_iam_policy" "filenameprocessor_lambda_exec_policy" {
148148
"s3:ListBucket"
149149
]
150150
Resource = [
151-
"arn:aws:s3:::${data.aws_s3_bucket.existing_config_bucket.bucket}",
152-
"arn:aws:s3:::${data.aws_s3_bucket.existing_config_bucket.bucket}/*"
151+
"arn:aws:s3:::${data.aws_s3_bucket.existing_config_bucket.bucket}",
152+
"arn:aws:s3:::${data.aws_s3_bucket.existing_config_bucket.bucket}/*"
153153
]
154154
},
155155
{
@@ -164,7 +164,7 @@ resource "aws_iam_policy" "filenameprocessor_lambda_exec_policy" {
164164
Effect = "Allow"
165165
Action = "lambda:InvokeFunction"
166166
Resource = [
167-
"arn:aws:lambda:${var.aws_region}:${local.local_account_id}:function:imms-${local.env}-filenameproc_lambda",
167+
"arn:aws:lambda:${var.aws_region}:${local.local_account_id}:function:imms-${local.env}-filenameproc_lambda",
168168
]
169169
}
170170
]
@@ -294,12 +294,12 @@ resource "aws_lambda_function" "file_processor_lambda" {
294294
}
295295
}
296296
kms_key_arn = data.aws_kms_key.existing_lambda_encryption_key.arn
297-
reserved_concurrent_executions = 20
297+
reserved_concurrent_executions = startswith(local.environment, "pr-") ? -1 : 20
298298
depends_on = [
299299
aws_cloudwatch_log_group.file_name_processor_log_group,
300300
aws_iam_policy.filenameprocessor_lambda_exec_policy
301301
]
302-
302+
303303
}
304304

305305

@@ -421,4 +421,4 @@ resource "aws_iam_role_policy_attachment" "elasticache_policy_attachment" {
421421
resource "aws_cloudwatch_log_group" "file_name_processor_log_group" {
422422
name = "/aws/lambda/${local.short_prefix}-filenameproc_lambda"
423423
retention_in_days = 30
424-
}
424+
}

terraform/forwarder_lambda.tf

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,8 @@ resource "aws_iam_policy" "forwarding_lambda_exec_policy" {
116116
"s3:ListBucket"
117117
]
118118
Resource = [
119-
"arn:aws:s3:::${local.batch_prefix}-data-sources",
120-
"arn:aws:s3:::${local.batch_prefix}-data-sources/*"
119+
"arn:aws:s3:::${local.batch_prefix}-data-sources",
120+
"arn:aws:s3:::${local.batch_prefix}-data-sources/*"
121121
]
122122
},
123123
{
@@ -128,8 +128,8 @@ resource "aws_iam_policy" "forwarding_lambda_exec_policy" {
128128
"s3:ListBucket"
129129
]
130130
Resource = [
131-
"${data.aws_s3_bucket.existing_destination_bucket.arn}",
132-
"${data.aws_s3_bucket.existing_destination_bucket.arn}/*"
131+
"${data.aws_s3_bucket.existing_destination_bucket.arn}",
132+
"${data.aws_s3_bucket.existing_destination_bucket.arn}/*"
133133
]
134134
},
135135
{
@@ -198,8 +198,8 @@ resource "aws_lambda_function" "forwarding_lambda" {
198198
image_uri = module.forwarding_docker_image.image_uri
199199
timeout = 900
200200
memory_size = 2048
201-
ephemeral_storage {
202-
size = 1024
201+
ephemeral_storage {
202+
size = 1024
203203
}
204204

205205
environment {
@@ -215,8 +215,8 @@ resource "aws_lambda_function" "forwarding_lambda" {
215215
aws_iam_role_policy_attachment.forwarding_lambda_exec_policy_attachment,
216216
aws_cloudwatch_log_group.forwarding_lambda_log_group
217217
]
218-
219-
reserved_concurrent_executions = 20
218+
219+
reserved_concurrent_executions = startswith(local.environment, "pr-") ? -1 : 20
220220
}
221221

222222
resource "aws_lambda_event_source_mapping" "kinesis_event_source_mapping_forwarder_lambda" {
@@ -228,8 +228,8 @@ resource "aws_lambda_function" "forwarding_lambda" {
228228

229229
depends_on = [aws_lambda_function.forwarding_lambda]
230230
}
231-
231+
232232
resource "aws_cloudwatch_log_group" "forwarding_lambda_log_group" {
233233
name = "/aws/lambda/${local.short_prefix}-forwarding_lambda"
234234
retention_in_days = 30
235-
}
235+
}

0 commit comments

Comments
 (0)