Rename maglev-frontend → maglevd-frontend; v0.9.1; API RX/TX pulse

Rename the web dashboard binary to maglevd-frontend and move it to
/usr/sbin (it's a daemon and belongs with maglevd). The systemd unit
name stays vpp-maglev-frontend.service since that prefix is the
package name. Manpage, README, user-guide, and debian packaging all
updated in lockstep; bump to 0.9.1 for the first real release.

All frontend env vars are now prefixed MAGLEV_FRONTEND_ so a single
/etc/default/vpp-maglev can be shared with maglevd without collisions.
Every flag has an env equivalent for Docker use. MAGLEV_FRONTEND_USER
and MAGLEV_FRONTEND_PASSWORD still gate the /admin surface.

VPPInfoPanel now pulses "API: ↑↓" indicators in the zippy title
whenever a vpp-api-send / vpp-api-recv log event arrives on the SSE
stream for the scoped maglevd — 250ms blue flash, re-triggerable,
with the two arrows tightly kerned via negative letter-spacing.
This commit is contained in:
2026-04-13 00:13:47 +02:00
parent 1191b3d994
commit 35643fd774
20 changed files with 380 additions and 83 deletions

View File

@@ -17,12 +17,21 @@ MAGLEV_CONFIG=/etc/vpp-maglev/maglev.yaml
# Log level: debug, info, warn, error (default: info)
#MAGLEV_LOG_LEVEL=info
# ---- maglev-frontend -------------------------------------------------------
# ---- maglevd-frontend ------------------------------------------------------
# The web dashboard is installed but not enabled by default. Enable with
# systemctl enable --now vpp-maglev-frontend
# after reviewing the arguments below.
# Command-line arguments passed to /usr/bin/maglev-frontend. At minimum
# Command-line arguments passed to /usr/sbin/maglevd-frontend. At minimum
# -server is required (comma-separated list of maglevd gRPC addresses).
# -listen controls the HTTP bind address. See maglev-frontend(8).
# -listen controls the HTTP bind address. See maglevd-frontend(8).
MAGLEV_FRONTEND_ARGS="-server localhost:9090 -listen=:8080"
# Basic-auth credentials for the /admin/ surface. When both are set to
# non-empty values, /admin/ is reachable and the SPA exposes backend
# lifecycle mutations (pause/resume/enable/disable/set-weight). When
# either is missing or empty, /admin/ returns 404 and the SPA hides
# the admin toggle entirely. Leave commented out for a read-only
# deployment.
#MAGLEV_FRONTEND_USER=admin
#MAGLEV_FRONTEND_PASSWORD=changeme