Skip to main content

DevOps Sentinel Next

Python 3.10+ License: MIT

Terminal-first SRE operations for health checks, incidents, evidence-backed response plans, and postmortems.

DevOps Sentinel works locally without Supabase, an account, or an API server. Team deployments can keep using Supabase compatibility mode. Python remains canonical runtime; FastAPI, MCP, web console, and npm client use shared contracts.

Why Sentinel?

  • Local-first: SQLite persistence and local identity work offline.
  • Fast signal: HTTP health checks with latency, status, SSL, retries, and suggestions.
  • Incident memory: Store health evidence, incident timelines, response plans, and postmortems.
  • Agent-ready: Expose safe operational context to Claude, Cursor, and other MCP hosts.
  • Multi-agent response: Watcher, First Responder, Investigator, and Strategist roles coordinate response.
  • Safe by default: Agents recommend remediation; destructive actions require explicit approval.
  • Scriptable: Consistent CLI commands, JSON output, and CI-friendly API tokens.
  • Self-hostable: Local SQLite by default, optional Supabase compatibility, no telemetry.

Quick start — no Supabase

pip install devops-sentinel-next
sentinel init
sentinel status
sentinel health https://api.example.com/health
sentinel services add production-api https://api.example.com/health
sentinel services list
sentinel services check <service-id>
sentinel incidents list

sentinel init defaults to local mode:

  • Data: .sentinel/sentinel.db in initialized project
  • Identity: local@localhost
  • Login: not required
  • API server: not required for CLI monitoring
  • AI and Slack: optional

Useful local commands:

sentinel whoami
sentinel config
sentinel doctor
sentinel monitor https://api.example.com/health --failure-threshold 3
sentinel postmortem generate <incident-id> --output postmortem.md

Run sentinel init --mode supabase only when using existing Supabase auth and persistence.

Configuration

.env is loaded from the current project directory. Local-first example:

SENTINEL_MODE=local
SENTINEL_DATA_DIR=.sentinel
OPENROUTER_API_KEY=
SLACK_WEBHOOK_URL=

Optional compatibility mode:

SENTINEL_MODE=supabase
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_ANON_KEY=your-key

Configuration precedence: CLI options, environment variables, project .env, defaults. Secrets are redacted by sentinel config.

Architecture

CLI / FastAPI / MCP / npm client / web console
                         ↓
                 Sentinel application
                         ↓
          Storage adapter + auth adapter
                 ↓                ↓
        SQLite local mode   Supabase compatibility
                         ↓
                  Optional AI / Slack

Storage is behind SentinelDB. SQLite uses the same project, service, health-check, incident, event, and postmortem method contracts as the Supabase adapter. Supabase remains optional so local installs do not need the Supabase Python package.

Monitoring and incident lifecycle

  1. Register a service.
  2. Run a single check or continuous monitor.
  3. Persist health-check evidence.
  4. Open incidents after failure-threshold evaluation.
  5. Record detection, alerting, investigation, and recovery events.
  6. Resolve after recovery-threshold evaluation.
  7. Generate fallback or optional AI-assisted postmortems.
  8. Require human approval before destructive remediation.

Failure and recovery thresholds prevent one transient request from opening or resolving an incident.

Multi-agent workflow

Sentinel uses a staged workflow. Each role has narrow responsibility and evidence context:

Health check
    ↓
Watcher             Detect failure, latency, or anomaly
    ↓
First Responder     Create incident context and notify responders
    ↓
Investigator        Correlate checks, events, deployments, and dependencies
    ↓
Strategist          Produce action plan, runbook suggestion, and postmortem
    ↓
Human approval      Approve any remediation with operational side effects

Agent definitions live in agents.py; orchestration lives in orchestrator.py. The workflow is intentionally non-destructive. Agents can explain and propose; they cannot run arbitrary shell commands or change infrastructure without an approval boundary.

MCP hosts can query read-only operational context:

  • health_check
  • health_check_batch
  • doctor
  • list_incidents
  • get_incident
  • get_incident_events
  • analyze_anomaly
  • generate_postmortem

Start local MCP stdio mode:

devops-sentinel-mcp

Do not expose remote MCP directly to the public internet without authentication, authorization, rate limiting, and audit logging.

Web console

Web console uses same terminal language as CLI:

  • black background
  • IBM Plex Mono typography
  • restrained borders and green health accent
  • keyboard-visible focus states
  • accessible tables and empty states
  • no glassmorphism or decorative gradients in operator surfaces

Run it during development:

cd web
npm install
npm run dev

Operator routes:

  • /operator/services
  • /operator/incidents
  • /operator/incidents/:incidentId

npm client

packages/client calls the HTTP API. It does not duplicate Python monitoring logic.

cd packages/client
npm install
npm run build

Publish target: @devops-sentinel/client.

Development and verification

python -m pip install -e ".[dev]"
pytest -q -o addopts=""
python -m ruff check sentinel tests
cd web
npm run lint
npm run build

MIT License.

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_next-0.1.1.tar.gz (145.9 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_next-0.1.1-py3-none-any.whl (155.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for devops_sentinel_next-0.1.1.tar.gz
Algorithm Hash digest
SHA256 6b72a4470cddda436cdb78250e96eeb3a30c3ac6ceeb2e1d39bdd80faafb02d0
MD5 8b18f97b802d88c8308b0ed957a301e0
BLAKE2b-256 f80cf27627f8ae516411b6aa5d2cf420c782a71f361c3611042e284339aca0b0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for devops_sentinel_next-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 db0c199a29dcd7d72dd6f317e5b0663af8edcb6b81301c5e37d91ba22b050cd7
MD5 22aba1c98cae94a09defb212aff1d6e6
BLAKE2b-256 7d1246c6eb4bd0973fa72d9d43be7322040714ba1ec56fbf866b5728d2fd9a81

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

This release

0.1.1 This release

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page