Mirrors the k8s manifests in deploy/ as a local dev stack: - cameleer-postgres (matches deploy/cameleer-postgres.yaml) - cameleer-clickhouse (matches deploy/cameleer-clickhouse.yaml, default CLICKHOUSE_DB=cameleer) - cameleer-server (built from Dockerfile, env mirrors deploy/base/server.yaml) - cameleer-ui (built from ui/Dockerfile, served on host :8080 to leave :5173 free for Vite dev) Dockerfile + ui/Dockerfile: REGISTRY_TOKEN is now optional (empty → skip Maven/npm auth). cameleer-common package is public, so anonymous pulls succeed; private packages still require the token. Backend defaults tuned for local E2E: - RUNTIME_ENABLED=false (no Docker-in-Docker deployments in dev stack) - OUTBOUND_HTTP_ALLOW_PRIVATE_TARGETS=true (so webhook tests can target host.docker.internal etc.) - UIUSER/UIPASSWORD=admin/admin (matches Playwright E2E_ADMIN_USER/PASS defaults) - CORS includes both :5173 (Vite) and :8080 (nginx)
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