mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-12 13:29:04 +00:00
New lambda_with_sqs consumer (timeout 900, memory 3008, ephemeral_storage 10240 for multi-GB ZIPs); dedicated retrofit-document-exports bucket (no lifecycle on DATA_BUCKET); IAM to read source buckets + write/presign-read the exports bucket; SES SMTP creds baked from Secrets Manager (no ses:* on the role). Adds ephemeral_storage_size knob to the shared lambda modules (default 512, backward compatible). Wires the queue url+arn into fast-api and orders the CI jobs (ADR-0055). NOTE: terraform is drafted, not validated (no AWS/terraform in the dev env). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
52 lines
1.3 KiB
HCL
52 lines
1.3 KiB
HCL
############################################
|
|
# IAM role
|
|
############################################
|
|
module "role" {
|
|
source = "../lambda_execution_role"
|
|
name = "${var.name}-lambda-${var.stage}"
|
|
}
|
|
|
|
output "role_name" {
|
|
value = module.role.role_name
|
|
}
|
|
|
|
############################################
|
|
# SQS queue + DLQ
|
|
############################################
|
|
module "queue" {
|
|
source = "../sqs_queue"
|
|
name = "${var.name}-queue-${var.stage}"
|
|
}
|
|
|
|
############################################
|
|
# Lambda
|
|
############################################
|
|
module "lambda" {
|
|
source = "../lambda_service"
|
|
|
|
name = "${var.name}-${var.stage}"
|
|
role_arn = module.role.role_arn
|
|
image_uri = var.image_uri
|
|
|
|
timeout = var.timeout
|
|
memory_size = var.memory_size
|
|
|
|
ephemeral_storage_size = var.ephemeral_storage_size
|
|
|
|
environment = var.environment
|
|
reserved_concurrent_executions = var.reserved_concurrent_executions
|
|
}
|
|
|
|
############################################
|
|
# SQS → Lambda trigger
|
|
############################################
|
|
module "sqs_trigger" {
|
|
source = "../lambda_sqs_trigger"
|
|
|
|
lambda_arn = module.lambda.lambda_arn
|
|
lambda_role_name = module.role.role_name
|
|
queue_arn = module.queue.queue_arn
|
|
|
|
batch_size = var.batch_size
|
|
maximum_concurrency = var.maximum_concurrency
|
|
}
|