prometheus / prometheus/alertmanager

UI: integrate StatusService and configuration pages

Open
#5,489 0 comments 0 reactions 1 assignee View on GitHub

@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_time and 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/status request 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/status until 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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.