Skip to main content

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

Project description

DevOps Sentinel

PyPI version Python 3.10+ License: MIT

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

Install from PyPI | Documentation | GitHub

Features

  • Continuous Monitoring - Health checks at configurable intervals
  • Multi-Agent Analysis - CrewAI-powered investigation and root cause analysis
  • AI Postmortems - Automated incident documentation
  • Incident Memory - Learn from past incidents with similarity matching
  • Real-time Dashboard - WebSocket-powered live updates
  • CLI Interface - Terminal-first developer experience
  • Privacy-First - No telemetry, transparent data handling

Architecture

+------------------- DevOps Sentinel -------------------+
| CLI (Click) | API (FastAPI) | Dashboard (WebSocket)   |
+-------------------------------------------------------+
|               Monitoring Orchestrator                 |
+-------------------------------------------------------+
| Watcher | Triage | Investigator | Strategist          |
+-------------------------------------------------------+
| Health checks | Slack alerts | Log/DB analysis       |
+-------------------------------------------------------+
| Supabase (Persistence) | OpenRouter/OpenAI | Slack   |
+-------------------------------------------------------+

Installation

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

For Developers

# Clone the repository
git clone https://github.com/jagadeepmamidi/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
# Headless environments
sentinel login --device

# 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
# Validate environment and auth
sentinel doctor
# Guided onboarding
sentinel setup

CLI Commands

Command Description
sentinel init Interactive configuration setup
sentinel monitor <url> Monitor a service URL
sentinel status Show configuration and API/provider connectivity
sentinel incidents list List recent incidents
sentinel postmortem generate <id> Generate incident postmortem
sentinel serve Start API server
sentinel health <url> Run one-shot health check
sentinel doctor Run environment diagnostics
sentinel setup Guided first-run onboarding

Configuration

Create a .env file or run sentinel init:

SENTINEL_WEB_URL=https://devops-sentinel.dev
OPENROUTER_API_KEY=your_key_here
DEFAULT_MODEL=google/gemini-pro
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_ANON_KEY=your_anon_key
# SUPABASE_KEY=your_anon_key  # alias also supported
SLACK_WEBHOOK_URL=https://hooks.slack.com/...

sentinel login opens ${SENTINEL_WEB_URL}/cli-auth for signup/signin, then returns to the local CLI callback.

Install Command Note

Use this exact command:

pip install devops-sentinel

pip install devops sentinel (with a space) is invalid.

Release Checklist (GitHub + PyPI)

# 1) Sanity checks
python -m py_compile main.py config.py api_server.py src\cli\main.py src\cli\auth.py
python main.py --help
python main.py --json doctor

# 2) Build package
python -m pip install --upgrade build twine
python -m build
python -m twine check dist/*

# 3) Publish (PyPI)
python -m twine upload dist/*

# 4) Verify install from PyPI
python -m venv /tmp/sentinel-smoke
# Windows: python -m venv %TEMP%\sentinel-smoke
pip install devops-sentinel
sentinel --version

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 sentinel doctor to validate configuration and connectivity
  • 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.2.0.tar.gz (121.5 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.2.0-py3-none-any.whl (134.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: devops_sentinel-0.2.0.tar.gz
  • Upload date:
  • Size: 121.5 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.2.0.tar.gz
Algorithm Hash digest
SHA256 165d7bbe8f1a5f3d888fa25b20ee9efd146a7e0265905e97ae97a73e524ef53c
MD5 ba750a50d174f736e702a6aef5cbd09d
BLAKE2b-256 e3978f1d75514e80a7867d55c39a86b4bfb2a06c287315419a6d1e97a43523e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for devops_sentinel-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8cedf9258bf954dcefd404f44c252fcacae697af8e4434934cfd62046a7c802a
MD5 70d2fb37eae63644a8cdee18fba677b9
BLAKE2b-256 2b5828085ab242f69799d27d93d7859385032fd3f5cb607df5c9c0cfff22f11a

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