Project Overview: DeployGuard
Github Link
DeployGuard is an advanced, autonomous agentic platform designed for cloud deployment monitoring, anomaly detection, incident response, automated rollbacks, and post-mortem generation. Below is a detailed technical description of the project based on its architecture and implementation.
1. Features and Functionality
Autonomous Deployment Monitoring: Continuously monitors cloud infrastructure deployments and detects operational anomalies in real time using dedicated monitoring and incident memory modules.
Decision Engine & Governance: Employs an automated decision-making engine backed by governance checks, step-by-step decision tracing, and benchmark evaluations.
Automated Rollback & Recovery: Executes intelligent rollback procedures to restore system stability and verifies recovery workflows through dedicated recovery verification tests.
Automated Post-Mortem Generation: Automatically compiles and generates comprehensive incident post-mortem documentation viewable via an integrated document viewer interface.
Real-Time Operator Dashboard: Provides a feature-rich web dashboard equipped with agent activity feeds, terminal log drawers, metric cards, sparkline charts, and span waterfalls.
Incident Simulation Framework: Includes built-in simulation triggers and scenario runners allowing operators to test failure modes and observe agent reactions in a controlled environment.
Security Gateway & Sanitization: Implements robust security gateways and data sanitization layers to protect sensitive operations and ensure secure interactions.
2. Technology Used
Backend & API Framework: Built using Python (
pyproject.toml,uv.lock) with a modular FastAPI backend containing dedicated routers for dashboards, deployments, events, health checks, post-mortems, registries, and traces.Frontend Architecture: Developed with Next.js (
web/next.config.mjs,web/package.json), styled using Tailwind CSS (tailwind.config.ts), and populated with responsive UI components such as fleet registry views and decision trace steppers.Google Cloud Platform (GCP) & Cloud Services: Integrates tightly with GCP infrastructure, supporting Cloud Run deployments (
Dockerfile,.gcloudignore), Firestore storage (firestore_client.py), Cloud Logging (logging_client.py), Cloud Monitoring (monitoring_client.py), and Vertex AI embedding services (embeddings.py,gemini_client.py).Agentic Infrastructure & Telemetry: Utilizes specialized Agent Development Kit (ADK) tools, core agent base classes (
base.py,adk_tools.py), vector search indexes, and distributed telemetry tracers (tracer.py).
3. Other Data Sources Used
Decision Benchmarks & Evaluation Datasets: Leverages structured JSONL evaluation datasets (
evals/datasets/decision_benchmarks.jsonl) paired with configuration files (evals/eval_config.yaml) to benchmark decision accuracy.Incident Memory & Registry Seed States: Utilizes historical incident logs, execution traces, and pre-seeded registry states (
registry/seed.py) to provide context for active deployments.
4. Findings and Learnings
Modular Agentic Workflow Separation: Isolating responsibilities across specialized agents (monitoring, decision-making, rollback execution, and post-mortem creation) coordinated via a stateful workflow engine (
workflow.py) significantly improves system maintainability and failure isolation.Granular Observability Necessity: Combining span waterfalls (
SpanWaterfall.tsx), sparkline telemetry (SparklineChart.tsx), and decision trace steppers (DecisionTraceStepper.tsx) is indispensable for diagnosing complex multi-agent reasoning paths.Edge Security and Sanitization: Enforcing strict input sanitization (
sanitizer.py) and gateway controls (gateway.py) prevents malicious injections and safeguards sensitive cloud configuration metadata.Rigorous Pipeline Testing: Implementing end-to-end integration tests (
test_e2e_pipeline.py) alongside automated evaluation frameworks (test_evals.py) ensures that autonomous recovery actions execute safely without introducing regressions into production environments.
Top comments (0)