datadog

AdRoll/datadog/container

Terraform Module HCL CONTAINER

Terraform module to generate well-formed JSON documents (container definitions) that are passed to the aws_ecs_task_definition Terraform resource for datadog

Install
module "datadog" {
source = "AdRoll/datadog/container"
version = "0.2.0"
}
plain text: /constructs/tfmod-adroll-datadog-container/install.txt
⭐ Source on GitHub 📦 Registry page
README

terraform-container-datadog Terraform module to generate well-formed JSON documents that are passed to the aws_ecs_task_definition Terraform resource as container definitions. --- Usage IMPORTANT: The main branch is used in source just as an example. In your code, do not pin to main because there may be breaking changes between releases. Instead pin to the release tag (e.g. ?ref=tags/x.y.z) of one of our latest releases. This module is meant to be used as output only, meaning it will be used to create outputs which are consumed as a parameter by Terraform resources or other modules. For complete examples, see - complete For a complete example with automated tests, see examples/complete with bats and Terratest for the example test. ``hcl locals { # can also be set to terraform.workspace env

Inputs (44)
NameTypeDescriptionDefault
container_memory_reservationnumberThe amount of memory (in MiB) to reserve for the container. If container needs t required
start_timeoutnumberTime duration (in seconds) to wait before giving up on resolving dependencies fo required
entrypointlist(string)The entry point that is passed to the container required
commandlist(string)The command that is passed to the container required
environment_fileslist(object({ value = striOne or more files containing the environment variables to pass to the container. required
firelens_configurationobject({ type = string The FireLens configuration for the container. This is used to specify and config required
container_depends_onlist(object({ containerNamThe dependencies defined for container startup and shutdown. A container can con required
stop_timeoutnumberTime duration (in seconds) to wait before the container is forcefully killed if required
docker_labelsmap(string)The configuration options to send to the `docker_labels` required
working_directorystringThe working directory to run commands inside the container required
linkslist(string)List of container names this container can communicate with without port mapping required
extra_hostslist(object({ ipAddress = A list of hostnames and IP address mappings to append to the /etc/hosts file on required
secretslist(object({ name = The secrets to pass to the container. This is a list of maps required
linux_parametersobject({ capabilities = obLinux-specific modifications that are applied to the container, such as Linux ke required
log_configurationstringLog configuration options to send to a custom log driver for the container. For required
repository_credentialsmap(string)Container repository credentials; required when using a private repo. This map required
dns_search_domainslist(string)Container DNS search domains. A list of DNS search domains that are presented to required
privilegedboolWhen this variable is `true`, the container is given elevated privileges on the required
system_controlslist(map(string))A list of namespaced kernel parameters to set in the container, mapping to the - required
ulimitslist(object({ name = Container ulimit settings. This is a list of maps, where each map should contain required
dd_tagsstringThe datadog tags for the metrics and service map expressed as a colon and comma ""
container_definitionmapContainer definition overrides which allows for extra keys or overriding existin{}
docker_labels_init_configslistThe integrations for the `com.datadoghq.ad.init_configs`. Useful if `var.docker_[ {} ]
ecs_fargateboolSet to true to add `ECS_FARGATE` environment variabletrue
apm_enabledboolSet to true to add `DD_APM_ENABLED` environment variabletrue
docker_labels_check_nameslistThe integrations for the `com.datadoghq.ad.check_names`. Useful if `var.docker_l[]
logging_group_namestringIf logging to cloudwatch, this will be the cloudwatch log group name""
apm_non_local_trafficboolSet to true to add `DD_APM_NON_LOCAL_TRAFFIC` environment variabletrue
readonly_root_filesystemboolDetermines whether a container is given read-only access to its root filesystem.false
container_imagestringThe image used to start the container. Images in the Docker Hub registry availab"datadog/agent:latest"
healthcheckobject({ command = lisA map containing command (string), timeout, interval (duration in seconds), retr{ "command": [ "CMD-SHELL", "a
container_cpunumberThe number of cpu units to reserve for the container. This is optional for tasks192
map_environmentmap(string)The environment variables to pass to the container. This is a map of string: {ke{}
mount_pointslistContainer mount points. This is a list of maps, where each map should contain a []
docker_labels_container_portnumberThe container port for the `com.datadoghq.ad.instances`. Useful if `var.docker_l8080
container_namestringThe name of the container. Up to 255 characters ([a-z], [A-Z], [0-9], -, _ allow"datadog-agent"
essentialboolDetermines whether all other containers in a task are stopped, if this containertrue
api_keystringUse a different API key than the default one in dev-infra/dd_api_key/sre_scripts""
port_mappingslist(object({ containerPorThe port mappings to configure for the container. This is a list of maps. Each m[ { "containerPort": 8126, "ho
process_agent_enabledboolSet to true to add `DD_PROCESS_AGENT_ENABLED` environment variabletrue
… and 4 more inputs
Outputs (2)
json_map — Map type of container definition
json — String type of container definition
Details
FrameworkTerraform Module
LanguageHCL
Version0.2.0
Cloud CONTAINER
★ Stars1
Forks3
Total downloads806
Inputs44
Outputs2
Examples1
LicenseMIT
NamespaceAdRoll
Updated