Operations
Health and metrics
Health
curl --fail http://localhost:8080/health
The health route requires no bearer token. Use Compose health checks and gateway logs to diagnose startup and database connectivity.
Metrics
GET /metrics exposes Prometheus-compatible gateway metrics without auth.
The metrics catalog and proxy routes under /v2/metrics provide names and
query access; proxy queries require a configured metrics service. The local
Compose bundle does not include that service.
curl --fail http://localhost:8080/metrics
Telemetry
The standalone gateway sends anonymous telemetry to
https://telemetry.hevlayer.com. It is fire-and-forget, off the request
path, and never blocks startup. The local Compose bundle disables it by
default.
Disable it with either variable:
LAYER_TELEMETRY=off
DO_NOT_TRACK=1
On Kubernetes, the Helm chart sets LAYER_TELEMETRY=off for you when
gateway.telemetry.enabled=false.
The gateway sends two events:
gateway_started, once at startup: gateway version, an anonymous instance ID, and the backend kinds it serves (pgvector,turbopufferorsearch).gateway_heartbeat, the same fields plus aggregate counts. Feature counters (automatic routing, hybrid/RRF, fuzzy surfacing, facets, scans, federated query, multi-store routing) are cumulative since startup.usagecounts successful queries, writes, and rows upserted, patched and deleted since the previous heartbeat. The gateway checks hourly and sends a heartbeat when there is usage to report, or once a day when idle.
A tool that starts the gateway can name itself with
LAYER_TELEMETRY_SOURCE (lowercase letters, digits and -, up to 32
characters, for example kit) and LAYER_TELEMETRY_SOURCE_VERSION (up to
32 characters of letters, digits, ., + and -). Both are sent as
distribution and distributionVersion; a value outside that shape is
not sent.
Telemetry never includes query text, vectors, namespace names, document IDs, bearer tokens, API keys, or document contents. See the generated telemetry reference.