Files
cameleer-server/ui
hsiegeln 18e6dde67a fix(ui/alerts): align ALERT_VARIABLES registry with NotificationContextBuilder
Plan prose had spec §8 idealized leaves, but the backend NotificationContext
only emits a subset:
  ROUTE_METRIC / EXCHANGE_MATCH → route.id + route.uri (uri added)
  LOG_PATTERN → log.pattern + log.matchCount (renamed from log.logger/level/message)
  app.slug / app.id → scoped to non-env kinds (removed from 'always')
  exchange.link / alert.comparator / alert.window / app.displayName → removed (backend doesn't emit)

Without this alignment the Task 11 linter would (1) flag valid route.uri as
unknown, (2) suggest log.{logger,level,message} as valid paths that render
empty, and (3) flag app.slug on env-wide rules.
2026-04-20 13:35:42 +02:00
..
2026-04-15 15:28:42 +02:00
2026-04-15 15:28:42 +02:00
2026-04-15 15:28:42 +02:00
2026-04-15 15:28:42 +02:00

Cameleer UI

React SPA built with @cameleer/design-system v0.1.28, TanStack Query, and Zustand.

Development

npm install
npm run dev

By default the dev server proxies /api/* to http://localhost:8081. To proxy to a remote server instead:

VITE_API_TARGET=http://192.168.50.86:30081 npm run dev

No CORS issues — Vite's proxy makes API calls server-side.

Build

npm run build

API Types

Regenerate TypeScript types from a running backend:

npm run generate-api   # Requires backend running on :8081

Key Features

  • Composable sidebar with accordion behavior (Applications / Starred / Admin sections)
  • Context-aware cmd-k search: shows apps/routes/exchanges on operational pages, users/groups/roles on admin pages
  • LIVE mode toggle: when ON, queries poll at intervals (5s-30s); when OFF, sidebar clicks trigger manual refresh
  • Route control bar with state-aware buttons (start/stop/suspend/resume) and confirmation dialogs
  • Event-type icons in agent timeline with severity-based coloring