mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
88 lines
2.2 KiB
HCL
88 lines
2.2 KiB
HCL
############################################
|
|
# Read shared state to get outputs
|
|
############################################
|
|
data "terraform_remote_state" "shared" {
|
|
backend = "s3"
|
|
|
|
config = {
|
|
bucket = "assessment-model-terraform-state"
|
|
key = "terraform.tfstate"
|
|
region = "eu-west-2"
|
|
}
|
|
}
|
|
|
|
############################################
|
|
# IAM role
|
|
############################################
|
|
module "role" {
|
|
source = "../../modules/lambda_execution_role"
|
|
name = "address2uprn-lambda-${var.stage}"
|
|
}
|
|
|
|
############################################
|
|
# SQS queue
|
|
############################################
|
|
module "queue" {
|
|
source = "../../modules/sqs_queue"
|
|
name = "address2uprn-queue-${var.stage}"
|
|
}
|
|
|
|
############################################
|
|
# Lambda (image-based)
|
|
############################################
|
|
module "lambda" {
|
|
source = "../../modules/lambda_service"
|
|
|
|
name = "address2uprn-${var.stage}"
|
|
role_arn = module.role.role_arn
|
|
|
|
image_uri = "${data.terraform_remote_state.shared.outputs.address2uprn_repository_url}@${var.image_digest}"
|
|
|
|
timeout = 60
|
|
memory_size = 1024
|
|
|
|
environment = {
|
|
STAGE = var.stage
|
|
LOG_LEVEL = "info"
|
|
}
|
|
}
|
|
|
|
############################################
|
|
# SQS → Lambda trigger
|
|
############################################
|
|
module "sqs_trigger" {
|
|
source = "../../modules/lambda_sqs_trigger"
|
|
|
|
lambda_arn = module.lambda.lambda_arn
|
|
lambda_role_name = module.role.role_name
|
|
queue_arn = module.queue.queue_arn
|
|
}
|
|
############################################
|
|
# Read shared state to get outputs
|
|
############################################
|
|
data "terraform_remote_state" "shared" {
|
|
backend = "s3"
|
|
|
|
config = {
|
|
bucket = "assessment-model-terraform-state"
|
|
key = "terraform.tfstate"
|
|
region = "eu-west-2"
|
|
}
|
|
}
|
|
|
|
############################################
|
|
# Address2UPRN Lambda (via reusable module)
|
|
############################################
|
|
module "address2uprn" {
|
|
source = "../modules/lambda_with_sqs"
|
|
|
|
name = "address2uprn"
|
|
stage = var.stage
|
|
|
|
image_uri = "${data.terraform_remote_state.shared.outputs.address2uprn_repository_url}@${var.image_digest}"
|
|
|
|
environment = {
|
|
STAGE = var.stage
|
|
LOG_LEVEL = "info"
|
|
}
|
|
}
|