prometheus/web/ui/mantine-ui
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
..
public Build both old & new UI into Prometheus, allow choosing via feature flag 2024-04-18 15:08:40 +02:00
src Add notifications to the web UI when configuration reload fails. 2024-09-27 15:28:38 +02:00
.gitignore Add scaffold for new Mantine-based UI 2024-02-17 12:29:47 +01:00
eslint.config.mjs Make linter run by upgrading the ESLint config 2024-09-06 20:35:55 +02:00
index.html Mantine UI: Use actual lookback delta in explain 2024-09-10 13:01:57 +02:00
package.json Change npm deps to 0.3xx 2024-09-10 10:16:45 +01:00
postcss.config.cjs Add scaffold for new Mantine-based UI 2024-02-17 12:29:47 +01:00
tsconfig.json Add scaffold for new Mantine-based UI 2024-02-17 12:29:47 +01:00
tsconfig.node.json Add scaffold for new Mantine-based UI 2024-02-17 12:29:47 +01:00
vite.config.ts Add commented-out Prometheus demo server as alternative to vite proxy config 2024-09-06 21:22:26 +02:00
vitest.config.ts Add PromQL logic code and labels explorer from PromLens, add testing deps 2024-09-02 13:45:36 +02:00