Orchestrator Agent
The Orchestrator is the control plane of Sentinel. It exposes a Hono-powered REST API for monitoring incidents, managing service configs, and performing manual overrides.
Responsibilities
Section titled “Responsibilities”- Serve the management dashboard API
- Provide incident listing, filtering, and detail views
- Expose service configuration CRUD
- Support manual retry and skip operations
- Report system health and statistics
API Endpoints
Section titled “API Endpoints”Incidents
Section titled “Incidents”| Method | Path | Description |
|---|---|---|
GET | /api/incidents | List incidents with optional filters |
GET | /api/incidents/:id | Get incident details with artifacts |
POST | /api/incidents/:id/retry | Reset incident to detected for reprocessing |
POST | /api/incidents/:id/skip | Mark incident as wontfix |
Query parameters for listing:
| Parameter | Type | Description |
|---|---|---|
status | string | Filter by incident status |
service | string | Filter by service name |
limit | number | Page size (default: 50) |
offset | number | Pagination offset |
Service Configuration
Section titled “Service Configuration”| Method | Path | Description |
|---|---|---|
GET | /api/config/services | List all service configs |
GET | /api/config/services/:name | Get a specific service config |
PUT | /api/config/services/:name | Create or update a service config |
System
Section titled “System”| Method | Path | Description |
|---|---|---|
GET | /api/health | Health check (returns { status: "ok" }) |
GET | /api/stats | Aggregate counts by incident status |
Example Requests
Section titled “Example Requests”List Active Incidents
Section titled “List Active Incidents”curl 'https://sentinel.example.com/api/incidents?status=fixing&limit=10'Get Incident Detail
Section titled “Get Incident Detail”curl 'https://sentinel.example.com/api/incidents/01HXYZ...'Response includes the incident record plus all associated R2 artifacts.
Retry a Failed Incident
Section titled “Retry a Failed Incident”curl -X POST 'https://sentinel.example.com/api/incidents/01HXYZ.../retry'This resets the incident status to detected, causing it to re-enter the pipeline from the beginning.
Skip an Incident
Section titled “Skip an Incident”curl -X POST 'https://sentinel.example.com/api/incidents/01HXYZ.../skip'Marks the incident as wontfix. The LogTailer will still count future occurrences but will not re-queue.