File tree Expand file tree Collapse file tree 5 files changed +53
-19
lines changed
Expand file tree Collapse file tree 5 files changed +53
-19
lines changed Original file line number Diff line number Diff line change @@ -37,8 +37,6 @@ module "autoscalinggroup" {
3737 tags = " ${ var . tags } "
3838 subnet_ids = [" ${ var . subnet_ids } " ]
3939 environment = " ${ var . environment } "
40- datadog_enabled = " ${ var . datadog_enabled } "
41- datadog_api_key = " ${ var . datadog_api_key } "
4240}
4341
4442#
@@ -52,3 +50,16 @@ module "ecs_instance_scaling" {
5250 ecs_instance_draining_lambda_arn = " ${ var . ecs_instance_draining_lambda_arn } "
5351 ecs_instance_scaling_properties = [" ${ var . ecs_instance_scaling_properties } " ]
5452}
53+
54+ #
55+ # Datadog ECS Service
56+ #
57+ module "datadog" {
58+ source = " ./modules/datadog/"
59+ create = " ${ var . datadog_enabled && var . create } "
60+ name = " ${ var . name } "
61+ cluster_id = " ${ aws_ecs_cluster . this . id } "
62+ datadog_enabled = " ${ var . datadog_enabled } "
63+ datadog_api_key = " ${ var . datadog_api_key } "
64+ environment = " ${ var . environment } "
65+ }
Original file line number Diff line number Diff line change 11#! /bin/bash
22set -Eeuxo pipefail
33
4- cluster=" ${name} "
5- task_def=" dd-agent-task-${name} "
6-
74echo ECS_CLUSTER=${name} >> /etc/ecs/ecs.config
85
96echo iptables --insert FORWARD 1 --in-interface docker+ --destination 169.254.169.254/32 --jump DROP >> /etc/rc.local
107
11-
12- start ecs
13- yum install -y aws-cli jq
14- instance_arn=$( curl -s http://localhost:51678/v1/metadata | jq -r ' . | .ContainerInstanceArn' | awk -F/ ' {print $NF}' )
15- #
16- # Run Task by Terraform.
17- #
18- if [ " ${datadog_enabled} " == " 1" ]; then
19- echo aws ecs start-task --cluster ${name} --task-definition $$ task_def --container-instances $$ instance_arn --region ${region} >> /etc/rc.local
20- fi
21-
228# EFS MOUNTING
239if [ " ${efs_enabled} " == " 1" ]; then
2410 mkdir /mnt/efs
Original file line number Diff line number Diff line change @@ -22,7 +22,6 @@ data "template_file" "cloud_config_amazon" {
2222 region = " ${ data . aws_region . _. name } "
2323 name = " ${ local . name } "
2424 efs_enabled = " ${ lookup (var. cluster_properties , " efs_enabled" ," 0" )} "
25- datadog_enabled = " ${ var . datadog_enabled ? " 1" : " 0" } "
2625 efs_id = " ${ lookup (var. cluster_properties , " efs_id" ," " )} "
2726 custom_userdata = " ${ lookup (var. cluster_properties , " ec2_custom_userdata" ," " )} "
2827 }
Original file line number Diff line number Diff line change 11/* "Datadog agent ECS TASK" */
22
3+ data "aws_region" "_" {}
4+
5+
36resource "aws_ecs_task_definition" "datadog_agent" {
4- count = " ${ ( var. datadog_enabled && var . create ) ? 1 : 0 } "
5- family = " ${ local . name } -dd-agent-task"
7+ count = " ${ var . create ? 1 : 0 } "
8+ family = " ${ var . name } -dd-agent-task"
69 network_mode = " host"
710
811 volume {
@@ -64,3 +67,12 @@ resource "aws_ecs_task_definition" "datadog_agent" {
6467]
6568EOF
6669}
70+
71+ resource "aws_ecs_service" "datadog" {
72+ count = " ${ var . create ? 1 : 0 } "
73+ name = " dd-agent-task"
74+ cluster = " ${ var . cluster_id } "
75+ task_definition = " ${ aws_ecs_task_definition . datadog_agent . arn } "
76+ scheduling_strategy = " DAEMON"
77+
78+ }
Original file line number Diff line number Diff line change 1+ variable "create" {
2+ default = true
3+ }
4+
5+ variable "name" {
6+ description = " The name of the Cluster"
7+ }
8+
9+ variable "cluster_id" {
10+ description = " The id of the Cluster"
11+ }
12+
13+ variable "datadog_enabled" {
14+ description = " Is datadog enabled ? "
15+ default = false
16+ }
17+
18+ variable "datadog_api_key" {
19+ description = " Datadog API Key"
20+ default = false
21+ }
22+
23+ variable "environment" {
24+ description = " Which environment are we in ? For datadog"
25+ type = " string"
26+ }
You can’t perform that action at this time.
0 commit comments