Skip to main content

Autonomous SRE agents that watch your services, detect anomalies, and generate blameless postmortems

Project description

DevOps Sentinel

Autonomous SRE Agent System - Reduce Mean Time to Detection (MTTD) from minutes to under 10 seconds.

Features

  • Continuous Monitoring - Health checks at configurable intervals
  • Multi-Agent Analysis - CrewAI-powered investigation and root cause analysis
  • AI Postmortems - Automated incident documentation
  • Real-time Dashboard - WebSocket-powered live updates
  • CLI Interface - Similar to Gemini CLI
  • Pre-Deploy Linting - Code quality checks before production
  • Privacy-First - No telemetry, transparent data handling

Architecture

┌─────────────────────────────────────────────────────────────┐
│                      DevOps Sentinel                         │
├─────────────────────────────────────────────────────────────┤
│  CLI (Typer)  │  API (FastAPI)  │  Dashboard (WebSocket)    │
├─────────────────────────────────────────────────────────────┤
│                   Monitoring Orchestrator                    │
├─────────────────────────────────────────────────────────────┤
│  Watcher Agent  │  Triage Agent  │  Investigator  │  Strategist  │
├─────────────────────────────────────────────────────────────┤
│  Health Check  │  Slack Alert  │  Log Analysis  │  DB Health  │
├─────────────────────────────────────────────────────────────┤
│  Supabase (Persistence)  │  OpenRouter (LLM)  │  Slack       │
└─────────────────────────────────────────────────────────────┘

Installation

# Install from PyPI (recommended)
pip install devops-sentinel

For Developers

# Clone the repository
git clone https://github.com/frozen8569/devops-sentinel.git
cd devops-sentinel

# Create virtual environment
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# Install in editable mode for development
pip install -e .

Quick Start

# Login to DevOps Sentinel
sentinel login

# Check a service health
sentinel health https://api.example.com

# Monitor a service continuously
sentinel monitor https://api.example.com/health

# View your projects
sentinel projects list

CLI Commands

Command Description
sentinel init Interactive configuration setup
sentinel monitor <url> Monitor a service URL
sentinel status Show monitored services
sentinel incidents List recent incidents
sentinel postmortem <id> View incident postmortem
sentinel serve Start dashboard server
sentinel lint <path> Run pre-deploy checks

Configuration

Create a .env file or run sentinel init:

OPENROUTER_API_KEY=your_key_here
DEFAULT_MODEL=google/gemini-pro
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_KEY=your_anon_key
SLACK_WEBHOOK_URL=https://hooks.slack.com/...

Docker Deployment

# Build and run
docker-compose up -d

# View logs
docker-compose logs -f sentinel

How It Works

  1. Watcher Agent continuously monitors service health endpoints
  2. On failure, First Responder sends a Slack alert
  3. Investigator analyzes logs, deployments, and database status
  4. Strategist creates a prioritized action plan
  5. AI generates a structured postmortem saved to Supabase

Privacy

  • All data stays local or in YOUR Supabase instance
  • No telemetry or external data collection
  • Use --privacy flag to see exactly what data is processed
  • OpenRouter calls only contain health check context (no PII)

Supabase Schema

-- Run these in your Supabase SQL editor
CREATE TABLE services (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    name TEXT NOT NULL,
    url TEXT NOT NULL,
    check_interval INTEGER DEFAULT 10,
    is_active BOOLEAN DEFAULT true,
    created_at TIMESTAMPTZ DEFAULT now()
);

CREATE TABLE incidents (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    service_id UUID REFERENCES services(id),
    status TEXT DEFAULT 'detecting',
    detected_at TIMESTAMPTZ DEFAULT now(),
    resolved_at TIMESTAMPTZ,
    mttd_seconds FLOAT,
    postmortem TEXT
);

CREATE TABLE health_checks (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    service_id UUID REFERENCES services(id),
    status_code INTEGER,
    response_time_ms FLOAT,
    is_healthy BOOLEAN,
    checked_at TIMESTAMPTZ DEFAULT now()
);

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

devops_sentinel-0.1.1.tar.gz (116.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

devops_sentinel-0.1.1-py3-none-any.whl (130.4 kB view details)

Uploaded Python 3

File details

Details for the file devops_sentinel-0.1.1.tar.gz.

File metadata

  • Download URL: devops_sentinel-0.1.1.tar.gz
  • Upload date:
  • Size: 116.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for devops_sentinel-0.1.1.tar.gz
Algorithm Hash digest
SHA256 837c8f62d0f5cba44d3c43771837b652d4b6d23f2a5e5af65d34dadfc13be763
MD5 211cd30380a3529a33fa8ff4c81d57f1
BLAKE2b-256 2fd2ff934cdd6075d630ee36b4163229b3f9a7a8a88a35ca5196060de1f153a7

See more details on using hashes here.

File details

Details for the file devops_sentinel-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for devops_sentinel-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0d11f80abab60d7b2f9393bf911bbf5de8a9f4bf2c5e1cf05dbdd5b707e936cb
MD5 c842b76af531d7cb449ee696d9527b3b
BLAKE2b-256 b2691dbe9dc519dd11aa4ee019789be2acabd385e09bb5dd87def11fae251243

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page