A comprehensive enterprise-grade platform integrating AI agents with cloud infrastructure, security, and observability through the Model Context Protocol (MCP).
This portfolio demonstrates a complete AI-augmented DevOps platform built with MCP-first architecture, enterprise security patterns, and full observability. Each project is independently deployable and integrates into a unified automation fabric.
Status: ✅ Complete | View Repo | 52 files Category: AI Infrastructure (AWS) Tech: Python 3.11+, FastAPI, boto3, Terraform, Docker, pytest, moto
Production-ready MCP server exposing AWS operations as tools for LLM agents. Features comprehensive test coverage, circuit breaker patterns, and audit logging.
Architecture Highlights:
- MCP JSON-RPC 2.0 protocol server with async operations
- 4 tool categories: EC2, ECS, RDS, CloudWatch
- Circuit breaker pattern for AWS API resilience
- Terraform IaC for VPC, ECS Fargate, and RDS deployment
- 95%+ test coverage with moto AWS mocking
Production Features:
- ✅ Comprehensive test suite (pytest + moto)
- ✅ Claude Desktop integration examples
- ✅ Docker + docker-compose deployment
- ✅ Terraform modules (VPC, ECS, RDS, Security)
- ✅ CI/CD pipeline (GitHub Actions)
- ✅ Architecture documentation
Status: ✅ Complete | View Repo | 20 files Category: AI Security & Governance Tech: Python, FastAPI, Redis, PostgreSQL, OPA/Rego, Presidio, JWT, Prometheus
Enterprise-grade security gateway for LLM applications with PII detection, content policy enforcement, and comprehensive audit logging.
Architecture Highlights:
- Multi-layer security: Authentication → Authorization → DLP → Policy → Routing
- PII detection with Microsoft Presidio (NER models)
- OPA policy engine for fine-grained access control
- Redis-based rate limiting with token bucket algorithm
- PostgreSQL audit log with 90-day retention
Security Features:
- ✅ JWT authentication with role-based access
- ✅ PII redaction (SSN, credit cards, emails, phone)
- ✅ Prompt injection detection (pattern-based)
- ✅ Rate limiting (requests/min, tokens/min, cost/hour)
- ✅ Multi-model routing (OpenAI, Anthropic, Cohere, local)
- ✅ Cost tracking per user/tenant
- ✅ Prometheus metrics + Jaeger tracing
Status: ✅ Complete | View Repo | 24 files Category: Kubernetes & AI Agents Tech: Go, Kubernetes, Helm, Custom Controllers, CRDs, Prometheus, HPA
Production-ready Kubernetes platform for deploying and managing LLM agents as workloads with custom resource definitions and operators.
Architecture Highlights:
- Custom AgentDeployment CRD with 8 LLM model types
- Go-based Kubernetes controller (controller-runtime)
- Helm chart with 200+ configuration options
- Auto-scaling (HPA) based on CPU/memory/custom metrics
- Pod Disruption Budgets for high availability
Kubernetes Features:
- ✅ AgentDeployment CRD (v1alpha1)
- ✅ Controller with reconciliation loop
- ✅ HPA for agent auto-scaling (2-10 replicas)
- ✅ Network policies (ingress/egress isolation)
- ✅ ServiceMonitor for Prometheus scraping
- ✅ PDB for zero-downtime updates
- ✅ CI/CD pipeline with image signing (Cosign)
Status: ✅ Complete | View Repo | 24 files Category: DevOps & Security Tech: GitHub Actions, GitLab CI, ArgoCD, Trivy, SonarQube, Cosign, SBOM
SLSA Level 3 compliant CI/CD framework with comprehensive security scanning, SBOM generation, and GitOps deployment.
Architecture Highlights:
- Multi-stage pipelines: Build → Test → Scan → Sign → Deploy
- 5 security scan types: SAST, dependency, secrets, container, DAST
- SBOM generation (CycloneDX/SPDX) with S3 storage
- Image signing with Cosign and keyless signatures
- ArgoCD GitOps with canary/blue-green rollouts
Pipeline Features:
- ✅ Multi-platform templates (GitHub Actions, GitLab CI)
- ✅ SonarQube SAST (Python, Node.js, Go)
- ✅ Trivy vulnerability scanning (CRITICAL/HIGH)
- ✅ Secret detection (TruffleHog)
- ✅ SBOM generation + attestation
- ✅ Cosign image signing
- ✅ ArgoCD progressive delivery
- ✅ Slack/email notifications
Status: ✅ Complete | View Repo | 15 files Category: Security & SIEM Tech: OpenSearch, Fluent Bit, Sigma Rules, GeoIP, Index State Management
Enterprise SIEM platform with AI-powered threat detection using Sigma rules and real-time correlation.
Architecture Highlights:
- OpenSearch 3-node cluster with ISM policies
- Fluent Bit log collection with Kubernetes metadata enrichment
- 8 Sigma threat detection rules (MITRE ATT&CK mapped)
- GeoIP enrichment for source IP analysis
- 4-tier retention: hot (7d) → warm (30d) → cold (90d) → archive (365d)
Security Features:
- ✅ Sigma rules: authentication attacks, data exfiltration, lateral movement, malware
- ✅ Custom LLM security rules (prompt injection, sensitive data access)
- ✅ Real-time alerting (Slack, PagerDuty, email)
- ✅ SOC dashboard with threat visualizations
- ✅ GeoIP + ASN enrichment
- ✅ Automated log parsing and normalization
- ✅ Multi-source ingestion (K8s, AWS, apps)
Status: ✅ Complete | View Repo | 11 files Category: Observability & SRE Tech: Prometheus, Grafana, Loki, Tempo, OpenTelemetry, Thanos, Multi-Cloud Exporters
Unified observability platform covering metrics, logs, and traces across AWS, Azure, and GCP with long-term storage.
Architecture Highlights:
- Three pillars: Metrics (Prometheus), Logs (Loki), Traces (Tempo)
- OpenTelemetry Collector for unified instrumentation
- Thanos for long-term metrics storage (S3)
- Multi-cloud exporters (CloudWatch, Azure Monitor, GCP)
- Distributed tracing with metrics generation
Observability Features:
- ✅ Prometheus HA (2 replicas) with 15d retention
- ✅ Loki distributed with S3 storage (31d retention)
- ✅ Tempo distributed tracing with exemplars
- ✅ 27 alert rules (infrastructure + application)
- ✅ Custom LLM metrics (token usage, costs, latency)
- ✅ Multi-cloud dashboards (RED metrics, SLI/SLO)
- ✅ Cost attribution per cloud provider
Status: ✅ Complete | View Repo | 25 files Category: Workflow Automation & AI Orchestration Tech: Python, FastAPI, LangGraph, LangChain, LangSmith, React, Whisper, WebSocket, Pydantic
Unified control plane for the entire platform. Execute infrastructure operations through natural language commands via text, voice, or API.
Architecture Highlights:
- LangGraph state machine for agent orchestration
- 14 integrated tools across all 6 projects
- Multi-modal input: text, voice (Whisper), WebSocket
- All LLM calls routed through Project 2 (Security Gateway)
- LangSmith tracing for complete agent visibility
Automation Features:
- ✅ LangGraph agent with conditional routing
- ✅ Tool registry connecting Projects 1-6
- ✅ Voice input via Whisper (speech-to-text)
- ✅ Real-time WebSocket streaming
- ✅ React chat interface
- ✅ Kubernetes deployment (HPA, Ingress, Network Policies)
- ✅ Docker + docker-compose for local dev
- ✅ Pydantic V2 models with validation
- ✅ Architecture documentation
┌──────────────────────────────────────────────────────────────────────────────────────────┐
│ USER INTERFACES │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Web Chat │ │ Voice │ │ REST API │ │ WebSocket │ │
│ │ (React) │ │ (Whisper) │ │ Client │ │ Stream │ │
│ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │
│ │ │ │ │ │
│ └────────────────┴────────────────┴────────────────┘ │
│ │ │
│ ▼ │
│ ┌────────────────────────────────────────────────────────────────────────────────────┐ │
│ │ [7] NATURAL LANGUAGE AUTOMATION HUB │ │
│ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │
│ │ │ FastAPI │ │ LangGraph │ │ Tool │ │ LangSmith │ │ │
│ │ │ Server │──│ Agent │──│ Registry │ │ Tracing │ │ │
│ │ └──────────────┘ └──────┬───────┘ └──────┬───────┘ └──────────────┘ │ │
│ └───────────────────────────┼─────────────────┼──────────────────────────────────────┘ │
│ │ │ │
│ │ ALL LLM CALLS │ 14 TOOLS │
│ ▼ ▼ │
├──────────────────────────────────────────────────────────────────────────────────────────┤
│ SECURITY & GOVERNANCE LAYER │
│ ┌────────────────────────────────────────────────────────────────────────────────────┐ │
│ │ [2] LLM SECURITY GATEWAY │ │
│ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │
│ │ │ JWT │ │ PII │ │ Prompt │ │ OPA │ │ Rate │ │ │
│ │ │ Auth │→ │ Detection │→ │ Injection │→ │ Policy │→ │ Limit │ │ │
│ │ │ (RBAC) │ │ (Presidio) │ │ Filter │ │ Engine │ │ (Redis) │ │ │
│ │ └────────────┘ └────────────┘ └────────────┘ └────────────┘ └─────┬──────┘ │ │
│ │ │ │ │
│ │ ┌────────────────────────────────────────────────────────────────────┼────────┐ │ │
│ │ │ MODEL ROUTER │ │ │ │
│ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ │
│ │ │ │ Claude │ │ GPT-4 │ │ Cohere │ │ Local │◄──────────┘ │ │ │
│ │ │ │ (Sonnet) │ │(OpenAI) │ │(Command) │ │ (Ollama) │ │ │ │
│ │ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │ │ │
│ │ └────────────────────────────────────────────────────────────────────────────┘ │ │
│ └──────────────────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ │ SECURED + AUDITED │
│ ▼ │
├──────────────────────────────────────────────────────────────────────────────────────────┤
│ CONTROL PLANES (MCP TOOLS) │
│ │
│ ┌─────────────────────────┐ ┌─────────────────────────┐ ┌─────────────────────────┐ │
│ │ [1] MCP AWS SERVER │ │ [3] K8S AGENTOPS │ │ [4] CI/CD FRAMEWORK │ │
│ │ ┌───────────────────┐ │ │ ┌───────────────────┐ │ │ ┌───────────────────┐ │ │
│ │ │ • ec2_list │ │ │ │ • k8s_list_agents │ │ │ │ • trigger_deploy │ │ │
│ │ │ • ec2_start │ │ │ │ • k8s_deploy │ │ │ │ • rollback │ │ │
│ │ │ • ec2_stop │ │ │ │ • k8s_scale │ │ │ │ • get_status │ │ │
│ │ │ • rds_describe │ │ │ │ • k8s_delete │ │ │ │ • run_pipeline │ │ │
│ │ │ • cloudwatch_get │ │ │ └─────────┬─────────┘ │ │ └─────────┬─────────┘ │ │
│ │ └─────────┬─────────┘ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │
│ │ ▼ │ │ ▼ │ │ ▼ │ │
│ │ ┌───────────────────┐ │ │ ┌───────────────────┐ │ │ ┌───────────────────┐ │ │
│ │ │ AWS APIs │ │ │ │ Kubernetes API │ │ │ │ Git + ArgoCD │ │ │
│ │ │ (EC2/RDS/CW) │ │ │ │ (CRD Controller) │ │ │ │ (GitOps Sync) │ │ │
│ │ └───────────────────┘ │ │ └───────────────────┘ │ │ └───────────────────┘ │ │
│ └─────────────────────────┘ └─────────────────────────┘ └─────────────────────────┘ │
│ │ │ │ │
│ │ OTEL + Fluent Bit │ Logs + Metrics │ │
│ └────────────────────────────┼────────────────────────────┘ │
│ ▼ │
├──────────────────────────────────────────────────────────────────────────────────────────┤
│ OBSERVABILITY FABRIC │
│ │
│ ┌───────────────────────────────────────┐ ┌───────────────────────────────────────┐ │
│ │ [5] LOGGING & THREAT ANALYTICS │ │ [6] MULTI-CLOUD OBSERVABILITY │ │
│ │ ┌─────────────────────────────────┐ │ │ ┌─────────────────────────────────┐ │ │
│ │ │ OpenSearch │ │ │ │ Prometheus │ Thanos │ │ │
│ │ │ ┌──────────┐ ┌──────────────┐ │ │ │ │ (Metrics) │ (Storage) │ │ │
│ │ │ │ search │ │query_threats │ │ │ │ └─────────────────────────────────┘ │ │
│ │ │ │ _logs │ │ │ │ │ │ ┌─────────────────────────────────┐ │ │
│ │ │ └──────────┘ └──────────────┘ │ │ │ │ Loki │ Tempo │ │ │
│ │ └─────────────────────────────────┘ │ │ │ (Logs) │ (Traces) │ │ │
│ │ ┌─────────────────────────────────┐ │ │ └─────────────────────────────────┘ │ │
│ │ │ Sigma Rules │ MITRE ATT&CK │ │ │ ┌─────────────────────────────────┐ │ │
│ │ │ Fluent Bit │ GeoIP Enrich │ │ │ │ get_metrics │ query_traces │ │ │
│ │ └─────────────────────────────────┘ │ │ └─────────────────────────────────┘ │ │
│ └───────────────────────────────────────┘ └───────────────────────────────────────┘ │
│ │ │ │
│ │ Alert Webhooks │ │
│ └──────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ [7] Automation Hub (Closes the Loop) │
└──────────────────────────────────────────────────────────────────────────────────────────┘
User: "Scale the web-api deployment to 5 replicas"
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│ User │ │ [7] │ │ [2] │ │ LLM │ │ [3] │ │ K8s │
│ (Voice/ │───▶│ NL Hub │───▶│Security │───▶│ Claude/ │───▶│ AgentOps│───▶│ API │
│ Chat) │ │LangGraph│ │ Gateway │ │ GPT-4 │ │ Tools │ │ │
└─────────┘ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘
│ │ │ │ │
│ 1. Parse │ 2. Auth + │ 3. Intent │ 4. Execute │ 5. Scale
│ Intent │ PII Check │ Recognition │ k8s_scale │ Replicas
│ │ Rate Limit │ │ │
│ │ │ │ │
▼ ▼ ▼ ▼ ▼
┌──────────────────────────────────────────────────────────────────────┐
│ [5] + [6] OBSERVABILITY │
│ • Request logged • Tokens tracked • Latency recorded • Alerts │
└──────────────────────────────────────────────────────────────────────┘
┌─────────────────────┐
│ EXTERNAL USERS │
│ (DevOps/SRE/Dev) │
└──────────┬──────────┘
│
Voice/Chat/API │
▼
┌──────────────────────────────────────────────────────────────────────────────────────┐
│ │
│ ┌─────────────────────────────────────────────────────────────────────────────┐ │
│ │ [7] NL AUTOMATION HUB │ │
│ │ │ │
│ │ "List all running EC2 instances in production" │ │
│ │ "Deploy new agent version to staging" │ │
│ │ "Show me CPU metrics for the last hour" │ │
│ │ "Search logs for authentication failures" │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ │ LLM Requests │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────────────────┐ │
│ │ [2] SECURITY GATEWAY │ │
│ │ │ │
│ │ ✓ JWT Validated ✓ No PII Detected ✓ Policy Passed ✓ Within Rate │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ┌──────────────────────────┼──────────────────────────┐ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
│ │ [1] MCP AWS │ │ [3] K8s Ops │ │ [4] CI/CD │ │
│ │ │ │ │ │ │ │
│ │ ec2_list ──────┼────┐ │ k8s_deploy ────┼────┐ │ trigger ───────┼────┐ │
│ │ ec2_start │ │ │ k8s_scale │ │ │ rollback │ │ │
│ │ rds_describe │ │ │ k8s_list │ │ │ status │ │ │
│ │ cloudwatch_get │ │ │ │ │ │ │ │ │
│ └────────┬────────┘ │ └────────┬────────┘ │ └────────┬────────┘ │ │
│ │ │ │ │ │ │ │
│ ▼ │ ▼ │ ▼ │ │
│ ┌─────────────────┐ │ ┌─────────────────┐ │ ┌─────────────────┐ │ │
│ │ AWS Cloud │ │ │ Kubernetes │ │ │ Git + ArgoCD │ │ │
│ │ EC2/RDS/CW │ │ │ Cluster │ │ │ │ │ │
│ └─────────────────┘ │ └─────────────────┘ │ └─────────────────┘ │ │
│ │ │ │ │
│ ┌────────────┴──────────────────────────┴──────────────────────────┘ │
│ │ │
│ │ Logs, Metrics, Traces (OTEL + Fluent Bit) │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────────────────┐ │
│ │ [5] LOGGING │ [6] OBSERVABILITY │ │
│ │ │ │ │
│ │ ┌─────────────┐ ┌──────────────┐ │ ┌──────────────┐ ┌─────────────┐ │ │
│ │ │ OpenSearch │ │ Sigma Rules │ │ │ Prometheus │ │ Grafana │ │ │
│ │ │ Cluster │ │ Threat Det. │ │ │ + Thanos │ │ Dashboards │ │ │
│ │ └─────────────┘ └──────────────┘ │ └──────────────┘ └─────────────┘ │ │
│ │ │ │ │
│ │ search_logs() query_threats() │ get_metrics() query_traces() │ │
│ └────────────────────────────────────────┴─────────────────────────────────────┘ │
│ │ │
│ │ Alerts (PagerDuty, Slack) │
│ └──────────────────────────────────────────────────────────▶│
│ │
└──────────────────────────────────────────────────────────────────────────────────────┘
| From | To | Integration Method | Protocol |
|---|---|---|---|
| [7] Automation Hub | [2] Security Gateway | All LLM calls routed | REST API |
| [7] Automation Hub | [1,3,4,5,6] | Tool Registry (14 tools) | HTTP/JSON-RPC |
| [2] Security Gateway | Claude/GPT-4/Cohere | Model routing | Provider APIs |
| [1] AWS Control Plane | AWS Services | boto3 + IAM | AWS SDK |
| [3] K8s AgentOps | Kubernetes | controller-runtime | K8s API |
| [4] CI/CD | Git + ArgoCD | GitOps sync | Webhooks |
| All Projects | [5] Logging | Fluent Bit | Syslog/HTTP |
| All Projects | [6] Observability | OpenTelemetry | OTLP |
| [5,6] Observability | [7] Automation Hub | Alert routing | Webhooks |
Each example shows the complete flow through all 7 projects.
User: "Show me all EC2 instances running in production with high CPU"
┌────────────────────────────────────────────────────────────────────────────────────┐
│ FLOW: User → [7] NL Hub → [2] Security → Claude → [1] AWS + [6] Metrics │
├────────────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ User │ │ [7] NL Hub │ │[2] Security │ │ Claude │ │
│ │ "Show me │────▶│ LangGraph │────▶│ JWT ✓ │────▶│ Parses: │ │
│ │ all EC2 │ │ WebSocket │ │ PII ✓ │ │ intent = │ │
│ │ instances" │ │ │ │ Policy ✓ │ │ "list_ec2" │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ └──────┬───────┘ │
│ │ │
│ ┌────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────────────────────────────────────────────────────────────────┐ │
│ │ PARALLEL TOOL EXECUTION │ │
│ │ │ │
│ │ ┌─────────────────────────┐ ┌─────────────────────────┐ │ │
│ │ │ [1] MCP AWS SERVER │ │ [6] OBSERVABILITY │ │ │
│ │ │ │ │ │ │ │
│ │ │ ec2_list_instances( │ │ get_metrics( │ │ │
│ │ │ filters={ │ │ query="aws_ec2_cpu", │ │ │
│ │ │ "tag:Env": "prod" │ │ threshold=">80%" │ │ │
│ │ │ } │ │ ) │ │ │
│ │ │ ) │ │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ ▼ │ │ ▼ │ │ │
│ │ │ ┌─────────────────────┐ │ │ ┌─────────────────────┐ │ │ │
│ │ │ │ AWS EC2 API │ │ │ │ Prometheus │ │ │ │
│ │ │ │ describe_instances()│ │ │ │ CloudWatch Exporter │ │ │ │
│ │ │ └─────────────────────┘ │ │ └─────────────────────┘ │ │ │
│ │ └─────────────────────────┘ └─────────────────────────┘ │ │
│ └──────────────────────────────────────────────────────────────────────────────┘ │
│ │ │ │
│ └──────────┬─────────────────┘ │
│ ▼ │
│ ┌──────────────────────────────────────────────────────────────────────────────┐ │
│ │ RESPONSE │ │
│ │ │ │
│ │ 🤖 Found 12 production EC2 instances. 3 have high CPU (>80%): │ │
│ │ │ │
│ │ │ Instance ID │ Type │ CPU │ Name │ │ │
│ │ │─────────────────────│───────────│──────│───────────────────│ │ │
│ │ │ i-0a1b2c3d4e5f6g7h8 │ c5.2xlarge│ 94% │ api-server-01 │ ⚠️ │ │
│ │ │ i-1b2c3d4e5f6g7h8i9 │ c5.2xlarge│ 87% │ api-server-02 │ ⚠️ │ │
│ │ │ i-2c3d4e5f6g7h8i9j0 │ r5.xlarge │ 82% │ cache-server-01 │ ⚠️ │ │
│ │ │ │
│ │ Tools: [ec2_list_instances, get_metrics] │ Tokens: 423 │ Cost: $0.008 │ │
│ └──────────────────────────────────────────────────────────────────────────────┘ │
│ │
│ [5] Audit Log: {user: "ops@acme.com", action: "ec2_list", instances: 12} │
└────────────────────────────────────────────────────────────────────────────────────┘
Projects Used: [7] → [2] → [1] → [6] → [5]
User: "Deploy the payment-service to staging and scale to 5 replicas"
┌────────────────────────────────────────────────────────────────────────────────────┐
│ FLOW: User → [7] NL Hub → [2] Security → Claude → [4] CI/CD → [3] K8s │
├────────────────────────────────────────────────────────────────────────────────────┤
│ │
│ User: "Deploy payment-service to staging, scale to 5 replicas" │
│ │
│ ┌──────────────────────────────────────────────────────────────────────────────┐ │
│ │ [7] LANGGRAPH AGENT DECISION │ │
│ │ │ │
│ │ Claude identifies 2 sequential operations: │ │
│ │ 1. trigger_deployment (must complete first) │ │
│ │ 2. k8s_scale_agent (after deployment succeeds) │ │
│ └──────────────────────────────────────────────────────────────────────────────┘ │
│ │
│ STEP 1: TRIGGER DEPLOYMENT │
│ ┌──────────────────────────────────────────────────────────────────────────────┐ │
│ │ [4] CI/CD FRAMEWORK │ │
│ │ │ │
│ │ POST /api/v1/deployments │ │
│ │ { │ │
│ │ "service": "payment-service", │ │
│ │ "environment": "staging", │ │
│ │ "strategy": "canary" │ │
│ │ } │ │
│ │ │ │
│ │ ┌────────────────────────────────────────────────────────────────────────┐ │ │
│ │ │ ArgoCD GitOps Flow: │ │ │
│ │ │ │ │ │
│ │ │ 1. GitHub Actions triggered │ │ │
│ │ │ 2. Trivy scan: ✓ No CRITICAL vulnerabilities │ │ │
│ │ │ 3. SonarQube: ✓ Quality gate passed │ │ │
│ │ │ 4. Image signed with Cosign │ │ │
│ │ │ 5. ArgoCD sync: staging/payment-service → v2.3.1 │ │ │
│ │ └────────────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ Response: {"status": "deployed", "version": "v2.3.1", "sha": "a1b2c3d"} │ │
│ └──────────────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ STEP 2: SCALE REPLICAS │
│ ┌──────────────────────────────────────────────────────────────────────────────┐ │
│ │ [3] K8S AGENTOPS PLATFORM │ │
│ │ │ │
│ │ k8s_scale_agent(name="payment-service", namespace="staging", replicas=5) │ │
│ │ │ │
│ │ Controller actions: │ │
│ │ ├── kubectl scale deployment/payment-service --replicas=5 │ │
│ │ ├── HPA updated: minReplicas=5, maxReplicas=15 │ │
│ │ └── PDB updated: minAvailable=4 │ │
│ │ │ │
│ │ Pod status: 0/5 → 2/5 → 4/5 → 5/5 ✓ (42 seconds) │ │
│ └──────────────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────────────────────────────┐ │
│ │ RESPONSE │ │
│ │ │ │
│ │ 🤖 Deployment complete! Here's the summary: │ │
│ │ │ │
│ │ **payment-service v2.3.1** deployed to staging │ │
│ │ ├── Security scans: All passed ✓ │ │
│ │ ├── Image: ghcr.io/acme/payment-service:v2.3.1 (signed) │ │
│ │ ├── Replicas: 5/5 running │ │
│ │ └── Rollout: Canary (20% → 50% → 100%) │ │
│ │ │ │
│ │ Tools: [trigger_deployment, k8s_scale_agent] │ Time: 48s │ Cost: $0.015 │ │
│ └──────────────────────────────────────────────────────────────────────────────┘ │
│ │
│ [5] Audit: deployment triggered, [6] Metrics: pod_ready_time=42s │
└────────────────────────────────────────────────────────────────────────────────────┘
Projects Used: [7] → [2] → [4] → [3] → [5] → [6]
User: "Search logs for failed login attempts from external IPs in the last hour"
┌────────────────────────────────────────────────────────────────────────────────────┐
│ FLOW: User → [7] NL Hub → [2] Security → Claude → [5] Logging → [6] Metrics │
├────────────────────────────────────────────────────────────────────────────────────┤
│ │
│ User: "Search logs for failed login attempts from external IPs in the last hour"│
│ │
│ ┌──────────────────────────────────────────────────────────────────────────────┐ │
│ │ [5] CENTRALIZED LOGGING & THREAT ANALYTICS │ │
│ │ │ │
│ │ search_logs( │ │
│ │ query="action:login_failed AND NOT source_ip:10.* AND NOT source_ip:192.*"│ │
│ │ time_range="1h", │ │
│ │ index="security-*" │ │
│ │ ) │ │
│ │ │ │
│ │ OpenSearch Query: │ │
│ │ ┌────────────────────────────────────────────────────────────────────────┐ │ │
│ │ │ GET /security-*/_search │ │ │
│ │ │ { │ │ │
│ │ │ "query": { │ │ │
│ │ │ "bool": { │ │ │
│ │ │ "must": [{"match": {"action": "login_failed"}}], │ │ │
│ │ │ "must_not": [ │ │ │
│ │ │ {"prefix": {"source_ip": "10."}}, │ │ │
│ │ │ {"prefix": {"source_ip": "192.168."}} │ │ │
│ │ │ ], │ │ │
│ │ │ "filter": [{"range": {"@timestamp": {"gte": "now-1h"}}}] │ │ │
│ │ │ } │ │ │
│ │ │ } │ │ │
│ │ │ } │ │ │
│ │ └────────────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ Results: 847 failed logins from 23 unique external IPs │ │
│ └──────────────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────────────────────────────────────────────────────────────────┐ │
│ │ [5] SIGMA RULES + THREAT DETECTION │ │
│ │ │ │
│ │ query_threats(severity="high", time_range="1h") │ │
│ │ │ │
│ │ Sigma Rule Matches: │ │
│ │ ┌────────────────────────────────────────────────────────────────────────┐ │ │
│ │ │ ⚠️ RULE: Brute Force Authentication (MITRE T1110) │ │ │
│ │ │ Triggered: 3 times │ │ │
│ │ │ Source IPs: 203.0.113.45, 198.51.100.22, 185.220.101.33 │ │ │
│ │ │ Target: auth-service.production │ │ │
│ │ │ Attempts: 500+ per IP │ │ │
│ │ │ │ │ │
│ │ │ 🔴 RULE: Credential Stuffing Attack (MITRE T1110.004) │ │ │
│ │ │ Triggered: 1 time │ │ │
│ │ │ Source: 185.220.101.33 (TOR exit node) │ │ │
│ │ │ Pattern: 200 unique usernames attempted │ │ │
│ │ └────────────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ GeoIP Enrichment: │ │
│ │ ├── 203.0.113.45 → Russia (AS12345) │ │
│ │ ├── 198.51.100.22 → China (AS67890) │ │
│ │ └── 185.220.101.33 → TOR Exit Node (DE) │ │
│ └──────────────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────────────────────────────┐ │
│ │ RESPONSE │ │
│ │ │ │
│ │ 🤖 **Security Alert: Active Attack Detected** │ │
│ │ │ │
│ │ Found 847 failed login attempts from 23 external IPs in the last hour. │ │
│ │ │ │
│ │ **High-Risk Findings:** │ │
│ │ │ IP │ Country │ Attempts │ Threat Type │ │ │
│ │ │─────────────────│─────────│──────────│──────────────────────│ │ │
│ │ │ 185.220.101.33 │ TOR │ 312 │ Credential Stuffing │ 🔴 │ │
│ │ │ 203.0.113.45 │ Russia │ 245 │ Brute Force │ ⚠️ │ │
│ │ │ 198.51.100.22 │ China │ 189 │ Brute Force │ ⚠️ │ │
│ │ │ │
│ │ **Recommended Actions:** │ │
│ │ 1. Block IPs at WAF level │ │
│ │ 2. Enable MFA for affected accounts │ │
│ │ 3. Review auth-service rate limits │ │
│ │ │ │
│ │ Want me to block these IPs automatically? │ │
│ │ │ │
│ │ Tools: [search_logs, query_threats] │ Tokens: 892 │ Cost: $0.018 │ │
│ └──────────────────────────────────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────────────────────────────────┘
Projects Used: [7] → [2] → [5] → [6]
User: "Compare CPU costs across AWS, Azure and GCP for the last week"
┌────────────────────────────────────────────────────────────────────────────────────┐
│ FLOW: User → [7] NL Hub → [2] Security → Claude → [6] Observability → [1] AWS │
├────────────────────────────────────────────────────────────────────────────────────┤
│ │
│ User: "Compare CPU costs across AWS, Azure and GCP for the last week" │
│ │
│ ┌──────────────────────────────────────────────────────────────────────────────┐ │
│ │ [6] MULTI-CLOUD OBSERVABILITY FABRIC │ │
│ │ │ │
│ │ get_metrics( │ │
│ │ queries=[ │ │
│ │ "sum(aws_ec2_cpu_credits_charged) by (instance_type)", │ │
│ │ "sum(azure_vm_cpu_credits_consumed) by (vm_size)", │ │
│ │ "sum(gcp_compute_cpu_usage) by (machine_type)" │ │
│ │ ], │ │
│ │ time_range="7d", │ │
│ │ step="1h" │ │
│ │ ) │ │
│ │ │ │
│ │ ┌────────────────────────────────────────────────────────────────────────┐ │ │
│ │ │ PROMETHEUS + THANOS QUERY (Cross-Cloud) │ │ │
│ │ │ │ │ │
│ │ │ Data Sources: │ │ │
│ │ │ ├── CloudWatch Exporter (AWS) │ │ │
│ │ │ ├── Azure Monitor Exporter │ │ │
│ │ │ └── Stackdriver Exporter (GCP) │ │ │
│ │ │ │ │ │
│ │ │ Thanos Global View aggregates all regions: │ │ │
│ │ │ ├── us-east-1, us-west-2 (AWS) │ │ │
│ │ │ ├── eastus, westeurope (Azure) │ │ │
│ │ │ └── us-central1, europe-west1 (GCP) │ │ │
│ │ └────────────────────────────────────────────────────────────────────────┘ │ │
│ └──────────────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────────────────────────────────────────────────────────────────┐ │
│ │ RESPONSE (with Grafana Dashboard Link) │ │
│ │ │ │
│ │ 🤖 **Multi-Cloud Cost Analysis (Last 7 Days)** │ │
│ │ │ │
│ │ ┌──────────────────────────────────────────────────────────────────────┐ │ │
│ │ │ CLOUD COST COMPARISON │ │ │
│ │ │ │ │ │
│ │ │ AWS ████████████████████████████████ $4,234 (52%) │ │ │
│ │ │ Azure ██████████████████ $2,156 (27%) │ │ │
│ │ │ GCP █████████████ $1,723 (21%) │ │ │
│ │ │ │ │ │
│ │ │ Total: $8,113 │ │ │
│ │ └──────────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ **Cost Breakdown by Service:** │ │
│ │ │ Cloud │ Service │ vCPU Hours │ Cost │ $/vCPU-hr │ │ │
│ │ │───────│──────────────────│────────────│─────────│───────────│ │ │
│ │ │ AWS │ EC2 (c5.2xlarge) │ 12,450 │ $2,490 │ $0.200 │ │ │
│ │ │ AWS │ ECS Fargate │ 8,720 │ $1,744 │ $0.200 │ │ │
│ │ │ Azure │ VM (D4s_v3) │ 9,800 │ $2,156 │ $0.220 │ ⚠️ Higher │ │
│ │ │ GCP │ n2-standard-4 │ 10,150 │ $1,723 │ $0.170 │ ✓ Lowest │ │
│ │ │ │
│ │ **Recommendations:** │ │
│ │ 1. Migrate Azure D4s_v3 workloads to GCP n2-standard → Save $500/week │ │
│ │ 2. Use AWS Spot for non-critical EC2 → Save 70% │ │
│ │ 3. Right-size over-provisioned instances (15% idle CPU detected) │ │
│ │ │ │
│ │ [View Full Dashboard](https://grafana.internal/d/multi-cloud-costs) │ │
│ │ │ │
│ │ Tools: [get_metrics] │ Tokens: 654 │ Cost: $0.012 │ │
│ └──────────────────────────────────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────────────────────────────────┘
Projects Used: [7] → [2] → [6] → [1]
User: "Database is slow, find the cause and fix it"
┌────────────────────────────────────────────────────────────────────────────────────┐
│ FLOW: User → [7] → [2] → Claude → [1] AWS + [6] Metrics + [5] Logs → Auto-Fix │
├────────────────────────────────────────────────────────────────────────────────────┤
│ │
│ User: "Database is slow, find the cause and fix it" │
│ │
│ ┌──────────────────────────────────────────────────────────────────────────────┐ │
│ │ [7] LANGGRAPH AGENT - Multi-Step Investigation │ │
│ │ │ │
│ │ Agent Plan: │ │
│ │ ├── Step 1: Get RDS instance status │ │
│ │ ├── Step 2: Check CloudWatch metrics (CPU, connections, IOPS) │ │
│ │ ├── Step 3: Search logs for slow queries │ │
│ │ ├── Step 4: Correlate with application traces │ │
│ │ └── Step 5: Recommend/execute fix │ │
│ └──────────────────────────────────────────────────────────────────────────────┘ │
│ │
│ STEP 1: RDS STATUS │
│ ┌──────────────────────────────────────────────────────────────────────────────┐ │
│ │ [1] MCP AWS SERVER │ │
│ │ │ │
│ │ rds_describe_instance(db_instance_id="prod-postgres-01") │ │
│ │ │ │
│ │ { │ │
│ │ "status": "available", │ │
│ │ "class": "db.r5.xlarge", │ │
│ │ "storage": "500 GB", │ │
│ │ "connections": 847, ← 🔴 Near max (max=1000) │ │
│ │ "cpu": 94%, ← 🔴 Critical │ │
│ │ "free_storage": "12 GB" ← ⚠️ Low │ │
│ │ } │ │
│ └──────────────────────────────────────────────────────────────────────────────┘ │
│ │
│ STEP 2: CLOUDWATCH METRICS │
│ ┌──────────────────────────────────────────────────────────────────────────────┐ │
│ │ [6] OBSERVABILITY + [1] AWS │ │
│ │ │ │
│ │ cloudwatch_get_metrics( │ │
│ │ namespace="AWS/RDS", │ │
│ │ metrics=["CPUUtilization", "DatabaseConnections", "ReadIOPS"], │ │
│ │ period="5m", │ │
│ │ duration="1h" │ │
│ │ ) │ │
│ │ │ │
│ │ Timeline: │ │
│ │ 10:00 CPU: 45% │ Connections: 320 │ IOPS: 2,000 │ │
│ │ 10:15 CPU: 52% │ Connections: 410 │ IOPS: 3,500 │ │
│ │ 10:30 CPU: 78% │ Connections: 580 │ IOPS: 8,000 ← Spike starts │ │
│ │ 10:45 CPU: 91% │ Connections: 720 │ IOPS: 12,000 │ │
│ │ 11:00 CPU: 94% │ Connections: 847 │ IOPS: 15,000 ← Current │ │
│ └──────────────────────────────────────────────────────────────────────────────┘ │
│ │
│ STEP 3: LOG ANALYSIS │
│ ┌──────────────────────────────────────────────────────────────────────────────┐ │
│ │ [5] CENTRALIZED LOGGING │ │
│ │ │ │
│ │ search_logs( │ │
│ │ query="postgresql slow_query duration:>1000ms", │ │
│ │ time_range="1h" │ │
│ │ ) │ │
│ │ │ │
│ │ Found 1,247 slow queries. Top offenders: │ │
│ │ ┌────────────────────────────────────────────────────────────────────────┐ │ │
│ │ │ Query │ Avg Time │ Count │ │ │ │
│ │ │──────────────────────────────────────────│──────────│───────│ │ │ │
│ │ │ SELECT * FROM orders WHERE status=... │ 4,200ms │ 892 │ 🔴 │ │ │
│ │ │ JOIN users, orders, products... │ 2,100ms │ 234 │ ⚠️ │ │ │
│ │ │ │ │ │
│ │ │ 🔍 Root Cause: Missing index on orders.status column │ │ │
│ │ │ + Connection pool exhaustion from leaked connections │ │ │
│ │ └────────────────────────────────────────────────────────────────────────┘ │ │
│ └──────────────────────────────────────────────────────────────────────────────┘ │
│ │
│ STEP 4: AUTO-REMEDIATION │
│ ┌──────────────────────────────────────────────────────────────────────────────┐ │
│ │ [7] AGENT PROPOSES FIX → User Approves → Execute │ │
│ │ │ │
│ │ 🤖 I found the issue. Ready to fix? │ │
│ │ │ │
│ │ Proposed Actions: │ │
│ │ ┌──────────────────────────────────────────────────────────────────────┐ │ │
│ │ │ 1. [IMMEDIATE] Scale up RDS to db.r5.2xlarge (double CPU) │ │ │
│ │ │ 2. [IMMEDIATE] Kill 200 idle connections │ │ │
│ │ │ 3. [SCHEDULED] Add index: CREATE INDEX idx_orders_status ON orders() │ │ │
│ │ └──────────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ User: "Yes, do it" │ │
│ │ │ │
│ │ [1] AWS: rds_modify_instance(class="db.r5.2xlarge") ✓ Scaling... │ │
│ │ [1] AWS: rds_kill_connections(idle_threshold="5m") ✓ 200 killed │ │
│ │ │ │
│ │ Results after 5 minutes: │ │
│ │ ├── CPU: 94% → 42% ✓ │ │
│ │ ├── Connections: 847 → 312 ✓ │ │
│ │ └── Avg query time: 4,200ms → 180ms ✓ │ │
│ └──────────────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────────────────────────────┐ │
│ │ FINAL RESPONSE │ │
│ │ │ │
│ │ 🤖 **Database Issue Resolved** │ │
│ │ │ │
│ │ **Root Cause:** Connection pool leak + missing index on orders.status │ │
│ │ │ │
│ │ **Actions Taken:** │ │
│ │ ✅ Scaled RDS from db.r5.xlarge → db.r5.2xlarge │ │
│ │ ✅ Terminated 200 idle connections │ │
│ │ 📋 Scheduled: Index creation during maintenance window (2 AM) │ │
│ │ │ │
│ │ **Current Status:** │ │
│ │ │ Metric │ Before │ After │ Change │ │ │
│ │ │─────────────│─────────│─────────│─────────────│ │ │
│ │ │ CPU │ 94% │ 42% │ -52% ✓ │ │ │
│ │ │ Connections │ 847 │ 312 │ -63% ✓ │ │ │
│ │ │ Query time │ 4,200ms │ 180ms │ -96% ✓ │ │ │
│ │ │ │
│ │ **Cost Impact:** +$180/month (larger instance) │ │
│ │ │ │
│ │ Tools: [rds_describe, cloudwatch_get, search_logs, rds_modify] │ │
│ │ Tokens: 1,847 │ Cost: $0.037 │ Time to resolution: 6 minutes │ │
│ └──────────────────────────────────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────────────────────────────────┘
Projects Used: [7] → [2] → [1] → [6] → [5] → [1] (full loop)
User: "The nightly ETL job failed, what happened and can you retry it?"
┌────────────────────────────────────────────────────────────────────────────────────┐
│ FLOW: User → [7] → [2] → Claude → [5] Logs + [6] Metrics + [1] AWS → Auto-Retry │
├────────────────────────────────────────────────────────────────────────────────────┤
│ │
│ User: "The nightly ETL job failed, what happened and can you retry it?" │
│ │
│ ┌──────────────────────────────────────────────────────────────────────────────┐ │
│ │ [7] LANGGRAPH AGENT - ETL Investigation Plan │ │
│ │ │ │
│ │ Agent identifies multi-step investigation: │ │
│ │ ├── Step 1: Find failed job in logs │ │
│ │ ├── Step 2: Get job metrics (duration, records, errors) │ │
│ │ ├── Step 3: Check upstream dependencies │ │
│ │ ├── Step 4: Identify root cause │ │
│ │ └── Step 5: Retry or escalate │ │
│ └──────────────────────────────────────────────────────────────────────────────┘ │
│ │
│ STEP 1: FIND FAILED JOB │
│ ┌──────────────────────────────────────────────────────────────────────────────┐ │
│ │ [5] CENTRALIZED LOGGING │ │
│ │ │ │
│ │ search_logs( │ │
│ │ query="job_type:etl AND status:failed AND job_name:nightly*", │ │
│ │ time_range="24h", │ │
│ │ index="jobs-*" │ │
│ │ ) │ │
│ │ │ │
│ │ Found 1 failed job: │ │
│ │ ┌────────────────────────────────────────────────────────────────────────┐ │ │
│ │ │ { │ │ │
│ │ │ "job_id": "etl-nightly-sales-20241202-0300", │ │ │
│ │ │ "job_name": "nightly-sales-aggregation", │ │ │
│ │ │ "status": "FAILED", │ │ │
│ │ │ "started_at": "2024-12-02T03:00:00Z", │ │ │
│ │ │ "failed_at": "2024-12-02T03:47:23Z", │ │ │
│ │ │ "duration": "47m 23s", │ │ │
│ │ │ "stage_failed": "transform", │ │ │
│ │ │ "error": "OutOfMemoryError: Java heap space", │ │ │
│ │ │ "records_processed": 45_000_000, │ │ │
│ │ │ "records_expected": 52_000_000 │ │ │
│ │ │ } │ │ │
│ │ └────────────────────────────────────────────────────────────────────────┘ │ │
│ └──────────────────────────────────────────────────────────────────────────────┘ │
│ │
│ STEP 2: GET JOB METRICS │
│ ┌──────────────────────────────────────────────────────────────────────────────┐ │
│ │ [6] OBSERVABILITY - Job Metrics Dashboard │ │
│ │ │ │
│ │ get_metrics( │ │
│ │ queries=[ │ │
│ │ "etl_job_duration_seconds{job='nightly-sales'}", │ │
│ │ "etl_records_processed{job='nightly-sales'}", │ │
│ │ "etl_memory_usage_bytes{job='nightly-sales'}" │ │
│ │ ], │ │
│ │ time_range="7d" │ │
│ │ ) │ │
│ │ │ │
│ │ Historical comparison: │ │
│ │ ┌────────────────────────────────────────────────────────────────────────┐ │ │
│ │ │ Date │ Records │ Duration │ Memory Peak │ Status │ │ │ │
│ │ │────────────│────────────│──────────│─────────────│──────────│ │ │ │
│ │ │ Dec 01 │ 48M │ 35m │ 12.1 GB │ ✓ Pass │ │ │ │
│ │ │ Nov 30 │ 47M │ 33m │ 11.8 GB │ ✓ Pass │ │ │ │
│ │ │ Nov 29 │ 46M │ 32m │ 11.5 GB │ ✓ Pass │ │ │ │
│ │ │ Dec 02 │ 52M (+8%) │ 47m │ 15.9 GB │ 🔴 OOM │ ← Today │ │ │
│ │ │ │ │ │
│ │ │ 🔍 Anomaly: Record count increased 8%, memory exceeded 16GB limit │ │ │
│ │ └────────────────────────────────────────────────────────────────────────┘ │ │
│ └──────────────────────────────────────────────────────────────────────────────┘ │
│ │
│ STEP 3: CHECK UPSTREAM DEPENDENCIES │
│ ┌──────────────────────────────────────────────────────────────────────────────┐ │
│ │ [1] AWS - Check Data Sources │ │
│ │ │ │
│ │ cloudwatch_get_metrics( │ │
│ │ namespace="AWS/S3", │ │
│ │ metrics=["BucketSizeBytes", "NumberOfObjects"], │ │
│ │ dimensions={"BucketName": "sales-raw-data"} │ │
│ │ ) │ │
│ │ │ │
│ │ ┌────────────────────────────────────────────────────────────────────────┐ │ │
│ │ │ Source Analysis: │ │ │
│ │ │ │ │ │
│ │ │ S3 Bucket: sales-raw-data │ │ │
│ │ │ ├── Yesterday's files: 1,247 files (normal) │ │ │
│ │ │ ├── Today's files: 1,892 files (+52%) ← 🔴 Black Friday backlog! │ │ │
│ │ │ └── Total size: 89 GB (vs normal 58 GB) │ │ │
│ │ │ │ │ │
│ │ │ Root Cause: Black Friday sales data (Nov 29) delayed upload │ │ │
│ │ │ caused data spike on Dec 02 │ │ │
│ │ └────────────────────────────────────────────────────────────────────────┘ │ │
│ └──────────────────────────────────────────────────────────────────────────────┘ │
│ │
│ STEP 4: PROPOSE SOLUTION │
│ ┌──────────────────────────────────────────────────────────────────────────────┐ │
│ │ [7] AGENT RECOMMENDATION │ │
│ │ │ │
│ │ 🤖 I found the issue. Here are the options: │ │
│ │ │ │
│ │ **Root Cause:** Black Friday data backlog caused 52% more records │ │
│ │ than the job's 16GB memory allocation can handle. │ │
│ │ │ │
│ │ **Option A: Quick Fix (Recommended)** │ │
│ │ ┌──────────────────────────────────────────────────────────────────────┐ │ │
│ │ │ 1. Increase memory: 16GB → 24GB (temporary) │ │ │
│ │ │ 2. Retry job with modified config │ │ │
│ │ │ 3. Estimated completion: 55 minutes │ │ │
│ │ │ 4. Cost: +$2.40 (larger Spark cluster) │ │ │
│ │ └──────────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ **Option B: Process in Batches** │ │
│ │ ┌──────────────────────────────────────────────────────────────────────┐ │ │
│ │ │ 1. Split into 2 runs: Nov29-Nov30, Dec01-Dec02 │ │ │
│ │ │ 2. Run sequentially with existing config │ │ │
│ │ │ 3. Estimated completion: 70 minutes │ │ │
│ │ │ 4. Cost: Same as normal │ │ │
│ │ └──────────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ Which option would you like? (A/B) │ │
│ └──────────────────────────────────────────────────────────────────────────────┘ │
│ │
│ STEP 5: EXECUTE RETRY (User chose A) │
│ ┌──────────────────────────────────────────────────────────────────────────────┐ │
│ │ [1] AWS - Trigger Retry with Modified Config │ │
│ │ │ │
│ │ User: "Go with option A" │ │
│ │ │ │
│ │ Executing: │ │
│ │ ┌────────────────────────────────────────────────────────────────────────┐ │ │
│ │ │ aws stepfunctions start-execution \ │ │ │
│ │ │ --state-machine-arn arn:aws:states:...:etl-nightly-sales \ │ │ │
│ │ │ --input '{ │ │ │
│ │ │ "memory": "24GB", │ │ │
│ │ │ "retry_of": "etl-nightly-sales-20241202-0300", │ │ │
│ │ │ "override_config": true │ │ │
│ │ │ }' │ │ │
│ │ │ │ │ │
│ │ │ ✓ Execution started: etl-nightly-sales-20241202-0847-retry │ │ │
│ │ └────────────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ Monitoring retry progress via [6] Observability: │ │
│ │ ├── 08:47 - Job started (24GB memory) │ │
│ │ ├── 08:52 - Extract complete (52M records loaded) │ │
│ │ ├── 09:15 - Transform complete (memory peak: 21.3GB ✓) │ │
│ │ ├── 09:38 - Load complete (52M records written to warehouse) │ │
│ │ └── 09:42 - Job SUCCESS ✓ │ │
│ └──────────────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────────────────────────────┐ │
│ │ FINAL RESPONSE │ │
│ │ │ │
│ │ 🤖 **ETL Job Recovered Successfully** │ │
│ │ │ │
│ │ **Original Failure:** │ │
│ │ • Job: nightly-sales-aggregation │ │
│ │ • Failed at: 03:47 AM (OutOfMemoryError) │ │
│ │ • Root Cause: Black Friday data backlog (+52% records) │ │
│ │ │ │
│ │ **Resolution:** │ │
│ │ ✅ Retried with 24GB memory (was 16GB) │ │
│ │ ✅ Completed at 09:42 AM │ │
│ │ ✅ All 52M records processed │ │
│ │ ✅ Data warehouse updated │ │
│ │ │ │
│ │ **Downstream Impact:** │ │
│ │ │ System │ Status │ │ │
│ │ │─────────────────────│───────────────────────────│ │ │
│ │ │ Sales Dashboard │ ✅ Updated (was 6h stale) │ │ │
│ │ │ Finance Reports │ ✅ Ready for 10 AM sync │ │ │
│ │ │ ML Training Data │ ✅ Refreshed │ │ │
│ │ │ │
│ │ **Recommendations:** │ │
│ │ 1. 📋 Increase default memory to 20GB (ticket created: OPS-1234) │ │
│ │ 2. 📋 Add auto-scaling based on input file count │ │
│ │ 3. 📋 Set up alert for >10% record count increase │ │
│ │ │ │
│ │ Tools: [search_logs, get_metrics, cloudwatch_get, stepfunctions_start] │ │
│ │ Tokens: 2,134 │ Cost: $0.043 │ Time to resolution: 12 minutes │ │
│ └──────────────────────────────────────────────────────────────────────────────┘ │
│ │
│ [5] Audit: job_retry triggered, [6] Alert: ETL_FAILURE resolved │
└────────────────────────────────────────────────────────────────────────────────────┘
Projects Used: [7] → [2] → [5] → [6] → [1] → [1] (retry)
| Case | Scenario | Projects | Key Tools |
|---|---|---|---|
| 1 | AWS Infrastructure Query | [7]→[2]→[1]→[6] | ec2_list, get_metrics |
| 2 | K8s Deploy & Scale | [7]→[2]→[4]→[3] | trigger_deployment, k8s_scale |
| 3 | Security Investigation | [7]→[2]→[5]→[6] | search_logs, query_threats |
| 4 | Multi-Cloud Cost Analysis | [7]→[2]→[6]→[1] | get_metrics (cross-cloud) |
| 5 | Incident Auto-Remediation | [7]→[2]→[1]→[6]→[5]→[1] | rds_describe, cloudwatch, search_logs, rds_modify |
Every request follows the same pattern:
User Input (voice/chat/API)
│
▼
┌─────────────┐
│ [7] NL Hub │ ← LangGraph orchestrates everything
└──────┬──────┘
│
▼
┌─────────────┐
│[2] Security │ ← Auth, PII, Policy, Rate Limit (ALWAYS)
└──────┬──────┘
│
▼
┌─────────────┐
│ Claude │ ← Intent recognition, tool selection
└──────┬──────┘
│
┌─────┴─────┬─────────────┬─────────────┐
▼ ▼ ▼ ▼
[1] AWS [3] K8s [4] CI/CD [5] Logs
│ │ │ │
└─────┬─────┴─────────────┴─────────────┘
│
▼
┌─────────────┐
│[5]+[6] Obs │ ← Everything logged, traced, metriced
└─────────────┘
| # | Project | Status | Git Repo | Files | Completion |
|---|---|---|---|---|---|
| 1 | MCP AWS Server | ✅ Complete | mcp-aws-server | 52 | 100% |
| 2 | LLM Security Gateway | ✅ Complete | llm-security-gateway | 20 | 100% |
| 3 | K8s AgentOps Platform | ✅ Complete | k8s-agentops-platform | 24 | 100% |
| 4 | Enterprise CI/CD Framework | ✅ Complete | enterprise-cicd-framework | 24 | 100% |
| 5 | Centralized Logging & Threat Analytics | ✅ Complete | centralized-logging-threat-analytics | 15 | 100% |
| 6 | Multi-Cloud Observability Fabric | ✅ Complete | multi-cloud-observability-fabric | 11 | 100% |
| 7 | Natural Language Automation Hub | ✅ Complete | nl-automation-hub | 25 | 100% |
Total: 171 files across 7 complete projects
Goal: GitOps pipeline with full observability
- [4] Deploy CI/CD Framework
- [6] Set up Observability Fabric
- [5] Implement Centralized Logging
- Deliverable: Complete DevOps foundation with monitoring
Goal: AI-controllable infrastructure with audit trails
- [1] Build LLM Control Plane ✅ (In Progress)
- [3] Deploy K8s AgentOps Platform
- Integrate with observability stack
- Deliverable: MCP-based infrastructure control
Goal: Complete platform with voice/chat interface
- [2] Deploy LLM Security Gateway
- [7] Build NL Automation Hub
- End-to-end integration testing
- Deliverable: Production-ready AI DevOps platform
- MCP-First Architecture - Uses Anthropic's Model Context Protocol as the AI-to-infrastructure backbone
- Security Gateway Pattern - All AI traffic mediated through centralized DLP/PII/RBAC
- GitOps Spine - All state changes tracked in Git with ArgoCD reconciliation
- Multi-Modal Interface - Voice, chat, and programmatic access to same automation fabric
- Enterprise-Grade Observability - Full OTEL coverage with SLO-based alerting
- Zero-Trust Security - Every operation authenticated, authorized, and audited
Languages: Python 3.11+, TypeScript, Go AI/LLM: Anthropic Claude (MCP), OpenAI GPT-4, Whisper Cloud: AWS (ECS, Lambda, RDS, EventBridge, SSM), Azure, GCP Kubernetes: Helm, ArgoCD, Kustomize, OPA Gatekeeper, Falco Observability: Prometheus, Grafana, Loki, Tempo, OTEL Security: OPA/Rego, Presidio, Trivy, Cosign, Sigma Rules CI/CD: GitHub Actions, GitLab CI, ArgoCD Workflow: LangGraph, LangChain, FastAPI, Redis Databases: PostgreSQL, Redis, OpenSearch
- Start with Project 1: LLM Control Plane
- Set up AWS credentials and Terraform
- Deploy infrastructure:
terraform apply - Configure Claude/GPT to use MCP tools
- Test operations through natural language
MIT License - See individual project READMEs for details
- GitHub: Your Profile
- LinkedIn: Your Profile
- Email: your.email@example.com
Last Updated: December 2024 Status: Active Development Architecture: MCP-First, GitOps, Zero-Trust