Skip to content

Commit 6c5881c

Browse files
committed
CCM-8574: rework layer build
1 parent 8385f21 commit 6c5881c

File tree

14 files changed

+91
-19
lines changed

14 files changed

+91
-19
lines changed

infrastructure/terraform/components/app/pre.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ npm ci
44

55
npm run generate-dependencies --workspaces --if-present
66

7-
$root_dir/lambdas/layers/pdfjs/package.sh
7+
$root_dir/lambdas/layers/pdfjs/build.sh

infrastructure/terraform/components/sandbox/pre.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ if [ -z "$SKIP_SANDBOX_INSTALL" ]; then npm ci; fi
44

55
npm run generate-dependencies --workspaces --if-present
66

7-
$root_dir/lambdas/layers/pdfjs/package.sh
7+
$root_dir/lambdas/layers/pdfjs/build.sh

infrastructure/terraform/modules/backend-api/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ No requirements.
3737
| <a name="module_get_template_lambda"></a> [get\_template\_lambda](#module\_get\_template\_lambda) | ../lambda-function | n/a |
3838
| <a name="module_lambda_copy_scanned_object_to_internal"></a> [lambda\_copy\_scanned\_object\_to\_internal](#module\_lambda\_copy\_scanned\_object\_to\_internal) | ../lambda-function | n/a |
3939
| <a name="module_lambda_delete_failed_scanned_object"></a> [lambda\_delete\_failed\_scanned\_object](#module\_lambda\_delete\_failed\_scanned\_object) | ../lambda-function | n/a |
40+
| <a name="module_lambda_layer_pdfjs"></a> [lambda\_layer\_pdfjs](#module\_lambda\_layer\_pdfjs) | ../lambda_layer | n/a |
4041
| <a name="module_lambda_set_file_virus_scan_status"></a> [lambda\_set\_file\_virus\_scan\_status](#module\_lambda\_set\_file\_virus\_scan\_status) | ../lambda-function | n/a |
4142
| <a name="module_lambda_validate_letter_template_files"></a> [lambda\_validate\_letter\_template\_files](#module\_lambda\_validate\_letter\_template\_files) | ../lambda-function | n/a |
4243
| <a name="module_list_template_lambda"></a> [list\_template\_lambda](#module\_list\_template\_lambda) | ../lambda-function | n/a |

infrastructure/terraform/modules/backend-api/lambda_layer_version_pdfjs.tf

Lines changed: 0 additions & 7 deletions
This file was deleted.

infrastructure/terraform/modules/backend-api/locals.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ locals {
33

44
monorepo_root = abspath("${path.module}/../../../..")
55
lambdas_source_code_dir = abspath("${local.monorepo_root}/lambdas")
6-
pdfjs_layer_filepath = abspath("${local.lambdas_source_code_dir}/layers/pdfjs/dist/layer.zip")
6+
pdfjs_layer_dir = abspath("${local.lambdas_source_code_dir}/layers/pdfjs")
77

88
openapi_spec = templatefile("${path.module}/spec.tmpl.json", {
99
AWS_REGION = var.region
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
module "lambda_layer_pdfjs" {
2+
source = "../lambda_layer"
3+
name = "${local.csi}-nodejs20-pdfjs-dist"
4+
description = "pdfjs-dist dependencies for nodejs20.x"
5+
layer_dir = local.pdfjs_layer_dir
6+
source_dir = "dist/layer"
7+
nodejs_runtime_version = "20"
8+
}

infrastructure/terraform/modules/backend-api/module_lambda_validate_letter_template_files.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ module "lambda_validate_letter_template_files" {
77
filename = module.build_template_lambda.zips[local.backend_lambda_entrypoints.validate_letter_template_files].path
88
function_name = "${local.csi}-validate-letter-template-files"
99
handler = "validate-letter-template-files.handler"
10-
layer_arns = [aws_lambda_layer_version.pdfjs.arn]
10+
layer_arns = [module.lambda_layer_pdfjs.layer_arn]
1111
log_retention_in_days = var.log_retention_in_days
1212
memory_size = 1024
1313
source_code_hash = module.build_template_lambda.zips[local.backend_lambda_entrypoints.validate_letter_template_files].base64sha256
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<!-- BEGIN_TF_DOCS -->
2+
<!-- markdownlint-disable -->
3+
<!-- vale off -->
4+
5+
## Requirements
6+
7+
No requirements.
8+
## Inputs
9+
10+
| Name | Description | Type | Default | Required |
11+
|------|-------------|------|---------|:--------:|
12+
| <a name="input_description"></a> [description](#input\_description) | Description of what your Lambda Layer does | `string` | n/a | yes |
13+
| <a name="input_layer_dir"></a> [layer\_dir](#input\_layer\_dir) | Path to the root directory of the layer code | `string` | n/a | yes |
14+
| <a name="input_name"></a> [name](#input\_name) | Unique name for your Lambda Layer | `string` | n/a | yes |
15+
| <a name="input_nodejs_runtime_version"></a> [nodejs\_runtime\_version](#input\_nodejs\_runtime\_version) | Node.js runtime version | `string` | `"20"` | no |
16+
| <a name="input_output_dir"></a> [output\_dir](#input\_output\_dir) | Name of the output directory (relative to layer\_dir) | `string` | `"dist"` | no |
17+
| <a name="input_source_dir"></a> [source\_dir](#input\_source\_dir) | Name of the source code directory (relative to layer\_dir) | `string` | n/a | yes |
18+
## Modules
19+
20+
No modules.
21+
## Outputs
22+
23+
| Name | Description |
24+
|------|-------------|
25+
| <a name="output_layer_arn"></a> [layer\_arn](#output\_layer\_arn) | n/a |
26+
<!-- vale on -->
27+
<!-- markdownlint-enable -->
28+
<!-- END_TF_DOCS -->
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
data "archive_file" "zip" {
2+
type = "zip"
3+
output_path = "${var.layer_dir}/${var.output_dir}/layer.zip"
4+
source_dir = "${var.layer_dir}/${var.source_dir}"
5+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
resource "aws_lambda_layer_version" "lambda_layer" {
2+
layer_name = var.name
3+
description = var.description
4+
filename = data.archive_file.zip.output_path
5+
source_code_hash = data.archive_file.zip.output_base64sha256
6+
compatible_runtimes = ["nodejs${var.nodejs_runtime_version}.x"]
7+
}

0 commit comments

Comments
 (0)