diff --git a/modules/ecs_fargate/README.md b/modules/ecs_fargate/README.md index da14d45..867e9a0 100644 --- a/modules/ecs_fargate/README.md +++ b/modules/ecs_fargate/README.md @@ -253,6 +253,7 @@ No modules. | [dd\_image\_version](#input\_dd\_image\_version) | Datadog Agent image version | `string` | `"latest"` | no | | [dd\_is\_datadog\_dependency\_enabled](#input\_dd\_is\_datadog\_dependency\_enabled) | Whether the Datadog Agent container is a dependency for other containers | `bool` | `false` | no | | [dd\_log\_collection](#input\_dd\_log\_collection) | Configuration for Datadog Log Collection |
object({
enabled = optional(bool, false)
fluentbit_config = optional(object({
registry = optional(string, "public.ecr.aws/aws-observability/aws-for-fluent-bit")
image_version = optional(string, "stable")
cpu = optional(number)
memory_limit_mib = optional(number)
is_log_router_essential = optional(bool, false)
is_log_router_dependency_enabled = optional(bool, false)
environment = optional(list(object({
name = string
value = string
})), [])
log_router_health_check = optional(object({
command = optional(list(string))
interval = optional(number)
retries = optional(number)
start_period = optional(number)
timeout = optional(number)
}),
{
command = ["CMD-SHELL", "exit 0"]
interval = 5
retries = 3
start_period = 15
timeout = 5
}
)
firelens_options = optional(object({
config_file_type = optional(string)
config_file_value = optional(string)
}))
log_driver_configuration = optional(object({
host_endpoint = optional(string, "http-intake.logs.datadoghq.com")
tls = optional(bool)
compress = optional(string)
service_name = optional(string)
source_name = optional(string)
message_key = optional(string)
}),
{
host_endpoint = "http-intake.logs.datadoghq.com"
}
)
mountPoints = optional(list(object({
sourceVolume : string,
containerPath : string,
readOnly : bool
})), [])
dependsOn = optional(list(object({
containerName : string,
condition : string
})), [])
}),
{
fluentbit_config = {
registry = "public.ecr.aws/aws-observability/aws-for-fluent-bit"
image_version = "stable"
log_driver_configuration = {
host_endpoint = "http-intake.logs.datadoghq.com"
}
}
}
)
})
|
{
"enabled": false,
"fluentbit_config": {
"is_log_router_essential": false,
"log_driver_configuration": {
"host_endpoint": "http-intake.logs.datadoghq.com"
}
}
}
| no | +| [dd\_manage\_execution\_role\_secret\_permissions](#input\_dd\_manage\_execution\_role\_secret\_permissions) | Whether to create and attach secret access permissions to the execution role. Set to false if your execution role already has the necessary secretsmanager:GetSecretValue permissions. | `bool` | `true` | no | | [dd\_memory\_limit\_mib](#input\_dd\_memory\_limit\_mib) | Datadog Agent container memory limit in MiB | `number` | `null` | no | | [dd\_registry](#input\_dd\_registry) | Datadog Agent image registry | `string` | `"public.ecr.aws/datadog/agent"` | no | | [dd\_service](#input\_dd\_service) | The task service name. Used for tagging (UST) | `string` | `null` | no | diff --git a/modules/ecs_fargate/iam.tf b/modules/ecs_fargate/iam.tf index 8e3c03d..fe480c2 100644 --- a/modules/ecs_fargate/iam.tf +++ b/modules/ecs_fargate/iam.tf @@ -12,7 +12,7 @@ # in order to provide permissions to access the secret locals { - create_dd_secret_perms = var.dd_api_key_secret != null + create_dd_secret_perms = var.dd_api_key_secret != null && var.dd_manage_execution_role_secret_permissions edit_execution_role = var.execution_role != null && local.create_dd_secret_perms create_execution_role = var.execution_role == null && local.create_dd_secret_perms parsed_exec_role_name = var.execution_role == null ? null : split("/", var.execution_role.arn)[length(split("/", var.execution_role.arn)) - 1] diff --git a/modules/ecs_fargate/variables.tf b/modules/ecs_fargate/variables.tf index 0de5c4c..49f3b2a 100644 --- a/modules/ecs_fargate/variables.tf +++ b/modules/ecs_fargate/variables.tf @@ -25,6 +25,12 @@ variable "dd_api_key_secret" { } } +variable "dd_manage_execution_role_secret_permissions" { + description = "Whether to create and attach secret access permissions to the execution role. Set to false if your execution role already has the necessary secretsmanager:GetSecretValue permissions." + type = bool + default = true +} + variable "dd_registry" { description = "Datadog Agent image registry" type = string