A centralized enterprise platform that aggregates AWS DevOps Agent investigations across multiple AWS accounts, enriches them with business context, and gives engineering leadership real-time operational visibility.
Member Account A ──► EventBridge ──┐
Member Account B ──► EventBridge ──┼──► Central EventBridge Bus
Member Account N ──► EventBridge ──┘ │
▼
Lambda Aggregator
(enrich + store)
│
┌────────────┼────────────┐
▼ ▼ ▼
DynamoDB SNS Topic SNS Topic
(incident store) │ │
▼ ▼
Slack Bot Runbook Gen
(team alerts) (→ Confluence)
| Path | Description |
|---|---|
aggregator/lambda_handler.py |
Multi-account EventBridge ingestion + business context enrichment |
bot/slack_handler.py |
Slack bot — routes P0/P1 to team + central ops channels |
runbook-gen/generator.py |
Auto-generates Confluence runbooks from root cause findings |
infra/app.py |
AWS CDK stack — full IaC deployment |
# 1. Clone and install
git clone https://github.com/yourorg/devops-agent-platform
cd devops-agent-platform
pip install aws-cdk-lib constructs
# 2. Store secrets in SSM Parameter Store
aws ssm put-parameter --name /devops-agent/slack-token --value "xoxb-..." --type SecureString
aws ssm put-parameter --name /devops-agent/confluence-url --value "https://yourorg.atlassian.net" --type String
aws ssm put-parameter --name /devops-agent/confluence-token --value "your-token" --type SecureString
# 3. Deploy
cd infra
cdk bootstrap --context centralAccount=123456789012 --context region=us-east-1
cdk deploy --context centralAccount=123456789012 --context region=us-east-1
# 4. Configure member accounts to forward DevOps Agent events
# In each member account, create an EventBridge rule targeting the central bus ARN| Variable | Description |
|---|---|
DYNAMODB_TABLE |
DynamoDB table name for incident storage |
ENRICHED_TOPIC_ARN |
SNS topic ARN for fan-out |
SLACK_BOT_TOKEN |
Slack bot OAuth token |
SLACK_CHANNEL_ID |
Default ops channel (e.g. #ops-incidents) |
CONFLUENCE_BASE_URL |
Confluence base URL |
CONFLUENCE_API_TOKEN |
Confluence API token |
CONFLUENCE_SPACE_KEY |
Space key for runbooks (default: RUNBOOKS) |
CONFLUENCE_PARENT_PAGE_ID |
Optional parent page ID |
Edit SERVICE_CATALOG in aggregator/lambda_handler.py to map your resource naming
conventions to business services, criticality tiers, SLA thresholds, and team ownership.
SERVICE_CATALOG = {
"payment": {"name": "Payment Service", "criticality": "P0", "sla_minutes": 15, "team": "payments-eng"},
# Add your services here...
}DevOps Agent is billed at $0.0083/agent-second. This platform tracks per-investigation cost in DynamoDB and surfaces it in Slack alerts, giving ops teams full cost visibility.
MIT