2.8 KiB
Release verification — Checkpoint 28 public status dashboard
Checkpoint 28 replaces the active P3.2 HA roadmap item with an optional public, unauthenticated, read-only operational dashboard. Existing HA-readiness tools remain packaged but no cluster/coordinator behavior is introduced.
Runtime scope
Changed runtime areas:
- strict configuration schema: new
public_dashboardblock; - unauthenticated routing for the configured public dashboard path only;
- a dedicated sanitized public snapshot builder;
- embedded
internal/publicuiassets.
Unchanged semantics:
- inference/proxy protocol handling;
- scheduler/fairness/quota algorithms;
- worker selection and model placement;
- durable state schemas and storage files;
- admin authentication and admin UI authorization;
- batch/conversation persistence.
No state migration is required.
Privacy verification
The public API is not derived by JSON-marshalling admin/infrastructure objects. Tests require an explicit allow-list and fail if known sensitive fixture values appear in the public response. Verified absent fields/data include tenant, actor, application, internal request ID, worker URL, labels, internal error strings, telemetry errors and estimated credits.
Worker names and model names default to anonymized display names. Worker aliases can be explicitly supplied in configuration. Resource metrics contain only numeric operational values.
Automated verification
go test ./...— PASSgo vet ./...— PASSgo test -race ./...— PASSnode --check internal/publicui/assets/app.js— PASSnode --check internal/webui/assets/app.js— PASS- all four gateway release targets rebuilt — PASS
- every entry in
dist/SHA256SUMS— PASS config.example.jsonstrict parse test — PASS- production-derived checkpoint-28 config through
-check-config— PASS (2 workers,/datawritable)
Release-binary smoke
The packaged Linux amd64 gateway was started with a deterministic mock Ollama backend and an isolated state directory.
Verified:
/readyz— 200/status/without credentials — 200/status/api/snapshotwithout credentials — 200/gateway/ui-api/sessionwithout credentials — 401/gateway/ui-api/sessionwith admin API key — 200/v1/chat/completionswith API key — 200- post-request public snapshot contains the public worker alias and opaque
REQ-*request ID - post-request public snapshot does not contain private gateway/worker names, auth key, tenant/actor/application fields or worker URL
- SIGTERM shutdown — gateway exit code 0
Deployment
Enable the dashboard explicitly in configuration. A recommended production-derived example is supplied separately as gateway-config.checkpoint28.public-dashboard.json; it publishes model names but maps the two internal M75q worker names to GPU Node A and GPU Node B.