Skip to content

Commit 8696cd5

Browse files
authored
Merge pull request #135 from ExpediaGroup/feature/fix_dd_secret
Feature/fix dd secret
2 parents 7cba3e9 + 18f653c commit 8696cd5

File tree

3 files changed

+14
-12
lines changed

3 files changed

+14
-12
lines changed

common.tf

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,19 +51,21 @@ data "aws_iam_policy_document" "waggle_dance_glue_policy" {
5151

5252

5353
data "aws_secretsmanager_secret" "datadog_key" {
54+
count = length(var.datadog_key_secret_name) > 0 ? 1 : 0
5455
name = var.datadog_key_secret_name
5556
}
5657

5758
data "aws_secretsmanager_secret_version" "datadog_key" {
58-
count = length(data.aws_secretsmanager_secret.datadog_key) > 0 ? 1 : 0
59-
secret_id = data.aws_secretsmanager_secret.datadog_key.id
59+
count = length(var.datadog_key_secret_name) > 0 ? 1 : 0
60+
secret_id = data.aws_secretsmanager_secret.datadog_key[0].id
6061
}
6162

62-
locals {
63-
datadog_keys = jsondecode(data.aws_secretsmanager_secret_version.datadog_key[0].secret_string)
63+
data "external" "datadog_key" {
64+
count = length(var.datadog_key_secret_name) > 0 ? 1 : 0
65+
program = ["echo", "${data.aws_secretsmanager_secret_version.datadog_key[0].secret_string}"]
6466
}
6567

6668
provider "datadog" {
67-
api_key = local.datadog_keys.api_key != null ? local.datadog_keys.api_key : ""
68-
app_key = local.datadog_keys.app_key != null ? local.datadog_keys.app_key : ""
69+
api_key = chomp(data.external.datadog_key[0].result["api_key"])
70+
app_key = chomp(data.external.datadog_key[0].result["app_key"])
6971
}

templates.tf

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -197,11 +197,11 @@ data "template_file" "datadog-agent" {
197197
template = file("${path.module}/templates/datadog-agent.json")
198198

199199
vars = {
200-
region = var.aws_region
201-
loggroup = var.wd_instance_type == "ecs" ? join("", aws_cloudwatch_log_group.waggledance_ecs.*.name) : ""
202-
datadog_secret_key = jsondecode(data.aws_secretsmanager_secret_version.datadog_key[0].secret_string).api_key
203-
wd_instance_type = var.wd_instance_type
204-
metrics_port = var.metrics_port
200+
region = var.aws_region
201+
loggroup = var.wd_instance_type == "ecs" ? join("", aws_cloudwatch_log_group.waggledance_ecs.*.name) : ""
202+
datadog_secret_key = length(var.datadog_key_secret_name) > 0 ? chomp(data.external.datadog_key[0].result["api_key"]) : ""
203+
wd_instance_type = var.wd_instance_type
204+
metrics_port = var.metrics_port
205205
datadog_agent_version = var.datadog_agent_version
206206
}
207207
}

variables.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,7 @@ variable "tcp_keepalive_probes" {
381381
variable "datadog_key_secret_name" {
382382
description = "Name of the secret containing the DataDog API key. This needs to be created manually in AWS secrets manager. This is only applicable to ECS deployments."
383383
type = string
384-
default = null
384+
default = ""
385385
}
386386

387387
variable "datadog_agent_version" {

0 commit comments

Comments
 (0)