Skip to content

Commit 4fc7453

Browse files
committed
Merge branch main into feature/CCM-13476_print-supplier-statuses
2 parents 9b751f6 + e75d9e2 commit 4fc7453

100 files changed

Lines changed: 9867 additions & 8824 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.coverage

-52 KB
Binary file not shown.

.github/actions/trivy-iac/action.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ runs:
88
run: |
99
components_exit_code=0
1010
modules_exit_code=0
11-
11+
asdf plugin add trivy || true
12+
asdf install trivy || true
1213
./scripts/terraform/trivy-scan.sh --mode iac ./infrastructure/terraform/components || components_exit_code=$?
1314
./scripts/terraform/trivy-scan.sh --mode iac ./infrastructure/terraform/modules || modules_exit_code=$?
1415

.github/actions/trivy-package/action.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ runs:
77
shell: bash
88
run: |
99
exit_code=0
10-
10+
asdf plugin add trivy || true
11+
asdf install trivy || true
1112
./scripts/terraform/trivy-scan.sh --mode package . || exit_code=$?
1213
1314
if [ $exit_code -ne 0 ]; then

.github/workflows/stage-1-commit.yaml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -166,8 +166,6 @@ jobs:
166166
uses: actions/checkout@v4
167167
- name: "Setup ASDF"
168168
uses: asdf-vm/actions/setup@b7bcd026f18772e44fe1026d729e1611cc435d47 # v4
169-
- name: "Perform Setup"
170-
uses: ./.github/actions/setup
171169
- name: "Trivy IaC Scan"
172170
uses: ./.github/actions/trivy-iac
173171
trivy-package:
@@ -185,8 +183,6 @@ jobs:
185183
uses: actions/checkout@v4
186184
- name: "Setup ASDF"
187185
uses: asdf-vm/actions/setup@1902764435ca0dd2f3388eea723a4f92a4eb8302
188-
- name: "Perform Setup"
189-
uses: ./.github/actions/setup
190186
- name: "Trivy Package Scan"
191187
uses: ./.github/actions/trivy-package
192188
count-lines-of-code:

.github/workflows/stage-2-test.yaml

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,10 @@ jobs:
7676
with:
7777
node-version: ${{ inputs.nodejs_version }}
7878
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
79-
- uses: actions/setup-python@v6
79+
- name: "Setup Python"
80+
uses: actions/setup-python@v6
8081
with:
81-
python-version: '3.14'
82+
python-version: ${{ inputs.python_version }}
8283
- name: "Run unit test suite"
8384
run: |
8485
make test-unit
@@ -98,7 +99,10 @@ jobs:
9899
uses: actions/upload-artifact@v4
99100
with:
100101
name: python-coverage-reports
101-
path: "src/**/coverage.xml"
102+
path: |
103+
src/**/coverage.xml
104+
utils/**/coverage.xml
105+
lambdas/**/coverage.xml
102106
test-lint:
103107
name: "Linting"
104108
runs-on: ubuntu-latest
@@ -109,6 +113,10 @@ jobs:
109113
steps:
110114
- name: "Checkout code"
111115
uses: actions/checkout@v5
116+
- name: "Setup Python"
117+
uses: actions/setup-python@v6
118+
with:
119+
python-version: ${{ inputs.python_version }}
112120
- uses: ./.github/actions/node-install
113121
with:
114122
node-version: ${{ inputs.nodejs_version }}
@@ -172,7 +180,7 @@ jobs:
172180
uses: actions/download-artifact@v5
173181
with:
174182
name: python-coverage-reports
175-
path: src/
183+
path: .
176184
- name: "Perform static analysis"
177185
uses: ./.github/actions/perform-static-analysis
178186
with:

.gitignore

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,15 @@ version.json
1212

1313
# Please, add your custom content below!
1414

15+
# Don't track ephemeral local build files
16+
target/
17+
18+
# Python build artifacts
19+
*.egg-info/
20+
.eggs/
21+
build/
22+
dist/
23+
1524
# dependencies
1625
node_modules
1726
.node-version
@@ -25,6 +34,7 @@ dist
2534
output
2635
/schemas
2736
.env
37+
**/__pycache__
2838

2939
# Python
3040
__pycache__/

.gitleaksignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,4 @@ d1c0a37078cbed4fbedae044e5cbafac71717af0:utils/utils/src/__tests__/key-generatio
1818
d1c0a37078cbed4fbedae044e5cbafac71717af0:utils/utils/src/__tests__/key-generation/get-private-key.test.ts:private-key:46
1919
f0eebf1356a699213340a45f64c6b990afcbb869:infrastructure/terraform/components/dl/ssm_parameter_mesh.tf:hashicorp-tf-password:11
2020
f0eebf1356a699213340a45f64c6b990afcbb869:infrastructure/terraform/components/dl/ssm_parameter_mesh.tf:hashicorp-tf-password:16
21+
e75d9e202c1fad2c9591c4fe0e411194bf19c8f6:infrastructure/terraform/components/dl/ssm_parameter_mesh_config.tf:hashicorp-tf-password:11

.tool-versions

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ terraform 1.10.1
88
terraform-docs 0.19.0
99
trivy 0.61.0
1010
vale 3.6.0
11-
12-
1311
# ==============================================================================
1412
# The section below is reserved for Docker image versions.
1513

Makefile

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,27 @@ include scripts/init.mk
99

1010
quick-start: config clean build serve-docs # Quick start target to setup, build and serve docs @Pipeline
1111

12-
dependencies: # Install dependencies needed to build and test the project @Pipeline
13-
# TODO: Implement installation of your project dependencies
12+
dependencies:: # Install dependencies needed to build and test the project @Pipeline
13+
$(MAKE) -C src/cloudevents install
14+
$(MAKE) -C src/eventcatalogasyncapiimporter install
15+
$(MAKE) -C lambdas/mesh-poll install
16+
$(MAKE) -C lambdas/mesh-download install
17+
$(MAKE) -C utils/metric-publishers install
18+
$(MAKE) -C utils/event-publisher-py install
19+
$(MAKE) -C utils/py-mock-mesh install
20+
./scripts/set-github-token.sh
21+
npm install --workspaces
22+
$(MAKE) generate
1423

15-
generate: # Generate any autogenerated output @Pipeline
16-
npm run generate-dependencies
24+
dependencies-docs:: # Install documentation dependencies @Pipeline
25+
$(MAKE) -C docs install
1726

18-
build: # Build the project artefact @Pipeline
27+
build: dependencies-docs # Build the project artefact @Pipeline
1928
$(MAKE) -C docs build
2029

30+
generate: # Generate any autogenerated output @Pipeline
31+
npm run generate-dependencies
32+
2133
debug:
2234
$(MAKE) -C docs debug
2335

@@ -32,17 +44,16 @@ clean:: # Clean-up project resources (main) @Operations
3244
$(MAKE) -C src/cloudevents clean && \
3345
$(MAKE) -C src/eventcatalogasyncapiimporter clean && \
3446
$(MAKE) -C src/eventcatalogasyncapiimporter clean-output && \
47+
$(MAKE) -C lambdas/mesh-poll clean && \
48+
$(MAKE) -C lambdas/mesh-download clean && \
49+
$(MAKE) -C utils/metric-publishers clean && \
50+
$(MAKE) -C utils/event-publisher-py clean && \
51+
$(MAKE) -C utils/py-mock-mesh clean && \
3552
$(MAKE) -C src/python-schema-generator clean && \
3653
rm -f .version
3754
npm run clean
3855

39-
config:: _install-dependencies version # Configure development environment (main) @Configuration
40-
$(MAKE) -C docs install
41-
$(MAKE) -C src/cloudevents install
42-
$(MAKE) -C src/eventcatalogasyncapiimporter install
43-
./scripts/set-github-token.sh
44-
npm install
45-
$(MAKE) generate
56+
config:: _install-dependencies version dependencies # Configure development environment (main) @Configuration
4657

4758
serve-docs:
4859
$(MAKE) -C docs s

infrastructure/terraform/components/dl/README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ No requirements.
1717
| <a name="input_component"></a> [component](#input\_component) | The variable encapsulating the name of this component | `string` | `"dl"` | no |
1818
| <a name="input_default_tags"></a> [default\_tags](#input\_default\_tags) | A map of default tags to apply to all taggable resources within the component | `map(string)` | `{}` | no |
1919
| <a name="input_enable_dynamodb_delete_protection"></a> [enable\_dynamodb\_delete\_protection](#input\_enable\_dynamodb\_delete\_protection) | Enable DynamoDB Delete Protection on all Tables | `bool` | `true` | no |
20+
| <a name="input_enable_mock_mesh"></a> [enable\_mock\_mesh](#input\_enable\_mock\_mesh) | Enable mock mesh access (dev only). Grants lambda permission to read mock-mesh prefix in non-pii bucket. | `bool` | `false` | no |
2021
| <a name="input_enable_pdm_mock"></a> [enable\_pdm\_mock](#input\_enable\_pdm\_mock) | Flag indicating whether to deploy PDM mock API (should be false in production environments) | `bool` | `true` | no |
2122
| <a name="input_environment"></a> [environment](#input\_environment) | The name of the tfscaffold environment | `string` | n/a | yes |
2223
| <a name="input_force_destroy"></a> [force\_destroy](#input\_force\_destroy) | Flag to force deletion of S3 buckets | `bool` | `false` | no |
@@ -25,7 +26,7 @@ No requirements.
2526
| <a name="input_kms_deletion_window"></a> [kms\_deletion\_window](#input\_kms\_deletion\_window) | When a kms key is deleted, how long should it wait in the pending deletion state? | `string` | `"30"` | no |
2627
| <a name="input_log_level"></a> [log\_level](#input\_log\_level) | The log level to be used in lambda functions within the component. Any log with a lower severity than the configured value will not be logged: https://docs.python.org/3/library/logging.html#levels | `string` | `"INFO"` | no |
2728
| <a name="input_log_retention_in_days"></a> [log\_retention\_in\_days](#input\_log\_retention\_in\_days) | The retention period in days for the Cloudwatch Logs events to be retained, default of 0 is indefinite | `number` | `0` | no |
28-
| <a name="input_mesh_poll_schedule"></a> [mesh\_poll\_schedule](#input\_mesh\_poll\_schedule) | Schedule to poll MESH for messages | `string` | `"cron(0,30 8-16 ? * MON-FRI *)"` | no |
29+
| <a name="input_mesh_poll_schedule"></a> [mesh\_poll\_schedule](#input\_mesh\_poll\_schedule) | Schedule to poll MESH for messages | `string` | `"rate(5 minutes)"` | no |
2930
| <a name="input_parent_acct_environment"></a> [parent\_acct\_environment](#input\_parent\_acct\_environment) | Name of the environment responsible for the acct resources used, affects things like DNS zone. Useful for named dev environments | `string` | `"main"` | no |
3031
| <a name="input_pdm_mock_access_token"></a> [pdm\_mock\_access\_token](#input\_pdm\_mock\_access\_token) | Mock access token for PDM API authentication (used in local/dev environments) | `string` | `"mock-pdm-token"` | no |
3132
| <a name="input_pdm_use_non_mock_token"></a> [pdm\_use\_non\_mock\_token](#input\_pdm\_use\_non\_mock\_token) | Whether to use the shared APIM access token from SSM (/component/environment/apim/access\_token) instead of the mock token | `bool` | `false` | no |
@@ -42,15 +43,19 @@ No requirements.
4243
| <a name="module_kms"></a> [kms](#module\_kms) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.24/terraform-kms.zip | n/a |
4344
| <a name="module_lambda_apim_key_generation"></a> [lambda\_apim\_key\_generation](#module\_lambda\_apim\_key\_generation) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.29/terraform-lambda.zip | n/a |
4445
| <a name="module_lambda_lambda_apim_refresh_token"></a> [lambda\_lambda\_apim\_refresh\_token](#module\_lambda\_lambda\_apim\_refresh\_token) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.29/terraform-lambda.zip | n/a |
46+
| <a name="module_mesh_download"></a> [mesh\_download](#module\_mesh\_download) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.29/terraform-lambda.zip | n/a |
4547
| <a name="module_mesh_poll"></a> [mesh\_poll](#module\_mesh\_poll) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.29/terraform-lambda.zip | n/a |
4648
| <a name="module_pdm_mock"></a> [pdm\_mock](#module\_pdm\_mock) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.29/terraform-lambda.zip | n/a |
4749
| <a name="module_pdm_poll"></a> [pdm\_poll](#module\_pdm\_poll) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.29/terraform-lambda.zip | n/a |
4850
| <a name="module_pdm_uploader"></a> [pdm\_uploader](#module\_pdm\_uploader) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.29/terraform-lambda.zip | n/a |
4951
| <a name="module_print_status_handler"></a> [print\_status\_handler](#module\_print\_status\_handler) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.29/terraform-lambda.zip | n/a |
5052
| <a name="module_s3bucket_cf_logs"></a> [s3bucket\_cf\_logs](#module\_s3bucket\_cf\_logs) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.24/terraform-s3bucket.zip | n/a |
5153
| <a name="module_s3bucket_letters"></a> [s3bucket\_letters](#module\_s3bucket\_letters) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.24/terraform-s3bucket.zip | n/a |
54+
| <a name="module_s3bucket_non_pii_data"></a> [s3bucket\_non\_pii\_data](#module\_s3bucket\_non\_pii\_data) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.24/terraform-s3bucket.zip | n/a |
55+
| <a name="module_s3bucket_pii_data"></a> [s3bucket\_pii\_data](#module\_s3bucket\_pii\_data) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.24/terraform-s3bucket.zip | n/a |
5256
| <a name="module_s3bucket_static_assets"></a> [s3bucket\_static\_assets](#module\_s3bucket\_static\_assets) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.24/terraform-s3bucket.zip | n/a |
5357
| <a name="module_sqs_event_publisher_errors"></a> [sqs\_event\_publisher\_errors](#module\_sqs\_event\_publisher\_errors) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.24/terraform-sqs.zip | n/a |
58+
| <a name="module_sqs_mesh_download"></a> [sqs\_mesh\_download](#module\_sqs\_mesh\_download) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.24/terraform-sqs.zip | n/a |
5459
| <a name="module_sqs_pdm_poll"></a> [sqs\_pdm\_poll](#module\_sqs\_pdm\_poll) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.24/terraform-sqs.zip | n/a |
5560
| <a name="module_sqs_pdm_uploader"></a> [sqs\_pdm\_uploader](#module\_sqs\_pdm\_uploader) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.24/terraform-sqs.zip | n/a |
5661
| <a name="module_sqs_print_status_handler"></a> [sqs\_print\_status\_handler](#module\_sqs\_print\_status\_handler) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.30/terraform-sqs.zip | n/a |

0 commit comments

Comments
 (0)