Skip to content

Commit 1e3afaa

Browse files
committed
NDR-235 add ssm params for certs and keys
1 parent 2ad9c30 commit 1e3afaa

File tree

3 files changed

+43
-0
lines changed

3 files changed

+43
-0
lines changed

infrastructure/modules/ssm_parameter/main.tf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,14 @@ resource "aws_ssm_parameter" "secret" {
33
type = var.type
44
description = var.description
55
value = var.value
6+
key_id = var.key_id
67
depends_on = [var.resource_depends_on]
78
tags = {
89
Name = "${terraform.workspace}-ssm"
910
}
11+
12+
lifecycle {
13+
ignore_changes = var.ignore_changes
14+
}
1015
}
1116

infrastructure/modules/ssm_parameter/variable.tf

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,15 @@ variable "owner" {
3737
description = "Owner tag used to identify the team or individual responsible for the resource."
3838
type = string
3939
}
40+
41+
variable "key_id" {
42+
type = string
43+
default = null
44+
description = "KMS Key ID or ARN to encrypt the SecureString parameter"
45+
}
46+
47+
variable "ignore_changes" {
48+
type = list(string)
49+
default = []
50+
description = "List of resource attributes to ignore changes for"
51+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Creating Params to hold a copy of externally signed client cert and key
2+
module "ssm_param_external_client_cert" {
3+
# count = var.externally_signed_certs ? 1 : 0
4+
source = "./modules/ssm_parameter"
5+
environment = var.environment
6+
owner = var.owner
7+
name = "external_client_cert"
8+
type = "SecureString"
9+
description = "Externally signed client certificate for mTLS"
10+
value = "REPLACE_ME"
11+
key_id = module.sns_encryption_key.key_id
12+
ignore_changes = ["value"]
13+
}
14+
15+
module "ssm_param_external_client_key" {
16+
# count = var.externally_signed_certs ? 1 : 0
17+
source = "./modules/ssm_parameter"
18+
environment = var.environment
19+
owner = var.owner
20+
name = "external_client_key"
21+
type = "SecureString"
22+
description = "Externally signed client certificate for mTLS"
23+
value = "REPLACE_ME"
24+
key_id = module.sns_encryption_key.key_id
25+
ignore_changes = ["value"]
26+
}

0 commit comments

Comments
 (0)