36 lines
2.3 KiB
Markdown
36 lines
2.3 KiB
Markdown
# Web Console: Sentry/GlitchTip Observability & Incident Bridge Console (#649)
|
|
|
|
This document describes the Phase 4 observability console surface integrated into the MCP Control Plane Web Console (`webui/`), backed by the #612 incident bridge and the #613 control-plane DB substrate.
|
|
|
|
## Architectural Authority Model (ADR Alignment)
|
|
|
|
Per the Web Console Architecture ADR (`docs/architecture/webui-control-plane-console-architecture-adr.md`):
|
|
|
|
| Layer | Responsibility | Authority |
|
|
|---|---|---|
|
|
| **Gitea** | Durable work record | Issues, PRs, comments, reviews, labels, merges |
|
|
| **Control-plane DB** | Live coordination & linkage | `incident_links` table, session leases, allocations |
|
|
| **Sentry / GlitchTip** | Observability input | Unresolved incidents, error events, stack traces |
|
|
| **Incident Bridge (#612)** | Reconciliation engine | Reconciles provider observations into Gitea issues |
|
|
| **Web Console (`webui/`)** | Read-only projection & gated actions | Projects connection health & correlation links; gates writes |
|
|
|
|
> **Key Rule:** Raw monitoring incidents are **never** assignable control-plane `work_items`. They remain observation input only.
|
|
|
|
## Redaction Boundary Invariants
|
|
|
|
1. **No secrets in returns or rendering:** Auth tokens (`SENTRY_AUTH_TOKEN`, `GLITCHTIP_AUTH_TOKEN`), DSNs, `Authorization` headers, and sensitive local file paths are passed through `webui.console_redaction` before leaving the server.
|
|
2. **Safe projection:** Connection objects report `credentials_present: true/false` rather than exposing raw keys or headers.
|
|
|
|
## Console Endpoints
|
|
|
|
- **HTML Surface:** `GET /observability` — Renders provider connection cards, error correlation tables, and gated reconcile controls.
|
|
- **Versioned API:** `GET /api/v1/observability` — Returns structured JSON snapshot with `schema_version`, `providers`, `links`, and `metrics`.
|
|
- **Legacy Compatibility Alias:** `GET /api/observability` — Read-only compatibility alias for Phase 4.
|
|
|
|
## Gated Actions
|
|
|
|
- `observability_reconcile_incident` (`gitea_observability_reconcile_incident`): Triggers or previews dry-run issue reconciliation for a provider incident.
|
|
- `observability_link_issue` (`gitea_observability_link_issue`): Links a provider incident to an existing Gitea tracking issue.
|
|
|
|
Both actions require `operator` role and gate through `task_capability_map`. Execution fails closed in read-only MVP mode.
|