1+ locals {
2+ region = " us-east-1"
3+ dd_api_key = try (get_env (" DD_API_KEY" ), " " )
4+ dd_rds_dns = try (get_env (" DD_RDS_DNS" ), " " )
5+ dd_rds_password = try (get_env (" DD_RDS_PASSWORD" ), " " )
6+ dd_db_instance_identifier = try (get_env (" DD_DB_INSTANCE_IDENTIFIER" ), " " )
7+ }
8+
19include "root" {
210 path = find_in_parent_folders (" root.hcl" )
311}
@@ -10,14 +18,14 @@ terraform {
1018
1119inputs = {
1220 env = " dev"
13- region = " us-east-1 "
14- zone = " us-east-1a "
15- vpc_name = " dev-us-east-1 "
21+ region = local.region
22+ zone = " ${ local . region } a "
23+ vpc_name = " dev-${ local . region } "
1624 aws_tags = {
1725 Env = " dev"
18- Region = " us-east1 "
26+ Region = local.region
1927 }
20- zones = [" us-east-1a " , " us-east-1b " , " us-east-1c " ]
28+ zones = [" ${ local . region } a " , " ${ local . region } b " , " ${ local . region } c " ]
2129 apps = {
2230 " nginx" : {
2331 name = " nginx" ,
@@ -27,13 +35,24 @@ inputs = {
2735 cpu = 1024 ,
2836 memory = 2048 ,
2937 port = 80 ,
30- security_group_name = " dev-ssh-http-from-vpc"
38+ security_group_name = " dev-${ local . region } - ssh-http-from-vpc"
3139 env_vars = []
3240 docker_labels = {}
3341 },
3442 # Datadog agent for RDS database monitoring
43+ # Configure PostgreSQL database: add user and grant permissions:
44+ # https://docs.datadoghq.com/database_monitoring/setup_postgres/rds?tab=postgres15#grant-the-agent-access
3545 # https://docs.datadoghq.com/database_monitoring/setup_postgres/aurora?tab=docker#install-the-agent
3646 #
47+ # To deploy and test:
48+ #
49+ # export DD_API_KEY="your_api_key"
50+ # export DD_RDS_DNS="dev.cluster-czk84imkkq6n.eusc-de-east-1.rds.amazonaws.eu"
51+ # export DD_RDS_PASSWORD="datadog"
52+ # export DD_DB_INSTANCE_IDENTIFIER="dev"
53+ #
54+ # And uncomment:
55+ #
3756 # "rds-datadog-agent" : {
3857 # name = "rds-datadog-agent",
3958 # image = "public.ecr.aws/datadog/agent:latest",
@@ -42,11 +61,18 @@ inputs = {
4261 # cpu = 256,
4362 # memory = 512,
4463 # port = 0, # do not expose via ALB
45- # security_group_name = "dev-us-east-1-psql-from-vpc"
64+ # security_group_name = "dev-${local.region}-psql-from-vpc"
65+ # # to emulate Recreate deployment strategy
66+ # maximum_percent = 100,
67+ # minimum_healthy_percent = 0,
4668 # env_vars = [
4769 # {
4870 # "name": "DD_API_KEY",
49- # "value": "<DD_API_KEY_HERE>"
71+ # "value": "${local.dd_api_key}"
72+ # },
73+ # {
74+ # "name": "DD_SITE",
75+ # "value": "datadoghq.com"
5076 # },
5177 # {
5278 # "name": "DD_HEALTH_PORT",
@@ -61,25 +87,8 @@ inputs = {
6187 # "value": "true"
6288 # },
6389 # ],
64- #
65- # # TODO migrate DD checks/integration with format for Datadog Agent v7.36+:
66- # # Example on Redis check:
67- # #
68- # # labels:
69- # # com.datadoghq.ad.checks: '{"redisdb": {"instances": [{"host": "%%host%%","port":"6379","password":"%%env_REDIS_PASSWORD%%"}], "logs": [{"type": "file", "path": "/var/log/redis_6379.log", "source": "redis", "service": "redis_service"}]}}'
70- # #
71- # # For earlier Agent versions it was formatted like:
72- # #
73- # # labels:
74- # # com.datadoghq.ad.check_names: '["redisdb"]'
75- # # com.datadoghq.ad.init_configs: '[{}]'
76- # # com.datadoghq.ad.instances: '[{"host": "%%host%%","port":"6379","password":"%%env_REDIS_PASSWORD%%"}]'
77- # # com.datadoghq.ad.logs: '[{"type": "file", "path": "/var/log/redis_6379.log", "source": "redis", "service": "redis_service"}]'
78- #
7990 # docker_labels = {
80- # "com.datadoghq.ad.check_names": "[\"postgres\"]",
81- # "com.datadoghq.ad.init_configs": "[{}]",
82- # "com.datadoghq.ad.instances": "[{\"dbm\": true, \"host\": \"<RDS-DNS>\", \"port\": 5432, \"username\": \"datadog\", \"password\": \"<PASSWORD>\" }]"
91+ # "com.datadoghq.ad.checks": "{\"postgres\": {\"instances\": [{\"dbm\": true, \"host\": \"${local.dd_rds_dns}\", \"port\": 5432, \"username\": \"datadog\", \"password\": \"${local.dd_rds_password}\", \"database_autodiscovery\": {\"enabled\": true}, \"aws\": {\"instance_endpoint\": \"${local.dd_rds_dns}\", \"region\": \"${local.region}\"}, \"tags\": [\"dbinstanceidentifier:${local.dd_db_instance_identifier}\"] }]}}"
8392 # },
8493 # },
8594 }
0 commit comments