Expand description
Module listing, sidecar registration, and the sidecar reverse proxy.
GET /api/v1/modules merges the compiled-in manifests (from AppState::modules) with the
runtime-registered sidecars (the DB), so the dashboard builds its nav + routes from one live list.
Registration (POST/GET {id}/DELETE {id}) is admin-only — installing a plugin mints it a
scoped API key + a webhook subscription. /m/{id}/* reverse-proxies to the sidecar’s own UI + API
so a plugin is single-origin with the console (any authenticated principal may reach it).