prometheus / prometheus/alertmanager
UI: integrate StatusService and configuration pages
Open
@siavashs is already working on this.
Since Aug 29, 2026.
component/api
component/ui
kind/enhancement
- Dominant language
- Go
- Stars
- 8.6k
- Forks
- 2.5k
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 61
Description
Parent: #5451
API dependency: #5477
Summary
Make Status and Configuration the first complete v3alpha-backed Mantine screens by replacing the handwritten API v2 status datasource with generated status.v3alpha.StatusService.GetStatus calls.
Scope
- Consume generated StatusService bindings through the Connect data layer.
- Render version and build information.
- Render cluster name, state, and peers for disabled, settling, ready, and unspecified states.
- Derive uptime from
start_timeand update its display without refetching the immutable start timestamp unnecessarily. - Render the original loaded configuration with current Mantine 9 syntax highlighting, copy support, and responsive overflow.
- Handle empty peers, clustering disabled, configuration not yet loaded, Connect errors, cancellation, loading, and retry behavior without assuming optional fields are present.
- Use semantic headings and tables/cards suitable for screen readers and narrow viewports.
- While these are the only complete v3alpha-backed screens, redirect
/ui/to/ui/status; switch the default to Alerts only after the Alerts child lands. - Remove the handwritten Status type and API v2 query. Remove the generic API v2 fetch layer as soon as no Mantine page uses it.
Acceptance criteria
- Status and Configuration use only generated v3alpha types and StatusService calls.
- No
/api/v2/statusrequest or arbitrary JSON cast remains. - Disabled, settling, ready, unspecified, empty-peer, unavailable, and error states render correctly.
- Uptime is derived from the protobuf timestamp and updates correctly.
- Configuration highlighting/copying is accessible and usable on narrow screens.
-
/ui/redirects to/ui/statusuntil the Alerts page is complete. - Component tests cover all response and error states with a generated mock transport.
- A real Alertmanager smoke test exercises GetStatus at root and non-root route prefixes.
Dependencies and related work
- Generated Connect client/data layer: #5487.
- Application shell and shared states: #5488.
- StatusService #5477 is complete.
- Track relevant transport-policy changes from #5478.
Likely code areas
ui/mantine-ui/src/pages/{Status,Config}.page.tsx- generated status query adapters and tests
ui/mantine-ui/src/data/status.ts,src/data/api.ts- route defaults in the application shell
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.