diff --git a/.github/workflows/deploy_terraform.yml b/.github/workflows/deploy_terraform.yml index 67c1d5d8..8a29af9c 100644 --- a/.github/workflows/deploy_terraform.yml +++ b/.github/workflows/deploy_terraform.yml @@ -61,7 +61,7 @@ jobs: run: terraform plan -var-file=${STAGE}.tfvars -out=tfplan - name: Terraform Apply - # if: env.STAGE == 'prod' + if: env.STAGE == 'prod' working-directory: infrastructure/terraform/shared run: terraform apply -auto-approve tfplan @@ -113,19 +113,19 @@ jobs: AWS_SECRET_ACCESS_KEY: ${{ secrets.DEV_AWS_SECRET_ACCESS_KEY }} AWS_REGION: ${{ secrets.DEV_AWS_REGION }} - # ============================================================ - # 3️⃣ Deploy Postcode Splitter Lambda - # ============================================================ - # postcodeSplitter_lambda: - # needs: [address2uprn_image, determine_stage] - # uses: ./.github/workflows/_deploy_lambda.yml - # with: - # lambda_name: postcodeSplitter - # # lambda_path: infrastructure/terraform/lambda/postcode_splitter - # stage: ${{ needs.determine_stage.outputs.stage }} - # ecr_repo: postcode_splitter-${{ needs.determine_stage.outputs.stage }} - # image_digest: ${{ needs.postcodeSplitter_image.outputs.image_digest }} - # secrets: - # AWS_ACCESS_KEY_ID: ${{ secrets.DEV_AWS_ACCESS_KEY_ID }} - # AWS_SECRET_ACCESS_KEY: ${{ secrets.DEV_AWS_SECRET_ACCESS_KEY }} - # AWS_REGION: ${{ secrets.DEV_AWS_REGION }} + ============================================================ + 3️⃣ Deploy Postcode Splitter Lambda + ============================================================ + postcodeSplitter_lambda: + needs: [address2uprn_image, determine_stage] + uses: ./.github/workflows/_deploy_lambda.yml + with: + lambda_name: postcodeSplitter + lambda_path: infrastructure/terraform/lambda/postcodeSplitter + stage: ${{ needs.determine_stage.outputs.stage }} + ecr_repo: postcode_splitter-${{ needs.determine_stage.outputs.stage }} + image_digest: ${{ needs.postcodeSplitter_image.outputs.image_digest }} + secrets: + AWS_ACCESS_KEY_ID: ${{ secrets.DEV_AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.DEV_AWS_SECRET_ACCESS_KEY }} + AWS_REGION: ${{ secrets.DEV_AWS_REGION }} diff --git a/infrastructure/terraform/lambda/postcodeSplitter/main.tf b/infrastructure/terraform/lambda/postcodeSplitter/main.tf new file mode 100644 index 00000000..ebbdbfdc --- /dev/null +++ b/infrastructure/terraform/lambda/postcodeSplitter/main.tf @@ -0,0 +1,14 @@ +module "lambda" { + source = "../modules/lambda_with_sqs" + + name = "postcode-splitter" + stage = var.stage + + image_uri = local.image_uri + + + environment = { + STAGE = var.stage + LOG_LEVEL = "info" + } +} diff --git a/infrastructure/terraform/lambda/postcodeSplitter/provider.tf b/infrastructure/terraform/lambda/postcodeSplitter/provider.tf new file mode 100644 index 00000000..dbe323f2 --- /dev/null +++ b/infrastructure/terraform/lambda/postcodeSplitter/provider.tf @@ -0,0 +1,16 @@ +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.16" + } + } + + backend "s3" { + bucket = "postcode-splitter-terraform-state" + key = "terraform.tfstate" + region = "eu-west-2" + } + + required_version = ">= 1.2.0" +} \ No newline at end of file diff --git a/infrastructure/terraform/lambda/postcodeSplitter/variables.tf b/infrastructure/terraform/lambda/postcodeSplitter/variables.tf new file mode 100644 index 00000000..9ce45fa5 --- /dev/null +++ b/infrastructure/terraform/lambda/postcodeSplitter/variables.tf @@ -0,0 +1,26 @@ +variable "lambda_name" { + type = string + description = "Logical name of the lambda (e.g. address2uprn)" +} + +variable "stage" { + description = "Deployment stage (e.g. dev, prod)" + type = string +} +variable "ecr_repo_url" { + type = string + description = "ECR repository URL (no tag, no digest)" +} + +variable "image_digest" { + type = string + description = "Image digest (sha256:...)" +} + +locals { + image_uri = "${var.ecr_repo_url}@${var.image_digest}" +} + +output "resolved_image_uri" { + value = local.image_uri +} diff --git a/sfr/principal_pitch/2_export_data.py b/sfr/principal_pitch/2_export_data.py index 4b1b0ede..a65509d5 100644 --- a/sfr/principal_pitch/2_export_data.py +++ b/sfr/principal_pitch/2_export_data.py @@ -28,12 +28,12 @@ from sqlalchemy import func # PORTFOLIO_ID = 206 # SCENARIOS = [389] -PORTFOLIO_ID = 515 +PORTFOLIO_ID = 524 SCENARIOS = [ - 997, + 1009, ] scenario_names = { - 997: "EPC C", + 1009: "EPC C; Most Economic", }