Server internals

WebSocket /ws

HTTP routes (port 3843)

/api/auth/login

/api/auth/me

POST /api/events

GET /api/events/list

GET /api/events/stream

GET /api/routers

POST /api/command

GET /api/commands

GET /api/metrics

GET /api/alerts

POST /api/alerts/:id/ack

GET /health

router connections

store.go
SQLite layer

auth.go
JWT + scrypt

sse.go
broadcaster

metrics.go
1-min buckets

consumer.go
Redpanda → SQLite

Kafka producer
(franz-go)

router state
in-memory map

command queue
per router

idempotency
TTL janitor

Redpanda :9092