The continuous-backup counters GET /metrics reports as
mushroomdb_backup_*. The serve loop registers them with
register_backup_metrics when backup is configured; without that, no
backup series is emitted at all (absent, not zero, so an alert on
mushroomdb_backup_lag_seconds cannot be satisfied by a store that was
never backed up).
Build the HTTP router over db. The graph read endpoints (/query,
/node/{key}, its /edges and /neighborhood), /health, /metrics and
/algo/* run on a lock-free ReaderSnapshot, whose capture never waits
behind a writer (see SharedDb::reader). /stats, /explain,
/suggest, /find_similar and the history routes read the rule engine or
the WAL and take the read lock; /ingest takes the write lock. Guards are
dropped before any .await.
GET /watch upgrades to a WebSocket fed by the post-commit sink.
router_with_auth with an explicit CORS layer (see crate::parse_cors_origins).
None adds no CORS headers. The other routers read MUSHROOMDB_CORS_ORIGINS
instead; this one ignores the environment.
router_with_access_keys with the open-transaction limits given instead
of read from MUSHROOMDB_TX_MAX and MUSHROOMDB_TX_TIMEOUT_SECS. For an
embedder that serves several routers, and for tests that need a short idle
timeout.
Like router_with_ui but marks the connection as TLS-active so the auth
cookie carries the Secure attribute. Use when the binary is serving
directly over HTTPS (i.e. via serve_tls) rather than behind a proxy.