From dcb3efdb7ed97fdd2818cccd8986551f5d88ccbd Mon Sep 17 00:00:00 2001 From: Daniel Roth Date: Tue, 10 Mar 2026 11:42:06 +0000 Subject: [PATCH] update fast-api terraform --- .../terraform/lambda/fast-api/main.tf | 122 +++++++++++++----- .../terraform/lambda/fast-api/provider.tf | 2 +- .../terraform/lambda/fast-api/variables.tf | 47 ++++--- 3 files changed, 118 insertions(+), 53 deletions(-) diff --git a/infrastructure/terraform/lambda/fast-api/main.tf b/infrastructure/terraform/lambda/fast-api/main.tf index 104d4a4d..aabc1c52 100644 --- a/infrastructure/terraform/lambda/fast-api/main.tf +++ b/infrastructure/terraform/lambda/fast-api/main.tf @@ -7,43 +7,101 @@ data "terraform_remote_state" "shared" { } } -module "lambda" { - source = "../../modules/lambda_with_sqs" +data "aws_secretsmanager_secret_version" "db_credentials" { + secret_id = "${var.stage}/assessment_model/db_credentials" +} - name = REPLACE ME #"address2uprn" for example - stage = var.stage +locals { + db_credentials = jsondecode(data.aws_secretsmanager_secret_version.db_credentials.secret_string) +} - image_uri = local.image_uri - # Optional: Set maximum_concurrency to limit concurrent SQS-triggered invocations (2-1000) - maximum_concurrency = var.maximum_concurrency +data "aws_ssm_parameter" "certificate_arn" { + name = "/ssl_certificate_arn" +} - batch_size = var.batch_size +data "aws_route53_zone" "this" { + name = var.domain_name +} - environment = { - STAGE = var.stage - LOG_LEVEL = "info" +############################################ +# Install Python requirements +############################################ +resource "null_resource" "pip_install" { + triggers = { + requirements_hash = filemd5("${path.root}/../../../../backend/app/requirements/requirements.txt") + } + + provisioner "local-exec" { + command = <