Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -196,4 +196,5 @@ Select a target environment in postman
Run the collection
The collections must be kept in sync manually

trigger build
<!-- vale on -->
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
{
"assembly": {
"duplex": true,
"envelopeId": "economy-c5",
"features": [
"ADMAIL"
],
"paper": {
"colour": "WHITE",
"id": "paper-std-white-80",
"name": "Standard White 80gsm",
"recycled": true,
"size": "A4",
"weightGSM": 80
},
"printColour": "COLOUR"
},
"billingId": "insert-admail-colour",
"constraints": {
"blackCoveragePercentage": {
"operator": "LESS_THAN",
"value": 20
},
"colourCoveragePercentage": {
"operator": "LESS_THAN",
"value": 10
},
"deliveryDays": {
"operator": "LESS_THAN",
"value": 2
},
"sheets": {
"operator": "LESS_THAN",
"value": 5
},
"sides": {
"operator": "LESS_THAN",
"value": 10
}
},
"createdAt": "2026-01-12T00:00:00.000Z",
"description": "Admail economy tariff with whitemail envelope and colour printing",
"id": "notify-admail-colour-whitemail",
"name": "Admail (colour whitemail)",
"postage": {
"deliveryDays": 4,
"id": "admail-economy",
"maxThicknessMm": 5,
"maxWeightGrams": 100,
"size": "STANDARD"
},
"status": "PROD",
"updatedAt": "2026-01-12T00:00:00.000Z",
"version": 1
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"approval": "APPROVED",
"id": "supplier1-notify-admail-colour-whitemail",
"packSpecificationId": "notify-admail-colour-whitemail",
"status": "PROD",
"supplierId": "supplier1"
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,12 @@ resource "aws_api_gateway_base_path_mapping" "main" {
api_id = aws_api_gateway_rest_api.main.id
stage_name = aws_api_gateway_stage.main.stage_name
domain_name = aws_api_gateway_domain_name.main.domain_name
depends_on = [
aws_api_gateway_stage.main,
aws_api_gateway_domain_name.main
]

lifecycle {
replace_triggered_by = [aws_api_gateway_rest_api.main]
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ resource "aws_api_gateway_rest_api" "main" {
description = "Suppliers API"
disable_execute_api_endpoint = var.disable_gateway_execute_endpoint

endpoint_configuration {
types = ["REGIONAL"]
}

lifecycle {
replace_triggered_by = [terraform_data.rest_api_security_policy]
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
locals {
rest_api_security_policy = "SecurityPolicy_TLS12_PFS_2025_EDGE"
rest_api_endpoint_access_mode = "STRICT"
# Endpoint type for the REST API
# Security policy is managed at the custom domain level (see api_gateway_domain.tf: security_policy = "TLS_1_2")
# STRICT endpoint access mode is not supported with REGIONAL endpoints
rest_api_endpoint_type = "REGIONAL"
}

resource "terraform_data" "rest_api_security_policy" {
input = {
security_policy = local.rest_api_security_policy
endpoint_access_mode = local.rest_api_endpoint_access_mode
endpoint_type = local.rest_api_endpoint_type
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -61,4 +61,8 @@ resource "aws_api_gateway_stage" "main" {
"status" : "$context.status"
})
}

lifecycle {
replace_triggered_by = [aws_api_gateway_rest_api.main]
}
}
2 changes: 0 additions & 2 deletions infrastructure/terraform/components/api/locals.tf
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ locals {
openapi_spec = templatefile("${path.module}/resources/spec.tmpl.json", {
APIG_EXECUTION_ROLE_ARN = aws_iam_role.api_gateway_execution_role.arn
AWS_REGION = var.region
SECURITY_POLICY = local.rest_api_security_policy
ENDPOINT_ACCESS_MODE = local.rest_api_endpoint_access_mode
AUTHORIZER_LAMBDA_ARN = module.authorizer_lambda.function_arn
GET_LETTER_LAMBDA_ARN = module.get_letter.function_arn
GET_LETTERS_LAMBDA_ARN = module.get_letters.function_arn
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -358,6 +358,9 @@
]
}
},
"x-amazon-apigateway-endpoint-access-mode": "${ENDPOINT_ACCESS_MODE}",
"x-amazon-apigateway-security-policy": "${SECURITY_POLICY}"
"x-amazon-apigateway-endpoint-configuration": {
"types": [
"REGIONAL"
]
}
}
3 changes: 2 additions & 1 deletion scripts/devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# syntax=docker/dockerfile:1
FROM mcr.microsoft.com/devcontainers/base:ubuntu
# Pin to a supported Ubuntu release; floating :ubuntu can move to unsupported codenames.
FROM mcr.microsoft.com/devcontainers/base:ubuntu-24.04

# Copy CA certs and install Ruby and Go via Ubuntu packages (much faster than building from source)
# Also install development libraries needed for Python compilation via asdf
Expand Down
Loading