datadog
AdRoll/datadog/container
Terraform module to generate well-formed JSON documents (container definitions) that are passed to the aws_ecs_task_definition Terraform resource for datadog
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
| Name | Type | Description | Default |
|---|---|---|---|
| container_memory_reservation | number | The amount of memory (in MiB) to reserve for the container. If container needs t | required |
| start_timeout | number | Time duration (in seconds) to wait before giving up on resolving dependencies fo | required |
| entrypoint | list(string) | The entry point that is passed to the container | required |
| command | list(string) | The command that is passed to the container | required |
| environment_files | list(object({ value = stri | One or more files containing the environment variables to pass to the container. | required |
| firelens_configuration | object({ type = string | The FireLens configuration for the container. This is used to specify and config | required |
| container_depends_on | list(object({ containerNam | The dependencies defined for container startup and shutdown. A container can con | required |
| stop_timeout | number | Time duration (in seconds) to wait before the container is forcefully killed if | required |
| docker_labels | map(string) | The configuration options to send to the `docker_labels` | required |
| working_directory | string | The working directory to run commands inside the container | required |
| links | list(string) | List of container names this container can communicate with without port mapping | required |
| extra_hosts | list(object({ ipAddress = | A list of hostnames and IP address mappings to append to the /etc/hosts file on | required |
| secrets | list(object({ name = | The secrets to pass to the container. This is a list of maps | required |
| linux_parameters | object({ capabilities = ob | Linux-specific modifications that are applied to the container, such as Linux ke | required |
| log_configuration | string | Log configuration options to send to a custom log driver for the container. For | required |
| repository_credentials | map(string) | Container repository credentials; required when using a private repo. This map | required |
| dns_search_domains | list(string) | Container DNS search domains. A list of DNS search domains that are presented to | required |
| privileged | bool | When this variable is `true`, the container is given elevated privileges on the | required |
| system_controls | list(map(string)) | A list of namespaced kernel parameters to set in the container, mapping to the - | required |
| ulimits | list(object({ name = | Container ulimit settings. This is a list of maps, where each map should contain | required |
| dd_tags | string | The datadog tags for the metrics and service map expressed as a colon and comma | "" |
| container_definition | map | Container definition overrides which allows for extra keys or overriding existin | {} |
| docker_labels_init_configs | list | The integrations for the `com.datadoghq.ad.init_configs`. Useful if `var.docker_ | [
{}
] |
| ecs_fargate | bool | Set to true to add `ECS_FARGATE` environment variable | true |
| apm_enabled | bool | Set to true to add `DD_APM_ENABLED` environment variable | true |
| docker_labels_check_names | list | The integrations for the `com.datadoghq.ad.check_names`. Useful if `var.docker_l | [] |
| logging_group_name | string | If logging to cloudwatch, this will be the cloudwatch log group name | "" |
| apm_non_local_traffic | bool | Set to true to add `DD_APM_NON_LOCAL_TRAFFIC` environment variable | true |
| readonly_root_filesystem | bool | Determines whether a container is given read-only access to its root filesystem. | false |
| container_image | string | The image used to start the container. Images in the Docker Hub registry availab | "datadog/agent:latest" |
| healthcheck | object({ command = lis | A map containing command (string), timeout, interval (duration in seconds), retr | {
"command": [
"CMD-SHELL",
"a |
| container_cpu | number | The number of cpu units to reserve for the container. This is optional for tasks | 192 |
| map_environment | map(string) | The environment variables to pass to the container. This is a map of string: {ke | {} |
| mount_points | list | Container mount points. This is a list of maps, where each map should contain a | [] |
| docker_labels_container_port | number | The container port for the `com.datadoghq.ad.instances`. Useful if `var.docker_l | 8080 |
| container_name | string | The name of the container. Up to 255 characters ([a-z], [A-Z], [0-9], -, _ allow | "datadog-agent" |
| essential | bool | Determines whether all other containers in a task are stopped, if this container | true |
| api_key | string | Use a different API key than the default one in dev-infra/dd_api_key/sre_scripts | "" |
| port_mappings | list(object({ containerPor | The port mappings to configure for the container. This is a list of maps. Each m | [
{
"containerPort": 8126,
"ho |
| process_agent_enabled | bool | Set to true to add `DD_PROCESS_AGENT_ENABLED` environment variable | true |
| … and 4 more inputs | |||
json_map — Map type of container definitionjson — String type of container definitionAzure landing zones Terraform module
Terraform supermodule for the Terraform platform engineering for Azure
Terraform module to deploy landing zone subscriptions (and much more) in Azure
Terraform Module to define a consistent naming convention by (namespace, stage,