Skip to content

Zelavis Edge

Zelavis Edge is the Platform’s public traffic control plane. “Edge” means the ingress boundary where HTTP, HTTPS, TCP, or UDP traffic enters an installation; it is not a serverless runtime.

Traefik is the first bundled adapter, not the source of truth. Domains, route intent, certificate references, the desired adapter, the active adapter, and cutover progress belong to the Platform and its System Store. Traefik, Caddy, Nginx, or an external load balancer receives compiled output from that state. Changing adapters must therefore never require recreating a Project or moving its data.

An adapter cutover is a durable transaction:

  1. Preflight the target’s installed state, health, and required capabilities.
  2. Stage certificate references without making them authoritative for traffic.
  3. Stage proxy-specific routing generated from one immutable publication.
  4. Probe the staged target.
  5. Activate certificates, then routing.
  6. Drain the previous adapter.
  7. Commit the active adapter and publication revision.

Each adapter operation is idempotent for the switch identifier. A failed probe or activation rolls back the target routing and staged certificate material; the active policy is unchanged. Certificate bytes are not stored in the System Store. A certificate distributor resolves opaque references and can distribute the secret material to local or remote Agents.

The API, JavaScript client, and CLI expose the same operations:

Terminal window
zelavis edge status
zelavis edge plan traefik --publication platform-routes@42 --routes 1 --require http --require https
zelavis edge switch caddy --publication platform-routes@42 --routes 1 --require http --require https

The switch commands are usable only when the host has supplied an operational Edge manager and adapter. Packaged Linux releases include and supervise the pinned Traefik binary. Default system installations publish an HTTP fallback through the canonical route store and enable the proxy on ports 80 and 443. http://<server-ip>/zelavis/ works without a hostname; management listeners stay on loopback unless explicitly exposed. Hostname-specific routes outrank this fallback. The remaining host adapter must compile canonical route publications, stage certificate material through signed Agent operations, perform live probes, and atomically activate or roll back the generated directory before the installer can publish a hostname.

Edge needs a host that can run signed Agent operations. On a packaged Linux install it is active. In repository development (pnpm dev) there is no proxy at all: the runtime serves the dashboard and API directly, and the Traefik adapter is created only when the host has an Agent and host operations. Caddy exists today only as a test fixture that proves the contract fits a second proxy. See Execution Backends and Traffic for why Traefik is the default.

Owner bootstrap and public ingress are separate authority boundaries. The first owner can be claimed through production HTTP ingress or the private management listener. Only afterward may an authenticated Edge operation offer a managed hostname, an externally managed endpoint, or “configure later.” The browser and terminal wizards currently perform the authenticated Edge readiness check and leave hostname/TLS setup incomplete when the host integration is unavailable. Choosing “configure later” leaves IP-based HTTP ingress active. HTTPS is not established by the HTTP fallback.