Skip to content

Commit 7fee661

Browse files
committed
bug: fix issues preventing deployment of resources
1 parent 8bcc3da commit 7fee661

File tree

5 files changed

+28
-18
lines changed

5 files changed

+28
-18
lines changed

assets/custom-message-sender/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# ------------------------------------------------------------------- base ---
22

3-
FROM node:18-alpine as base
3+
FROM node:18 as base
44

55
RUN mkdir -p /opt/app
66
WORKDIR /opt/app

assets/custom-message-sender/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"opa-build:sample_policy": "opa build -t wasm -e sample/validate ./src/opa/fixtures/sample_policy.rego && tar -zxv -C ./src/opa/fixtures/ -f bundle.tar.gz '/policy.wasm' && mv ./src/opa/fixtures/policy.wasm ./src/opa/fixtures/sample_policy.wasm",
1616
"opa-test": "npm run opa-test:sample_policy",
1717
"opa-test:sample_policy": "opa test -v ./src/opa/fixtures/sample_policy.rego ./src/opa/fixtures/sample_policy_test.rego",
18-
"test": "jest",
18+
"test": "jest --detectOpenHandles --forceExit",
1919
"test:coverage": "jest --coverage",
2020
"tsc": "npx tsc",
2121
"lint": "npx eslint src/**/*.ts"

main.tf

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
locals {
2+
name = coalesce(module.this.name, var.name, "cognito-custom-message-sender")
23
enabled = module.this.enabled
34
aws_account_id = try(coalesce(var.aws_account_id, data.aws_caller_identity.current[0].account_id), "")
4-
aws_region_name = try(coalesce(var.aws_region_name, data.aws_caller_identity.current[0].region), "")
5+
aws_region_name = try(coalesce(var.aws_region_name, data.aws_region.current[0].name), "")
56

67
email_sender_enabled = false
78

@@ -12,7 +13,11 @@ locals {
1213
}
1314

1415
data "aws_caller_identity" "current" {
15-
count = local.enabled && (var.aws_account_id == "" || var.aws_region_name == "") ? 1 : 0
16+
count = local.enabled && var.aws_account_id == "" ? 1 : 0
17+
}
18+
19+
data "aws_region" "current" {
20+
count = local.enabled && var.aws_region_name == "" ? 1 : 0
1621
}
1722

1823
# ============================================================ message-sender ===
@@ -21,30 +26,31 @@ module "message_sender_label" {
2126
source = "cloudposse/label/null"
2227
version = "0.25.0"
2328

24-
name = var.name == "" ? "cognito-custom-message-sender" : var.name
29+
name = local.name
2530
context = module.this.context
2631
}
2732

2833
module "message_sender_code" {
2934
source = "sgtoj/artifact-packager/docker"
30-
version = "1.0.0"
35+
version = "1.3.1"
3136

3237
artifact_src_path = "/tmp/package.zip"
33-
docker_build_context = abspath("${path.module}/assets/cognito-message-sender")
38+
docker_build_context = abspath("${path.module}/assets/custom-message-sender")
3439
docker_build_target = "package"
3540

3641
docker_build_args = {
3742
SERVICE_OPA_POLICY_ENCODED = base64encode(local.sms_sender_policy_content)
3843
}
3944

40-
4145
context = module.message_sender_label.context
4246
}
4347

4448
resource "aws_cloudwatch_log_group" "message_sender" {
45-
count = local.enabled ? 1 : 0
49+
count = local.enabled ? 1 : 0
50+
4651
name = "/aws/lambda/${module.message_sender_label.id}"
4752
retention_in_days = 90
53+
tags = module.message_sender_label.tags
4854
}
4955

5056
resource "aws_lambda_function" "message_sender" {
@@ -64,7 +70,7 @@ resource "aws_lambda_function" "message_sender" {
6470

6571
environment {
6672
variables = {
67-
LOG_LEVEL = var.service_log_level ? "debug" : "info"
73+
LOG_LEVEL = var.service_log_level
6874
KMS_KEY_ID = module.kms_key.key_arn
6975
DDB_TABLE_HISTORY_NAME = aws_dynamodb_table.history[0].name
7076
DDB_TABLE_HISTORY_TTL = 43200
@@ -100,11 +106,11 @@ module "history_label" {
100106
version = "0.25.0"
101107

102108
attributes = ["history"]
103-
context = module.this.context
109+
context = module.message_sender_label.context
104110
}
105111

106112
resource "aws_dynamodb_table" "history" {
107-
count = module.this.enabled ? 1 : 0
113+
count = module.message_sender_label.enabled ? 1 : 0
108114

109115
name = module.history_label.id
110116
billing_mode = "PAY_PER_REQUEST"
@@ -160,18 +166,18 @@ module "kms_key" {
160166
source = "cloudposse/kms-key/aws"
161167
version = "0.12.1"
162168

163-
alias = "${var.kms_key_alias_prefix}/${module.this.name}"
169+
alias = "${var.kms_key_alias_prefix}/${module.message_sender_label.name}"
164170
deletion_window_in_days = 7
165171

166-
context = module.this.context
172+
context = module.message_sender_label.context
167173
}
168174

169175
# ---------------------------------------------------------------------- iam ---
170176

171177
resource "aws_iam_role" "this" {
172178
count = local.enabled ? 1 : 0
173179

174-
name = module.this.id
180+
name = module.message_sender_label.id
175181
description = ""
176182

177183
assume_role_policy = jsonencode({
@@ -192,7 +198,7 @@ resource "aws_iam_role" "this" {
192198
policy = data.aws_iam_policy_document.this[0].json
193199
}
194200

195-
tags = module.this.tags
201+
tags = module.message_sender_label.tags
196202
}
197203

198204
data "aws_iam_policy_document" "this" {

variables.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ variable "kms_key_alias_prefix" {
66
default = "alias"
77

88
validation {
9-
condition = can(regex("^alias[a-zA-Z0-9/_-]*[^/]$", var.kms_key_alias_prefix))
9+
condition = can(regex("^alias[a-zA-Z0-9/_-]*[^/]*$", var.kms_key_alias_prefix))
1010
error_message = "KMS key alias prefix must start with 'alias' and only have alphanumeric, dashes, underscores, colons or slashes but doesn't end with a slash"
1111
}
1212
}
@@ -33,7 +33,7 @@ variable "sms_sender_policy_content" {
3333
type = string
3434

3535
validation {
36-
condition = contains(var.sms_sender_policy_content, "package cognito_custom_sender_sms_policy")
36+
condition = startswith(var.sms_sender_policy_content, "package cognito_custom_sender_sms_policy")
3737
error_message = "The SMS sender policy content must include 'package cognito_custom_sender_sms_policy'."
3838
}
3939
}

version.tf renamed to versions.tf

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,9 @@ terraform {
66
source = "hashicorp/aws"
77
version = ">= 5.0.0, < 6.0.0"
88
}
9+
docker = {
10+
source = "kreuzwerker/docker"
11+
version = ">= 3.0.0, < 4.0.0"
12+
}
913
}
1014
}

0 commit comments

Comments
 (0)