How versuscontrol/versus-incident works
Versus Incident is a self-hosted incident-response product: incidents arrive from either the AI SRE agent or inbound webhooks, then share incident handling, notifications, templates, and on-call escalation. The dashboard supports incident response and agent administration, with additional service-health, topology, Kubernetes, chat, and runbook capabilities. The main evidence here is README documentation, the route setup, startup wiring, and selected agent and manager excerpts; links for unsampled subsystems are included only where documented, and some runtime details remain unverified.
Main entry points: worker.go Agent Worker · routes.go HTTP Routes · incident.go Incident Handling · App.tsx Admin Dashboard
Components 22
Incident Ingestion
- Webhook Intake
pkg/controllers/incident.go
AI SRE Agent
- Signal Readers
pkg/signalsources - Agent Worker
pkg/agent/worker.go - Pattern Learning
pkg/agent/miner.go - Pattern Catalog
pkg/agent/catalog.go - AI Triage
pkg/agent/ai/analyze/agent.go - Runbook Search
pkg/runbook/manager.go - Metrics and Traces
pkg/agent/ai/tools/common/query_metrics.go
Incident Response
- Incident Handling
pkg/services/incident.go - Incident Storage
pkg/storage/storage.go - Channels and On-Call
pkg/common/factory_alert.go
Operations Insights
- Service Health
pkg/servicehealth/manager.go - Service Topology
pkg/servicetopology/manager.go - Kubernetes Operations
pkg/kubernetes/service.go
Admin Console
- HTTP Routes
pkg/routes/routes.go - Admin Dashboard
ui/src/App.tsx - Dashboard API Client
ui/src/lib/api.ts - Operations Views
ui/src/pages - AI Chat
pkg/agent/ai/chat/service.go
Other components
- SRE Operator
- Alerting Systems
- Log Sources
Connections 21
- Log Sources → Signal Readers: provides logs
- Signal Readers → Agent Worker: yields signals
pkg/agent/worker.go - Agent Worker → Pattern Learning: learns patterns
- Agent Worker → Pattern Catalog: uses catalog
pkg/agent/worker.go - Agent Worker → AI Triage: requests triage
- Agent Worker → Incident Handling: raises incidents
- Alerting Systems → Webhook Intake: posts alerts
- HTTP Routes → Webhook Intake: mounts intake
pkg/routes/routes.go - Webhook Intake → Incident Handling: creates incident
- Incident Handling → Incident Storage: persists history
- Incident Handling → Channels and On-Call: fans out
- Channels and On-Call → SRE Operator: notifies
- SRE Operator → Admin Dashboard: uses console
- Admin Dashboard → Operations Views: routes views
ui/src/App.tsx - Admin Dashboard → Dashboard API Client: uses API
- HTTP Routes → Service Health: registers endpoints
pkg/routes/routes.go - HTTP Routes → Service Topology: registers endpoints
pkg/routes/routes.go - HTTP Routes → AI Chat: registers endpoints
pkg/routes/routes.go - Agent Worker → Runbook Search: searches runbooks
pkg/runbook/manager.go - Agent Worker → Metrics and Traces: queries telemetry
pkg/agent/ai/tools/common/query_metrics.go - Operations Views → Kubernetes Operations: administers