@@ -244,7 +244,7 @@ locals {
244244 )
245245 ]
246246
247- rofs_volumes = [
247+ rofs_volumes = var . dd_readonly_root_filesystem ? [
248248 {
249249 name = " agent-config"
250250 },
@@ -254,7 +254,14 @@ locals {
254254 {
255255 name = " agent-run"
256256 }
257- ]
257+ ] : []
258+
259+ rofs_agent_depends_on = var. dd_readonly_root_filesystem ? [
260+ {
261+ condition = " SUCCESS"
262+ containerName = " init-volume"
263+ }
264+ ] : []
258265
259266 # Volume configuration for task
260267 apm_dsd_volume = local. is_apm_dsd_volume ? [
@@ -347,77 +354,76 @@ locals {
347354 )
348355
349356 # Datadog Agent container definition
350- dd_agent_container = [
351- {
352- cpu = 0
353- memory = 128
354- name = " init-volume"
355- image = " ${ var . dd_registry } :${ var . dd_image_version } "
356- essential = false
357- readOnlyRootFilesystem = true
358- command = [" /bin/sh" , " -c" , " cp -vnR /etc/datadog-agent/* /agent-config/ && exit 0" ]
359- mountPoints = [
360- {
361- sourceVolume = " agent-config"
362- containerPath = " /agent-config"
363- readOnly = false
364- }
365- ]
366- },
367- merge (
357+ dd_agent_container = concat (
358+ var. dd_readonly_root_filesystem ? [
368359 {
369- name = " datadog-agent"
370- image = " ${ var . dd_registry } :${ var . dd_image_version } "
371- essential = var.dd_essential
372- environment = local.dd_agent_env
373- dockerLabels = var.dd_docker_labels
374- cpu = var.dd_cpu
375- memory = var.dd_memory_limit_mib
376-
377- readonlyRootFilesystem = true
378- secrets = var.dd_api_key_secret != null ? [
379- {
380- name = " DD_API_KEY"
381- valueFrom = var.dd_api_key_secret.arn
382- }
383- ] : []
384- portMappings = [
360+ cpu = 0
361+ memory = 128
362+ name = " init-volume"
363+ image = " ${ var . dd_registry } :${ var . dd_image_version } "
364+ essential = false
365+ readOnlyRootFilesystem = true
366+ command = [" /bin/sh" , " -c" , " cp -vnR /etc/datadog-agent/* /agent-config/ && exit 0" ]
367+ mountPoints = [
385368 {
386- containerPort = 8125
387- hostPort = 8125
388- protocol = " udp"
389- },
390- {
391- containerPort = 8126
392- hostPort = 8126
393- protocol = " tcp"
394- }
395- ],
396-
397- dependsOn = [
398- {
399- condition = " SUCCESS"
400- containerName = " init-volume"
369+ sourceVolume = " agent-config"
370+ containerPath = " /agent-config"
371+ readOnly = false
401372 }
402373 ]
403-
404- mountPoints = local.dd_agent_mount,
405- logConfiguration = local.dd_firelens_log_configuration,
406- dependsOn = try (var. dd_log_collection . fluentbit_config . is_log_router_dependency_enabled , false ) && local.dd_firelens_log_configuration != null ? local.log_router_dependency : [],
407- systemControls = []
408- volumesFrom = []
409- },
410- try (var. dd_health_check . command == null , true ) ? {} : {
411- healthCheck = {
412- command = var.dd_health_check.command
413- interval = var.dd_health_check.interval
414- timeout = var.dd_health_check.timeout
415- retries = var.dd_health_check.retries
416- startPeriod = var.dd_health_check.start_period
417- }
418374 }
419- )
420- ]
375+ ] : [],
376+ [
377+ merge (
378+ {
379+ name = " datadog-agent"
380+ image = " ${ var . dd_registry } :${ var . dd_image_version } "
381+ essential = var.dd_essential
382+ environment = local.dd_agent_env
383+ dockerLabels = var.dd_docker_labels
384+ cpu = var.dd_cpu
385+ memory = var.dd_memory_limit_mib
386+
387+ readonlyRootFilesystem = var.dd_readonly_root_filesystem
388+ secrets = var.dd_api_key_secret != null ? [
389+ {
390+ name = " DD_API_KEY"
391+ valueFrom = var.dd_api_key_secret.arn
392+ }
393+ ] : []
394+ portMappings = [
395+ {
396+ containerPort = 8125
397+ hostPort = 8125
398+ protocol = " udp"
399+ },
400+ {
401+ containerPort = 8126
402+ hostPort = 8126
403+ protocol = " tcp"
404+ }
405+ ],
406+
407+ dependsOn = local.rofs_agent_depends_on,
408+
409+ mountPoints = local.dd_agent_mount,
410+ logConfiguration = local.dd_firelens_log_configuration,
411+ dependsOn = try (var. dd_log_collection . fluentbit_config . is_log_router_dependency_enabled , false ) && local.dd_firelens_log_configuration != null ? local.log_router_dependency : [],
412+ systemControls = []
413+ volumesFrom = []
414+ },
415+ try (var. dd_health_check . command == null , true ) ? {} : {
416+ healthCheck = {
417+ command = var.dd_health_check.command
418+ interval = var.dd_health_check.interval
419+ timeout = var.dd_health_check.timeout
420+ retries = var.dd_health_check.retries
421+ startPeriod = var.dd_health_check.start_period
422+ }
423+ }
424+ )
425+ ]
426+ )
421427
422428 dd_log_environment = var. dd_log_collection . fluentbit_config . environment != null ? var. dd_log_collection . fluentbit_config . environment : []
423429
0 commit comments