Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
260d408
[PRMP-739] Implement recommended delete lifecycle policies for S3
PedroSoaresNHS Jan 21, 2026
4f19792
[PRMP-739] adjustments
PedroSoaresNHS Jan 22, 2026
a86654a
[PRMP-739] adjustments
PedroSoaresNHS Jan 22, 2026
6ec104b
[PRMP-739] adjustments
PedroSoaresNHS Jan 22, 2026
2decad0
[PRMP-1215] changes to test.tfvars
SWhyteAnswer Jan 16, 2026
5a1ddde
[PRMP-1215] removing duplicate test.
SWhyteAnswer Jan 16, 2026
df03bf3
[PRMP-1215] correct env name
SWhyteAnswer Jan 16, 2026
4bd6a18
[PRMP-1215] changes to vars
SWhyteAnswer Jan 16, 2026
95aca6f
[PRMP-1215] temp hard coding acm
SWhyteAnswer Jan 16, 2026
eb94e55
[PRMP-1215] temp also setting amazon_issued to 0
SWhyteAnswer Jan 16, 2026
d2bbbe9
[PRMP-1215] revert
SWhyteAnswer Jan 16, 2026
3674418
[PRMP-1215] adding test to vars
SWhyteAnswer Jan 21, 2026
72bcb4b
[PRMP-1215] adding ndr-test to lambda contains
SWhyteAnswer Jan 23, 2026
a2382a1
[PRMP-1215] adding conditionals to account for domain delegation
SWhyteAnswer Jan 27, 2026
0f4a6ce
[PRMP-1215] missed a contains tests oops
SWhyteAnswer Jan 27, 2026
3b98350
[PRMP-1215] moving contains test
SWhyteAnswer Jan 28, 2026
dfd215c
[PRMP-1215] reverting cloudfront_url for get doc fhir lam
SWhyteAnswer Jan 28, 2026
f3710cd
[PRMP-1215] cors to var
SWhyteAnswer Jan 28, 2026
46e5097
[PRMP-1215] global var for conditionals
SWhyteAnswer Jan 28, 2026
d1f6181
[PRMP-1215] formatting
SWhyteAnswer Jan 28, 2026
54f8ee3
[PRMP-1215] move index version to not have down time on prod
SWhyteAnswer Jan 28, 2026
f701d74
[PRMP-1215] fixing error in moved
SWhyteAnswer Jan 28, 2026
c9653d4
[PRMP-1215] removed comments
SWhyteAnswer Jan 28, 2026
2711b05
[PRMP-1215] removing accidently added file
SWhyteAnswer Jan 29, 2026
461eae9
[PRMP-1215] moving moved to move
SWhyteAnswer Jan 29, 2026
047e6eb
Merge branch 'main' into PRMP-1215
SWhyteAnswer Jan 29, 2026
e5fdddf
Merge branch 'main' into PRMP-1215
SWhyteAnswer Jan 30, 2026
bd9331e
Merge remote-tracking branch 'origin/main' into PRMP-739
PedroSoaresNHS Feb 2, 2026
96a891a
Merge remote-tracking branch 'origin/PRMP-1215' into PRMP-739
PedroSoaresNHS Feb 3, 2026
cebbda1
Merge remote-tracking branch 'origin/main' into PRMP-739
PedroSoaresNHS Feb 4, 2026
7d8778d
Revert "Merge remote-tracking branch 'origin/main' into PRMP-739"
PedroSoaresNHS Feb 4, 2026
7fa93d5
Revert "Merge remote-tracking branch 'origin/PRMP-1215' into PRMP-739"
PedroSoaresNHS Feb 4, 2026
1c1ff3d
Merge remote-tracking branch 'origin/main' into PRMP-739
PedroSoaresNHS Feb 4, 2026
6b58d4f
[PRMP-1215] changes to test.tfvars
SWhyteAnswer Jan 16, 2026
7a0e552
[PRMP-1215] removing duplicate test.
SWhyteAnswer Jan 16, 2026
19ca0d2
[PRMP-1215] correct env name
SWhyteAnswer Jan 16, 2026
88c6254
[PRMP-1215] changes to vars
SWhyteAnswer Jan 16, 2026
15e068a
[PRMP-1215] temp hard coding acm
SWhyteAnswer Jan 16, 2026
a84bd0e
[PRMP-1215] temp also setting amazon_issued to 0
SWhyteAnswer Jan 16, 2026
9b7d523
[PRMP-1215] revert
SWhyteAnswer Jan 16, 2026
73344d7
[PRMP-1215] adding test to vars
SWhyteAnswer Jan 21, 2026
60cf458
[PRMP-1215] adding ndr-test to lambda contains
SWhyteAnswer Jan 23, 2026
2b4af9e
[PRMP-1215] adding conditionals to account for domain delegation
SWhyteAnswer Jan 27, 2026
2dd0ea1
[PRMP-1215] missed a contains tests oops
SWhyteAnswer Jan 27, 2026
122df78
[PRMP-1215] moving contains test
SWhyteAnswer Jan 28, 2026
11c2add
[PRMP-1215] reverting cloudfront_url for get doc fhir lam
SWhyteAnswer Jan 28, 2026
aa29cee
[PRMP-1215] cors to var
SWhyteAnswer Jan 28, 2026
0b2ca13
[PRMP-1215] global var for conditionals
SWhyteAnswer Jan 28, 2026
8a8372f
[PRMP-1215] formatting
SWhyteAnswer Jan 28, 2026
4f0d9d4
[PRMP-1215] move index version to not have down time on prod
SWhyteAnswer Jan 28, 2026
5ecadea
[PRMP-1215] fixing error in moved
SWhyteAnswer Jan 28, 2026
96018cb
[PRMP-1215] removed comments
SWhyteAnswer Jan 28, 2026
b31e9ba
[PRMP-1215] removing accidently added file
SWhyteAnswer Jan 29, 2026
7318a61
[PRMP-1215] moving moved to move
SWhyteAnswer Jan 29, 2026
815d1c7
Merge remote-tracking branch 'origin/PRMP-1215' into PRMP-739
PedroSoaresNHS Feb 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
126 changes: 79 additions & 47 deletions .github/workflows/deploy-sandbox.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,74 +39,106 @@ jobs:
env:
SANDBOX_NAME: ${{ github.event.inputs.sandbox_name }}


terraform_plan_apply_base_iam:
name: Terraform Plan/Apply (base_iam)
runs-on: ubuntu-latest
needs: validate_inputs
environment: development
steps:
- name: Checkout branch
uses: actions/checkout@v6
with:
ref: ${{ github.event.inputs.git_ref}}

- name: Apply base_iam
uses: ./.github/actions/tf-plan-apply
with:
aws_assume_role: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/dev-github-bootstrap
bucket_prefix: "dev"
aws_account_id: ${{ secrets.AWS_ACCOUNT_ID }}
aws_region: ${{ vars.AWS_REGION }}
working_directory: "./base_iam" # Use separate base_iam directory
workspace: ${{ github.event.inputs.sandbox_name }}
tf_vars_file: ${{ vars.TF_VARS_FILE }}
tf_extra_args: "-var aws_account_id=${{ secrets.AWS_ACCOUNT_ID }}"


terraform_plan_apply_main:
name: Terraform Plan/Apply (main)
if: ${{ !inputs.skip_main_deployment }}
runs-on: ubuntu-latest
needs: terraform_plan_apply_base_iam
needs: validate_inputs
environment: development
steps:
- name: Checkout main
uses: actions/checkout@v6
with:
ref: main

- name: Apply Main
uses: ./.github/actions/tf-plan-apply
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v5
with:
role-to-assume: ${{ secrets.AWS_ASSUME_ROLE }}
role-skip-session-tagging: true
aws-region: ${{ vars.AWS_REGION }}
mask-aws-account-id: true

# Install the latest version of Terraform CLI and configure the Terraform CLI configuration file with a Terraform Cloud user API token
- name: Setup Terraform
uses: hashicorp/setup-terraform@v3
with:
# use newly created role
aws_assume_role: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/${{ github.event.inputs.sandbox_name}}-github-actions-role
bucket_prefix: "dev"
aws_account_id: ${{ secrets.AWS_ACCOUNT_ID }}
aws_region: ${{ vars.AWS_REGION }}
workspace: ${{ github.event.inputs.sandbox_name }}
tf_vars_file: ${{ vars.TF_VARS_FILE }}
terraform_version: 1.14.3
terraform_wrapper: false

- name: Initialise Terraform
id: main_init
run: terraform init -backend-config=backend.conf
working-directory: ./infrastructure
shell: bash

- name: Select Terraform Workspace
id: main_workspace
run: terraform workspace select -or-create ${{ github.event.inputs.sandbox_name}}
working-directory: ./infrastructure
shell: bash

- name: Run Terraform Plan
id: main_plan
run: |
terraform plan -input=false -no-color -var-file="${{vars.TF_VARS_FILE}}" -out tf-main.plan
working-directory: ./infrastructure
shell: bash

- name: Run Terraform Apply
run: terraform apply -auto-approve -input=false tf-main.plan
working-directory: ./infrastructure

terraform_plan_apply_branch:
name: Terraform Plan/Apply (branch)
if: ${{ always() && github.event.inputs.git_ref != 'main' && needs.validate_inputs.result == 'success' && needs.terraform_plan_apply_base_iam.result == 'success' && (needs.terraform_plan_apply_main.result == 'success' || needs.terraform_plan_apply_main.result == 'skipped') }}
if: ${{ always() && github.event.inputs.git_ref != 'main' && needs.validate_inputs.result == 'success' && (needs.terraform_plan_apply_main.result == 'success' || needs.terraform_plan_apply_main.result == 'skipped') }}
runs-on: ubuntu-latest
needs: [validate_inputs, terraform_plan_apply_base_iam, terraform_plan_apply_main]
needs: [validate_inputs, terraform_plan_apply_main]
environment: development
steps:
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v5
with:
role-to-assume: ${{ secrets.AWS_ASSUME_ROLE }}
role-skip-session-tagging: true
aws-region: ${{ vars.AWS_REGION }}
mask-aws-account-id: true

- name: Setup Terraform
uses: hashicorp/setup-terraform@v3
with:
terraform_version: 1.14.3
terraform_wrapper: false

- name: Checkout Branch
uses: actions/checkout@v6
with:
ref: ${{ github.event.inputs.git_ref}}

- name: Apply Branch
uses: ./.github/actions/tf-plan-apply
with:
# use newly created role
aws_assume_role: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/${{ github.event.inputs.sandbox_name}}-github-actions-role
bucket_prefix: "dev"
aws_account_id: ${{ secrets.AWS_ACCOUNT_ID }}
aws_region: ${{ vars.AWS_REGION }}
workspace: ${{ github.event.inputs.sandbox_name }}
tf_vars_file: ${{ vars.TF_VARS_FILE }}
# Checks that all Terraform configuration files adhere to a canonical format.
- name: Check Terraform Formatting
run: terraform fmt -check
working-directory: ./infrastructure

- name: Initialise Terraform
id: init
run: terraform init -backend-config=backend.conf
working-directory: ./infrastructure
shell: bash

- name: Select Terraform Workspace
id: workspace
run: terraform workspace select -or-create ${{ github.event.inputs.sandbox_name}}
working-directory: ./infrastructure
shell: bash

- name: Run Terraform Plan
id: plan
run: |
terraform plan -input=false -no-color -var-file="${{vars.TF_VARS_FILE}}" -out tf.plan
working-directory: ./infrastructure
shell: bash

- name: Run Terraform Apply (branch over main)
run: terraform apply -auto-approve -input=false tf.plan
working-directory: ./infrastructure
75 changes: 10 additions & 65 deletions .github/workflows/tear-down-sandbox.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,16 @@ jobs:
with:
ref: ${{ inputs.git_ref }}

- name: Setup Python 3.11
uses: actions/setup-python@v6
with:
python-version: 3.11

- name: Install Python Dependencies
run: |
python3 -m venv ./venv
./venv/bin/pip3 install --upgrade pip boto3

- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v5
with:
Expand All @@ -101,71 +111,6 @@ jobs:
run: terraform destroy -auto-approve -var-file="${{ vars.TF_VARS_FILE }}"
working-directory: ./infrastructure

terraform_destroy_base_iam:
name: Terraform Destroy (base_iam)
# Only destroy base_iam in a Sandbox environment. Don't tear down in ndr-test or ndr-dev environments.
if: ${{ github.event.inputs.environment == 'development' && github.event.inputs.sandbox_name != 'ndr-dev' }}
runs-on: ubuntu-latest
needs: [terraform_destroy]
environment: ${{ inputs.environment }}
steps:
- name: Checkout
uses: actions/checkout@v6
with:
ref: ${{ inputs.git_ref }}

- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v5
with:
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/dev-github-bootstrap
aws-region: ${{ vars.AWS_REGION }}
mask-aws-account-id: true

- name: Setup Terraform
uses: hashicorp/setup-terraform@v3
with:
terraform_version: 1.14.3

- name: Initialise Terraform
run: terraform init -backend-config=bucket=ndr-dev-terraform-state-${{ secrets.AWS_ACCOUNT_ID }}
working-directory: ./base_iam

- name: Select Terraform Workspace
run: terraform workspace select ${{ inputs.sandbox_name }}
working-directory: ./base_iam

- name: Run Terraform Destroy
run: terraform destroy -auto-approve -var-file="${{ vars.TF_VARS_FILE }}" -var aws_account_id=${{ secrets.AWS_ACCOUNT_ID }}
working-directory: ./base_iam

cleanup_resources:
name: Cleanup Resources
runs-on: ubuntu-latest
needs: [terraform_destroy_base_iam]
environment: ${{ inputs.environment }}
steps:
- name: Checkout
uses: actions/checkout@v6
with:
ref: ${{ inputs.git_ref }}

- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v5
with:
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/dev-github-bootstrap
aws-region: ${{ vars.AWS_REGION }}
mask-aws-account-id: true

- name: Setup Python 3.11
uses: actions/setup-python@v6
with:
python-version: 3.11

- name: Install Python Dependencies
run: |
python3 -m venv ./venv
./venv/bin/pip3 install --upgrade pip boto3

- name: Run Cleanup Script (Terraform Workspace)
run: ./venv/bin/python3 -u scripts/cleanup_terraform_states.py ${{ inputs.sandbox_name }}

Expand Down
42 changes: 0 additions & 42 deletions base_iam/Makefile

This file was deleted.

2 changes: 0 additions & 2 deletions base_iam/dev.tfvars

This file was deleted.

Loading
Loading