Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
f89a9eb
eli-193 adding in lambda build to deployment
eddalmond1 Jun 11, 2025
0bce2f3
eli-193 adding checkout repo
eddalmond1 Jun 11, 2025
34c7ccc
eli-193 adding environment for publish
eddalmond1 Jun 11, 2025
c63af7d
eli-193 further bug fix
eddalmond1 Jun 11, 2025
6d299c0
eli-193 changing tf command to apply
eddalmond1 Jun 11, 2025
f4b26e2
eli-139 changing action to be apply not plan
eddalmond1 Jun 11, 2025
c7c3c5d
eli-139 updating permissions to allow networking stack deployment fro…
eddalmond1 Jun 12, 2025
bc6face
eli-139 making ssm deploy optional
eddalmond1 Jun 12, 2025
4ae5d12
eli-139 trying new approach to conditional creation of ssm
eddalmond1 Jun 12, 2025
36cb4f9
making acm imported cert take into account count on ssm params
eddalmond1 Jun 12, 2025
f01ffc5
reverting ACM + SSM changes
eddalmond1 Jun 12, 2025
7c41334
eli-139 changing alias name for networking ssm key
eddalmond1 Jun 12, 2025
dbb02e1
eli-139 updating permissions for api gateway
eddalmond1 Jun 12, 2025
f82e5b2
eli-139 amending api gateway permissions to enable deployment
eddalmond1 Jun 13, 2025
4dc466e
eli-139 adding dependencies for api gateway creation
eddalmond1 Jun 13, 2025
2604350
eli-139 bugfix on api gateway resource
eddalmond1 Jun 13, 2025
0e076a9
eli-139 reverting policies as handled on another ticket
eddalmond1 Jun 13, 2025
c5f0a65
Merge remote-tracking branch 'origin/main' into bugfix/eja-deployment…
eddalmond1 Jun 17, 2025
7ed5088
eli-139 adding checkov skip for global read permissions in API Gatewa…
eddalmond1 Jun 17, 2025
70bafbb
Merge branch 'main' into bugfix/eja-deployment-pipeline
eddalmond1 Jun 17, 2025
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
30 changes: 22 additions & 8 deletions .github/workflows/cicd-3-deploy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,8 @@ jobs:
deploy:
name: "Deploy to an environment"
runs-on: ubuntu-latest
needs: [ metadata ]
needs: [metadata]
environment: ${{ inputs.environment }}
timeout-minutes: 10
permissions:
id-token: write
Expand All @@ -93,7 +94,21 @@ jobs:
- name: "Set up Python"
uses: actions/setup-python@v5
with:
python-version: '3.13'
python-version: "3.13"

- name: "Checkout Repository"
uses: actions/checkout@v4

- name: "Build lambda artefact"
run: |
make dependencies install-python
make build

- name: "Upload lambda artefact"
uses: actions/upload-artifact@v4
with:
name: lambda
path: dist/lambda.zip

- name: "Download Built Lambdas"
uses: actions/download-artifact@v4
Expand All @@ -118,10 +133,10 @@ jobs:
# just planning for now for safety and until review
run: |
mkdir -p ./build
echo "Running: make terraform env=$ENVIRONMENT workspace=$WORKSPACE stack=networking tf-command=plan"
make terraform env=$ENVIRONMENT stack=networking tf-command=plan workspace=$WORKSPACE
echo "Running: make terraform env=$ENVIRONMENT workspace=$WORKSPACE stack=api-layer tf-command=plan"
make terraform env=$ENVIRONMENT stack=api-layer tf-command=plan workspace=$WORKSPACE
echo "Running: make terraform env=$ENVIRONMENT workspace=$WORKSPACE stack=networking tf-command=apply"
make terraform env=$ENVIRONMENT stack=networking tf-command=apply workspace=$WORKSPACE
echo "Running: make terraform env=$ENVIRONMENT workspace=$WORKSPACE stack=api-layer tf-command=apply"
make terraform env=$ENVIRONMENT stack=api-layer tf-command=apply workspace=$WORKSPACE
working-directory: ./infrastructure

- name: "Tag the deployment using incremental semantic versioning"
Expand Down Expand Up @@ -168,8 +183,7 @@ jobs:
body: |
Auto-release created during deployment.
draft: false
prerelease: ${{ inputs.environment == 'ref' }}

prerelease: ${{ inputs.environment == 'preprod' }}

# TODO: complete notify step
# success:
Expand Down
27 changes: 23 additions & 4 deletions infrastructure/modules/api_gateway/iam.tf
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,38 @@ resource "aws_iam_role" "api_gateway" {
}

data "aws_iam_policy_document" "api_gateway_logging" {
#checkov:skip=CKV_AWS_356: Wildcard permissions needed for global log event reads
statement {
sid = "AllowCloudWatchLogging"
sid = "AllowCreateLogGroup"
effect = "Allow"
actions = [
"logs:CreateLogGroup"
]
resources = [
"arn:aws:logs:${var.region}:${data.aws_caller_identity.current.account_id}:*"
]
}
statement {
sid = "AllowLogStreamAndEvents"
effect = "Allow"
actions = [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
]
resources = [
"arn:aws:logs:${var.region}:${data.aws_caller_identity.current.account_id}:log-group:/aws/apigateway/*"
]
}
statement {
sid = "AllowDescribeAndGet"
effect = "Allow"
actions = [
"logs:DescribeLogGroups",
"logs:DescribeLogStreams",
"logs:PutLogEvents",
"logs:GetLogEvents",
"logs:FilterLogEvents"
]
resources = [aws_cloudwatch_log_group.api_gateway.arn]
resources = ["*"]
}
}

Expand Down
8 changes: 8 additions & 0 deletions infrastructure/stacks/api-layer/api_gateway.tf
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,14 @@ resource "aws_api_gateway_domain_name" "check_eligibility" {
lifecycle {
create_before_destroy = true
}

depends_on = [
aws_s3_object.pem_file,
data.aws_acm_certificate.imported_cert,
data.aws_acm_certificate.validation_cert,
module.s3_truststore_bucket,
module.eligibility_signposting_api_gateway
]
}

resource "aws_api_gateway_base_path_mapping" "eligibility-signposting-api" {
Expand Down
2 changes: 1 addition & 1 deletion infrastructure/stacks/api-layer/data.tf
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ data "aws_acm_certificate" "validation_cert" {
}

data "aws_kms_alias" "networking_ssm_key" {
name = "alias/dev-Networking-ssm-parameters"
name = "alias/${var.environment}-Networking-ssm-parameters"
}

data "aws_ssm_parameter" "mtls_api_client_cert" {
Expand Down