front-integrations/terraform/lambda.tf
Adam Moussa 7bbdbabe3a
feat(terraform): migrate front-integrations to HCP Terraform (PLAT-72) (#41)
* feat(terraform): migrate front-integrations to HCP Terraform

Freeze SAM CD and add Terraform for seahaven-prod (Lambdas, DynamoDB,
EventBridge, alarms) so HCP becomes the sole deploy path. Include prod
secret ARNs in the tfvars example for workspace wiring.

* fix(terraform): reject symlink sources in Lambda package build
2026-08-05 18:48:16 -04:00

60 lines
1.6 KiB
HCL

resource "aws_cloudwatch_log_group" "sla_monitor" {
name = "/aws/lambda/front-sla-monitor"
retention_in_days = 60
}
resource "aws_cloudwatch_log_group" "user_sync" {
name = "/aws/lambda/front-user-sync"
retention_in_days = 60
}
resource "aws_lambda_function" "sla_monitor" {
function_name = "front-sla-monitor"
role = aws_iam_role.sla_monitor.arn
handler = "app.handler"
runtime = "python3.12"
architectures = ["arm64"]
memory_size = 256
timeout = 300
s3_bucket = aws_s3_bucket.artifacts.id
s3_key = aws_s3_object.sla_monitor.key
source_code_hash = data.archive_file.sla_monitor.output_base64sha256
environment {
variables = local.sla_monitor_env
}
depends_on = [
aws_s3_object.sla_monitor,
aws_cloudwatch_log_group.sla_monitor,
aws_iam_role_policy_attachment.sla_monitor_basic,
aws_iam_role_policy.sla_monitor_secrets,
aws_iam_role_policy.sla_monitor_ddb,
]
}
resource "aws_lambda_function" "user_sync" {
function_name = "front-user-sync"
role = aws_iam_role.user_sync.arn
handler = "app.handler"
runtime = "python3.12"
architectures = ["arm64"]
memory_size = 256
timeout = 300
s3_bucket = aws_s3_bucket.artifacts.id
s3_key = aws_s3_object.user_sync.key
source_code_hash = data.archive_file.user_sync.output_base64sha256
environment {
variables = local.user_sync_env
}
depends_on = [
aws_s3_object.user_sync,
aws_cloudwatch_log_group.user_sync,
aws_iam_role_policy_attachment.user_sync_basic,
aws_iam_role_policy.user_sync_secrets,
]
}