Skip to main content

Edge Configuration

In one sentence

Every environment variable and endpoint of the octet-edge binary, in one place.

Environment variables

The edge is configured entirely through the environment.

VariableRequiredDefaultPurpose
PORTno8080Port the edge listens on.
OCTET_URLyesOctet's API base URL — where the edge forwards the bundle. Octet provides this.
LICENSEprodYour license key. Sent to Octet as the x-octet-license header.
OCTET_CA_FILEplannedPath to Octet's CA certificate. Pins and verifies Octet over HTTPS. For the planned mutual TLS — optional and inert until Octet provisions certs.
EDGE_CLIENT_CERT_FILEplannedPath to your client certificate for mutual TLS to Octet. Planned hardening — not required yet.
EDGE_CLIENT_KEY_FILEplannedPath to the matching private key. Planned hardening — not required yet.
EXIT_IPnoTesting only. Overrides the harvested source IP, for local setups where the browser↔edge connection is loopback. Leave unset in production.

TLS behavior. The edge reaches Octet at OCTET_URL (use https://). Mutual TLS is planned hardening and not yet in force — the OCTET_CA_FILE / EDGE_CLIENT_CERT_FILE / EDGE_CLIENT_KEY_FILE variables are optional and inert until Octet provisions certificates. When provided, OCTET_CA_FILE pins and verifies Octet over HTTPS, and adding the client certificate + key enables mutual TLS.

Endpoints

MethodPathPurpose
GET/healthLiveness check. Returns { "ok": true, ... }.
POST/v1/signalsThe collector posts the signal bundle here. The edge forwards it to Octet and returns a coarse result. Requires Content-Type: application/json.
GET/v1/wsWebSocket latency channel the collector measures against.

Paths are relative to wherever you mount the edge. With the collector's apiUrl: 'https://yourapp.com/octet', route /octet/* to the edge so /octet/v1/signals reaches /v1/signals. See the per-server guides.

Notes

  • The edge is Linux-only for the connection-level timing signal — it relies on a capability available only on Linux. A non-Linux build runs for development but omits that signal.
  • The edge is logic-free — it harvests connection-level signals and forwards. It holds no rules or thresholds.

Where to go next