Commit graph

37 commits

Author SHA1 Message Date
Julius Volz b826c43987
Calculate path prefix directly in initial settings Redux value (#14981)
Without this, the page that is shown first renders once with an empty path
prefix value, since the settings update takes a render cycle to complete.
However, we only fetch certain data from the API exactly once for a given
page, and not for every re-render with changed path prefix value (and we
also wouldn't want to fetch it from the wrong location initially).

This duplicates the served endpoint list once more, but exporting them from
App.tsx would also have been dirty (hot reload only works when a file only
exports one component and nothing else, thus there'd be a linter warning).

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-30 14:22:40 +02:00
Julien 6cde0096e2 Add notifications to the web UI when configuration reload fails.
This commit introduces a new `/api/v1/notifications/live` endpoint that
utilizes Server-Sent Events (SSE) to stream notifications to the web UI.
This is used to display alerts such as when a configuration reload
has failed.

I opted for SSE over WebSockets because SSE is simpler to implement and
more robust for our use case. Since we only need one-way communication
from the server to the client, SSE fits perfectly without the overhead
of establishing and maintaining a two-way WebSocket connection.

When the SSE connection fails, we go back to a classic
/api/v1/notifications API endpoint.

This commit also contains the required UI changes for the new Mantine UI.

Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-09-27 15:28:38 +02:00
Julius Volz 0180cf31aa Factor out common icon and card styles
Some checks failed
CI / Go tests (push) Has been cancelled
CI / More Go tests (push) Has been cancelled
CI / Go tests with previous Go version (push) Has been cancelled
CI / UI tests (push) Has been cancelled
CI / Go tests on Windows (push) Has been cancelled
CI / Mixins tests (push) Has been cancelled
CI / Build Prometheus for common architectures (0) (push) Has been cancelled
CI / Build Prometheus for common architectures (1) (push) Has been cancelled
CI / Build Prometheus for common architectures (2) (push) Has been cancelled
CI / Build Prometheus for all architectures (0) (push) Has been cancelled
CI / Build Prometheus for all architectures (1) (push) Has been cancelled
CI / Build Prometheus for all architectures (10) (push) Has been cancelled
CI / Build Prometheus for all architectures (11) (push) Has been cancelled
CI / Build Prometheus for all architectures (2) (push) Has been cancelled
CI / Build Prometheus for all architectures (3) (push) Has been cancelled
CI / Build Prometheus for all architectures (4) (push) Has been cancelled
CI / Build Prometheus for all architectures (5) (push) Has been cancelled
CI / Build Prometheus for all architectures (6) (push) Has been cancelled
CI / Build Prometheus for all architectures (7) (push) Has been cancelled
CI / Build Prometheus for all architectures (8) (push) Has been cancelled
CI / Build Prometheus for all architectures (9) (push) Has been cancelled
CI / Check generated parser (push) Has been cancelled
CI / golangci-lint (push) Has been cancelled
CI / fuzzing (push) Has been cancelled
CI / codeql (push) Has been cancelled
CI / Report status of build Prometheus for all architectures (push) Has been cancelled
CI / Publish main branch artifacts (push) Has been cancelled
CI / Publish release artefacts (push) Has been cancelled
CI / Publish UI on npm Registry (push) Has been cancelled
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-13 14:44:04 +02:00
Julius Volz a7c1a951df Add general Mantine overrides CSS file
...initially fixing the ellipsis overflow text cut-off in badges.

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-13 14:40:29 +02:00
Julius Volz bde5092471
Merge pull request #14882 from prometheus/new-ui-help-button
Bring back documentation link in the form of an action button
2024-09-10 12:54:00 +02:00
Julien 8aab6458b8 Mantine UI: Move /discovered-alertmanagers to /alertmanager-discovery
Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-09-10 12:12:21 +02:00
Julius Volz c1080990ac Bring back documentation link in the form of an action button
IMO this looks nicer than adding it as a normal page nav link as in
https://github.com/prometheus/prometheus/pull/14878

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-09 18:55:32 +02:00
Julius Volz 11f344e4d3 Move AM discovery page from "Monitoring status" -> "Server status"
Seems to at least make more sense to me like that.

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-09 14:32:27 +02:00
Julius Volz e2be869a7a Slightly improve navbar wrapping for long status title + narrow window
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-09 11:59:36 +02:00
Julius Volz 07856b4bb9 Make linter run by upgrading the ESLint config
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-06 20:35:55 +02:00
Julius Volz 1f8a6b4d6e Show Consoles link if configured
Some checks are pending
CI / Go tests (push) Waiting to run
CI / More Go tests (push) Waiting to run
CI / Go tests with previous Go version (push) Waiting to run
CI / UI tests (push) Waiting to run
CI / Go tests on Windows (push) Waiting to run
CI / Mixins tests (push) Waiting to run
CI / Build Prometheus for common architectures (0) (push) Waiting to run
CI / Build Prometheus for common architectures (1) (push) Waiting to run
CI / Build Prometheus for common architectures (2) (push) Waiting to run
CI / Build Prometheus for all architectures (0) (push) Waiting to run
CI / Build Prometheus for all architectures (1) (push) Waiting to run
CI / Build Prometheus for all architectures (10) (push) Waiting to run
CI / Build Prometheus for all architectures (11) (push) Waiting to run
CI / Build Prometheus for all architectures (2) (push) Waiting to run
CI / Build Prometheus for all architectures (3) (push) Waiting to run
CI / Build Prometheus for all architectures (4) (push) Waiting to run
CI / Build Prometheus for all architectures (5) (push) Waiting to run
CI / Build Prometheus for all architectures (6) (push) Waiting to run
CI / Build Prometheus for all architectures (7) (push) Waiting to run
CI / Build Prometheus for all architectures (8) (push) Waiting to run
CI / Build Prometheus for all architectures (9) (push) Waiting to run
CI / Report status of build Prometheus for all architectures (push) Blocked by required conditions
CI / Check generated parser (push) Waiting to run
CI / golangci-lint (push) Waiting to run
CI / fuzzing (push) Waiting to run
CI / codeql (push) Waiting to run
CI / Publish main branch artifacts (push) Blocked by required conditions
CI / Publish release artefacts (push) Blocked by required conditions
CI / Publish UI on npm Registry (push) Blocked by required conditions
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-04 21:50:44 +02:00
Julius Volz f3f324be89 Don't update pathPrefix in settings on every App render
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-04 17:18:41 +02:00
Julius Volz 9e4ffd044c Implement Alertmanagers discovery page
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-03 15:59:02 +02:00
Julius Volz 6999e8063f Don't wrap Prometheus logo + brand line
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-02 13:42:14 +02:00
Julius Volz d22e721d39 Add initial Service Discovery page
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-28 14:56:35 +02:00
Julius Volz 648751568d Better target table formatting, store filters in URL
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-10 20:25:38 +02:00
Julius Volz b0c6aa48a4 Remove "scroll to top" button, it's causing page renders on every scroll
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-06 16:38:05 +02:00
Julius Volz d0a08623f5 Add TODO about navbar breakpoint
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-08-05 19:04:21 +02:00
Julius Volz b06bb78543 Add filtering, limiting, and more to targets page
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-27 16:29:18 +02:00
Julius Volz 9252826659 ECharts experiment
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-17 21:09:30 +02:00
Julius Volz b2bf2226df Tweak menu icons
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-16 12:57:55 +02:00
Julius Volz 1aa79e29a2 Add server readiness check and WAL replay progress display
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-15 22:21:14 +02:00
Julius Volz 8fae131733 Move Settings context data into Redux settings slice
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-15 22:19:47 +02:00
Julius Volz af7a010558 Fix agent-mode menu items, path prefix calculation, and homepage redirects
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-07-10 22:41:47 +02:00
Julius Volz 1049c90cb5 Clean up file hierarchy a bit, add some more comments
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-04-09 12:36:53 +02:00
Julius Volz cdc4bf0ebc Various tiny code cleanups
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-04-03 16:15:50 +02:00
Julius Volz c2eb4007bb Better top nav page titles, clickable Prometheus brand logo
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-04-03 14:47:38 +02:00
Julius Volz 796d1806da Add Settings menu, make menu links left-justified again
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-14 12:07:13 +01:00
Julius Volz 121d92209d Make Status menu wide enough for new icon size
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-14 12:05:26 +01:00
Julius Volz dee41028f7 Fix path prefix handling for "/"
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-14 12:04:50 +01:00
Julius Volz 143917cfe0 Nav link size cleanups
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-14 12:04:24 +01:00
Julius Volz e29ad4a83b Add "Scroll to Top" component
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-14 12:02:45 +01:00
Julius Volz 33a753c2f8 Implement pathPrefix handling
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-08 14:06:05 +01:00
Julius Volz 2bb14c5787 Lots of more progress on the new Mantine UI
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-03-07 13:16:54 +01:00
Julius Volz ce1ca6481e Better navbar icon sizes
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-02-23 14:19:46 +01:00
Julius Volz d6a347e5de Implement several status pages and other general aspects
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-02-21 11:13:48 +01:00
Julius Volz dfabda7507 Add scaffold for new Mantine-based UI
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-02-17 12:29:47 +01:00