Terraform Datadog Slack Module
Overview
This Terraform module creates a Kubernetes/Docker application monitoring dashboard in Datadog configured specifically for Slack/team deployments with account-scoped filtering.
Features
- Kubernetes Resource Monitoring: Visualizes pod and node resource utilization
- Account-Scoped Filtering: Filters metrics by team and environment
- CPU & Memory Tracking: Timeseries visualization for top containers
- Read-Only Dashboard: Prevents accidental modifications
- EU Datadog Instance: Configured for European GDPR compliance
Resources Created
datadog_dashboard: Application monitoring dashboard with account-scoped widgets
Dashboard Widgets
- Kubernetes Pods Hostmap: CPU utilization by Docker image (account-scoped)
- CPU Utilization Timeseries: Container CPU usage
- Kubernetes Nodes Hostmap: CPU utilization by host
- Memory Utilization Timeseries: Container memory usage
Requirements
| Name | Version |
|---|---|
| terraform | >= 0.12 |
| datadog | >= 3.5.0 |
Usage
module "slack_dashboard" {
source = "./terraform-datadog-slack"
opco_name = "sanoma"
app_name = "slack-integration"
team_name = "platform-team"
image_name = "slack-app"
aws_region = "eu-west-1"
env = "prd"
api_key = var.datadog_api_key
app_key = var.datadog_app_key
url = "https://slack.example.com/health"
}
Inputs
| Name | Description | Type | Required |
|---|---|---|---|
opco_name |
Name of the OPCO | string |
yes |
app_name |
Name of the application | string |
yes |
team_name |
Name of the responsible team | string |
yes |
image_name |
Docker image name | string |
yes |
aws_region |
AWS region for resources | string |
yes |
env |
Environment (dev, tst, stg, prd) | string |
yes |
api_key |
Datadog API key | string |
yes |
app_key |
Datadog APP key | string |
yes |
url |
Synthetics URL | string |
yes |
Outputs
Currently, this module does not export any outputs.
Account Scoping
The dashboard filters metrics using account-based scoping:
- Scope:
account:{team_name}_{env} - This ensures each team only sees their environment's metrics
Differences from terraform-datadog-app-dashboard
While similar to the app-dashboard module, this version:
- Uses account-scoped filtering instead of namespace
- Configured specifically for EU Datadog API
- Simplified widget set (no alert graph)
- Synthetics integration is commented out
- Uses OPCO name instead of CFA name
Provider Configuration
- API URL:
https://api.datadoghq.eu(EU instance) - Datadog Provider: Version 3.5.0 or higher
Notes
- Dashboard is read-only to prevent accidental modifications
- All widgets filter by account scope
{team_name}_{env} - Designed for multi-tenant Kubernetes environments
- Uses EU Datadog API endpoint for GDPR compliance
License
Internal use only - Sanoma/WeBuildYourCloud
Authors
Created and maintained by the Platform Engineering team.
Description
Terraform module for Kubernetes/Docker application monitoring dashboards with account-scoped filtering for Slack/team deployments
Languages
HCL
58.8%
Shell
41.2%