Architecture

Architecture

D.A.M.I uses a multi-agent architecture where specialized AI agents collaborate to handle complex DevOps tasks.

System Overview

Core Components

Orchestrator

The central brain of D.A.M.I. Built with FastAPI and deployed on Cloud Run.

  • Receives user requests and webhook events
  • Routes to appropriate AI agents using Gemini-powered classification
  • Manages tool execution with risk-based approval gates
  • Provides real-time SSE streaming for dashboard updates

Agent System

D.A.M.I has 29 specialized agents organized in tiers:

TierAgentsPurpose
CoreSRE, Architect, Code Review, Release ManagerEssential DevOps functions
SecuritySecOps, Compliance, AuditSecurity scanning and compliance
OperationsMonitoring, FinOps, Capacity PlannerObservability and cost optimization
AdvancedWar Room, Chaos Engineering, ML/AI OpsComplex scenarios and testing

MCP Protocol (Model Context Protocol)

D.A.M.I uses the MCP protocol to communicate with external tools:

  • Standardized tool discovery and execution
  • Risk classification (READ / WRITE / DESTRUCTIVE)
  • Approval gates for dangerous operations
  • Circuit breakers for fault tolerance

Webhook Engine

Real-time event ingestion from 5+ sources:

  • GitHub — Push, PR, workflow events (HMAC-SHA256 verified)
  • Jenkins — Build status notifications
  • Jira — Issue creation and updates
  • PagerDuty — Incident alerts with urgency routing
  • Datadog — Metric alerts and anomalies

Security Model

  • Firebase Authentication with JWT verification
  • RBAC with 4 roles: Owner, Admin, Operator, Viewer
  • Multi-tenancy with complete data isolation
  • AES-256-GCM encryption for all stored secrets
  • HMAC signature verification for all webhooks

Data Flow

  1. Event arrives (webhook, user chat, API call)
  2. Auth middleware verifies identity and permissions
  3. Orchestrator classifies the request
  4. Agent Router selects the best agent(s)
  5. Agent reasons about the task using Gemini
  6. Tool Executor runs actions via MCP (with approval if needed)
  7. Results streamed back to user via SSE