Xeonr Developer Docs

Home

Run untrusted code on the shared cluster with programmatic network control, durable workspaces and scale-to-zero apps.

The container platform runs code you don't fully trust — pipeline steps, codegen plugins, AI-agent sessions, user-supplied functions — on the shared cluster, with a kernel boundary (gVisor), a default-deny network, and a durable filesystem that isn't a PVC.

Everything is one ConnectRPC API at containers.xeonr.io, plus an operator console served from the same host. TypeScript callers should reach for the SDK rather than the protocol directly.

The three workload primitives

What it isLifetimeUse it for
JobRun argv to completion, collect outputsOne runPipeline steps, codegen, batch work
SandboxA long-lived pet with a terminal and a workspaceUntil suspended or deletedAgent sessions, cloud dev environments
AppReplicated HTTP workload that scales to zeroLong-lived, instances disposableFunctions, request-serving code

All three share the same environment (image), egress policy and namespace model. Jobs and sandboxes can attach a workspace; apps mount one read-only.

Endpoints

HostWhat
containers.xeonr.ioConnectRPC API + operator console
<port>-<sandbox-id>.preview.containers.xnr.appSandbox preview URLs (ExposePort)
<app-id>-<namespace>.apps.containers.xnr.appApp hostnames
registry.containers.xeonr.ioRegistry that built environments are pushed to

What makes it different

Programmatic FQDN egress. A workload's network is default-deny at L3, with exactly one route out: the platform's CONNECT proxy. Which hosts it may reach is a per-job policy you set in the API — and can widen or narrow on a running sandbox with GrantEgress — with every allow and deny audited. NetworkPolicy can't do domain names; this can.

No credentials in the workload. The sandbox agent sidecar holds the pod's only credentials. Product secrets go to an adapter container, never the workload's environment.

Workspaces without PVCs. A workspace is a file API over content-addressed object storage, so it outlives any pod, can be written before one exists and read after it's gone, resumes on any node, and snapshots for free.

Get started

API Reference

On this page