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
- Watcher Agent continuously monitors service health endpoints
- On failure, First Responder sends a Slack alert
- Investigator analyzes logs, deployments, and database status
- Strategist creates a prioritized action plan
- 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
--privacyflag 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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
837c8f62d0f5cba44d3c43771837b652d4b6d23f2a5e5af65d34dadfc13be763
|
|
| MD5 |
211cd30380a3529a33fa8ff4c81d57f1
|
|
| BLAKE2b-256 |
2fd2ff934cdd6075d630ee36b4163229b3f9a7a8a88a35ca5196060de1f153a7
|
File details
Details for the file devops_sentinel-0.1.1-py3-none-any.whl.
File metadata
- Download URL: devops_sentinel-0.1.1-py3-none-any.whl
- Upload date:
- Size: 130.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d11f80abab60d7b2f9393bf911bbf5de8a9f4bf2c5e1cf05dbdd5b707e936cb
|
|
| MD5 |
c842b76af531d7cb449ee696d9527b3b
|
|
| BLAKE2b-256 |
b2691dbe9dc519dd11aa4ee019789be2acabd385e09bb5dd87def11fae251243
|