mitos

module
v1.43.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 15, 2026 License: Apache-2.0

README

Mitos

Mitos

Isolated, forkable computers for your AI agents.
Millisecond microVM sandbox forking on Kubernetes: fork a running VM into parallel attempts and restore from memory in tens of milliseconds.

CI Release License Go Go Report Card Docs Discord

Quickstart . Documentation . Features . Comparison . Contributing . Community


What is Mitos

Mitos gives every AI agent its own isolated computer: a hardware-isolated Firecracker microVM that runs untrusted code safely and that you can fork while it is running. A live copy-on-write fork branches one warm VM into N independent siblings in tens of milliseconds, so an agent can explore many attempts in parallel from a shared, ready state, and you pay only for the pages each sibling changes.

Run it on your own Kubernetes cluster today, where your agents' code, data, and credentials never leave your infrastructure, or on the hosted API with no nodes to manage. As far as we know, it is the only runtime that is open source, self-hostable, Kubernetes-native, and able to live-fork a running VM, all at once.

Quickstart

1. Install and authenticate

pip install mitos-run
export MITOS_API_KEY=sk-...   # a key from https://mitos.run; no Kubernetes required

The SDK defaults to the hosted endpoint. The same code runs against your own cluster or a standalone sandbox-server by setting MITOS_BASE_URL. The key is resolved from the argument or MITOS_API_KEY and is never logged.

2. Create a sandbox and run code

import mitos

sb = mitos.create("python")                  # Ready microVM sandbox (~27 ms warm-claim)
print(sb.exec("echo hello").stdout)          # hello

# Files and a stateful code interpreter hang off the same flat handle.
sb.files.write("/workspace/plan.txt", "draft")
print(sb.run_code("import math; math.sqrt(144)").text)   # 12.0

Full reference: mitos.run/docs/quickstart.

3. Fork into parallel attempts

# N-way copy-on-write fork of the live VM: each sibling lands warm and independent.
a, b = sb.fork(2)
a.exec("echo conservative > /workspace/plan.txt")
b.exec("echo aggressive  > /workspace/plan.txt")

sb.terminate()

The async client mirrors the same surface: await mitos.aio.create("python") returns an AsyncDirectSandbox with the same exec / run_code / files / create_pty / fork / terminate.

Blocking exec and run_code work on the husk default. Streaming exec (sb.exec(..., on_stdout=...)), background processes (sb.exec_background(...)), and the interactive PTY (sb.create_pty()) run on the engine path today and are being brought to the husk default; run_code returns a fail-closed KernelUnavailable until the kernel ships in the husk base image.

Run it your way

Same engine, same API, more on-ramps. Depth is one click into the docs.

Every language, two modes. Each SDK speaks the same sandbox-server REST API in direct mode (standalone or hosted), and each also has cluster mode (an AgentRun that drives the mitos.run/v1 CRDs through the Kubernetes API). Default-pool naming is byte-for-byte identical across all six.

Language Install Direct Cluster SDK docs
Python pip install mitos-run sync + async AgentRun sdk/python
TypeScript npm i @mitos/sdk yes AgentRun sdk/typescript
Go go get github.com/mitos-run/mitos/sdk/go typed, errors.Is-friendly AgentRun sdk/go
Ruby gem (stdlib only) yes AgentRun sdk/ruby
Rust crate (blocking) yes AgentRun sdk/rust
Java JDK 17 (stdlib only) yes AgentRun sdk/java

The Go SDK ships in its own nested module (github.com/mitos-run/mitos/sdk/go), so importing it never pulls the controller into your build.

Self-hosting? Same code. The Helm chart deploys the same gateway the hosted service runs, so the quickstart above works unchanged against your own cluster: point MITOS_BASE_URL at your gateway and keep everything else. Hosted and self-hosted are one experience; only the URL and who operates it differ.

Kubernetes-native control, when you want it. For platform teams that manage pools declaratively (GitOps, RBAC-scoped automation, operators), the two-tier AgentRun path skips the gateway and drives the mitos.run/v1 CRDs through the Kubernetes API directly:

from mitos import AgentRun

c = AgentRun()                                   # kubeconfig or in-cluster; autodetected
sb = c.sandbox("python", ready=True)             # claims a warm sandbox, waits Ready
print(sb.exec("python -c 'print(40 + 2)'").stdout)   # 42

fork_a, fork_b = sb.fork(2)                       # fork against shared warmed state
sb.terminate()

c.sandbox("python") lazily creates a default pool if you have none; pass pool="my-pool" to use an existing one. Errors raise AgentRunError(code, cause, remediation). AsyncAgentRun mirrors the hot paths and adds create_pty() over WebSocket.

CLI and MCP.

The mitos CLI works against the hosted gateway (no cluster needed) or your own Kubernetes cluster:

go install mitos.run/mitos/cmd/mitos@latest      # requires a Go toolchain

# Hosted mode: set MITOS_API_KEY, no kubeconfig required.
export MITOS_API_KEY=sk-...
mitos sandbox create --pool python               # create from the python template
mitos sandbox exec <id> "python3 -c 'print(42)'"
mitos fork <id> --count 2                        # fork into 2 independent siblings
mitos sandbox ls
mitos sandbox terminate <id>

# Cluster mode (kubeconfig): target your own Kubernetes nodes.
mitos sandbox create --pool dev-default
mitos run echo hello --pool dev-default

mitos dev up brings up a one-command local control plane on a mock engine for cluster-mode development. An MCP server (mitos-mcp) exposes sandboxes as MCP tools for any MCP-speaking agent, and an Agent Skill teaches skill-aware agents the workflow. The full install matrix (script, Homebrew, deb/rpm, scoop/winget, checksums) is in mitos.run/docs/install.

Drop into the agent you already use. Each adapter is a thin shim over the same native ops (exec, run_code, files, fork), with no hard dependency on the framework package: Claude Code and opencode (MCP server + agent skill), the OpenAI Agents SDK, the Claude Agent SDK, LangChain / deepagents, Vercel AI SDK / Pydantic AI / AutoGen / LlamaIndex (standard MCP), and "change one import" migration shims for teams leaving the E2B or Daytona clouds. The integrations hub indexes every path.

Install the operator.

kubectl apply -k deploy/

The self-contained kustomize base installs the CRDs, the controller (husk mode), the forkd DaemonSet, the /dev/kvm device plugin, and the PKI bootstrap, and applies on a real KVM node with no manual patches. The Helm chart is published to the OCI registry on GHCR: helm install mitos oci://ghcr.io/mitos-run/charts/mitos --version 1.42.1; see deploy/charts/mitos. Then declare a warm pool, and fork from it with a Sandbox whose source.fromSandbox points at a live session (templates):

apiVersion: mitos.run/v1
kind: SandboxPool
metadata:
  name: python-agent-pool
spec:
  template:
    image: python:3.12-slim
    init: ["pip install numpy pandas requests"]
    resources: { cpu: "1", memory: "512Mi" }
    volumes:
      - { name: workspace, size: 5Gi, forkPolicy: Snapshot }
  warm: { min: 10 }

Where it runs. The only node requirement is /dev/kvm plus the label mitos.run/kvm=true, so mitos installs on any Kubernetes cluster with bare-metal or nested-virtualization KVM nodes:

platform KVM node guide
Bare metal (Talos, Hetzner) native /dev/kvm docs/platforms/talos-hetzner.md (first-class reference)
AWS / EKS *.metal or nested-virt node groups generic chart today; per-cloud guide is issue #919
GKE nested-virtualization node pools generic chart today; per-cloud guide is #919
Azure / AKS nested-virt-capable VM sizes generic chart today; per-cloud guide is #919

The chart and CRDs are identical across all of them; only the node pool that supplies /dev/kvm differs.

Why Mitos

Agent harnesses need fast, isolated environments where agents read and write files, install packages, and run untrusted code. Every existing option forces a trade: speed without ownership, isolation without forking, Kubernetes-native without warm starts, or durability locked inside someone else's cloud.

  • Live-fork a running VM. N-way copy-on-write fork of a live microVM: daughters share the parent's memory pages until they write, so each fork lands in a warm, ready environment. Branch one agent into many parallel attempts.
  • ~27 ms warm-claim activate. Firecracker microVMs restore from a memory snapshot in the tens-of-milliseconds class: P50 ~27 ms on the bare-metal reference node, reproducible from bench/husk-activate-latency.sh.
  • Open source, self-hostable, Kubernetes-native. As far as we know, the only runtime that does all three. You drive the whole lifecycle through declarative CRDs (mitos.run).

Two ways to run it:

  • Self-hosted (today): any Kubernetes cluster with KVM nodes. Your data never leaves your infrastructure. Bare metal (Talos + Hetzner) is the first-class reference platform.
  • Hosted (in progress): the same engine and API operated by us, for teams that want milliseconds without managing nodes.

Two engine paths exist. The husk pod-native path is the default: each VM runs in its own unprivileged pod, and the source husk pod snapshots its running VM so N child pods restore it via CoW. The raw-forkd path runs forks in forkd's in-process engine. Everything here runs on the husk default unless explicitly marked engine path.

Sandboxes are not pods. Pod-scoped Kubernetes mechanisms (NetworkPolicy, ResourceQuota, PSA) govern the husk pod, not the workload inside the microVM; the sandbox is the VM, not the husk pod, and where we provide an equivalent it is documented as ours. The full claim and exec data paths and the component diagram are at mitos.run/docs/architecture.

Benchmarks

Every number here is reproducible from bench/ on real KVM hardware; nothing is published that a reader cannot regenerate (the project's no-unverified-claims rule). Each row names what it measures and the exact command that reproduces it. Full per-run data and hardware context live in bench/results/.

Hosted time-to-interactive, against the ComputeSDK peer set

Time to interactive (TTI) is the only figure that is apples-to-apples with the public ComputeSDK benchmark every hosted sandbox vendor is measured against: the clock starts at create() and stops when a command has actually RUN inside the sandbox and returned.

provider TTI P50 measures
northflank 95.9 ms ComputeSDK published
mitos 96.8 ms our harness, api.mitos.run
daytona 136.2 ms ComputeSDK published
e2b 365.6 ms ComputeSDK published

Reproduce our number and the peer table (peer numbers are read from the immutable commit ComputeSDK published, not re-run by us):

MITOS_API_KEY=... python3 bench/tti-latency.py 100        # our TTI, N=100
python3 bench/peer-tti.py --date 2026-07-09 \
  --ref 3eddee1a972bd49aea56fd6c16d238ca0a45dece            # the peer table

Read it with the caveats the full record states and does not hide: this is our harness beside their published numbers, not a measured position in their leaderboard; it is the sequential run (a concurrent burst would drain today's single-node warm pool, issue #586); and claiming an actual leaderboard rank requires shipping the computesdk/computesdk adapter (issue #891). Within those bounds, hosted mitos sits below Daytona and level with Northflank, 100/100 successful iterations.

Forking inside your cluster (one agent spawning subagents)

When an agent runs in your cluster and branches itself into parallel attempts, the cost that matters is fork-to-first-exec: the wall clock from a live-VM fork to a command returning in the child. Measured with the same in-process engine forkd drives:

metric number measures
fork -> first exec P50 ~104 ms (reference node), ~67 ms on reflink + NVMe one live fork to a ready, exec-serving child
fork(n) fan-out ~56 ms P50 per child at n=4 and n=16 one warm base fanned into N independent siblings
CoW memory density 8 forks cost ~35 MiB resident, not ~209 MiB unique pages paid for, shared pages counted once
go build -o /tmp/bench ./cmd/bench/
/tmp/bench --mode fork-exec   --template <id> --data-dir <dir> --iterations 100   # fork -> first exec
/tmp/bench --mode fork-fanout --template <id> --data-dir <dir> --fanout-n 1,4,16   # 1-to-N fan-out

Full method and hardware in bench/README.md; results in 2026-06-19-bare-metal-fork-exec.md and 2026-06-21-kvm-perf-correctness.md.

Warm-claim activate (the engine, not the round trip)

The engine's own warm-sandbox activate (snapshot load + fork-correctness handshake + guest-ready) is P50 ~27 ms on the bare-metal reference node, reproducible from bench/husk-activate-latency.sh. This is a smaller, different number than the end-to-end hosted TTI above; quoting the engine figure against a competitor's create-API number would be a category error, so we keep them separate.

Features

The husk pod-native path is the default. A few capabilities run today only on the raw-forkd engine path and are marked, with a link to the tracking issue.

Speed

Capability What you get Docs
Warm-claim activate P50 ~27 ms on the bare-metal reference node (snapshot load + fork-correctness handshake + guest-ready); ~6-16 ms snapshot restore; ~3 MiB marginal memory per fork via CoW page sharing BENCHMARKS.md
Pre-snapshotted pools OCI images flattened to ext4 rootfs and warmed with your init steps before snapshotting, so there is no cold start on claim docs/templates.md
CoW memory sharing You pay for unique pages across forks, not for copies mitos.run/docs/metering
Content-addressed distribution Forks pull only the missing sha256 chunks from a holder over mTLS; rebuilds ship deltas under a version-compatibility contract docs/snapshot-distribution.md

Isolation

Capability What you get Docs
Hardware isolation per session A dedicated kernel per sandbox (KVM/Firecracker); on the husk default each VM runs in its own unprivileged, PSA-restricted pod, which is the per-VM boundary mitos.run/docs/threat-model
No silent secret inheritance Live forks of secret-holding sandboxes are rejected unless explicitly opted in; credentials are injected at claim time over vsock, never baked into snapshots mitos.run/docs/threat-model
Default-deny egress An in-pod nftables default-deny filter in the pod's own netns (CNI-independent), with an unconditional cloud-metadata (169.254.169.254) block and a per-template allowlist by IP:port and by name through an in-pod DNS proxy. Verified end to end on a real KVM cluster; the guest cannot influence enforcement mitos.run/docs/networking
Encryption at rest Per-scope LUKS2 containers with crypto-shredding and KMS envelope wrapping (behind --enable-encryption, fail-closed); HSM-backed keys and per-workspace scope are follow-ups docs/encryption.md

Agent DX

Capability What you get Docs
Blocking exec Correct stdout and exit code over the sandbox API mitos.run/docs/cli
Streaming exec and PTY Incremental stdout/stderr, background processes, and a token-gated interactive WebSocket terminal (engine path) mitos.run/docs/cli
Code interpreter run_code with a stateful kernel and rich multi-MIME results, in every SDK and the MCP server; fail-closed KernelUnavailable until the kernel ships in the husk base image mitos.run/docs/mcp
LLM-legible errors Every failure carries {code, cause, remediation}, parsed by the SDKs into a structured AgentRunError docs/api/errors.md

Kubernetes-native

Capability What you get Docs
Declarative CRDs SandboxPool, Sandbox (poolRef/fromSandbox/fromRevision source), Workspace/WorkspaceRevision in mitos.run/v1 with volume topology and fork behavior docs/templates.md
Pod-native execution Each per-sandbox VM runs in an unprivileged pod (/dev/kvm from a device plugin, not privileged), so CPU/memory requests are scheduler truth and PSA governs the pod mitos.run/docs/threat-model
Capacity-aware scheduling CoW bin-packing onto warm holders, a CoW-aware overcommit budget, a MaxSandboxes host-DoS ceiling with atomic slot reservation, and typed NoCapacity backpressure instead of OOMing a node docs/scheduling.md
Demand-driven autoscaling SandboxPool.spec.autoscale scales the dormant husk-pod count to clamp(inUse + targetSpare, minWarm, maxWarm) with an anti-thrash cooldown; a fixed pool is just minWarm == replicas docs/scheduling.md
Failure and GC semantics Claim TTLs, orphan-VM sweeps, controller-restart reconciliation, forkd crash reaping via an on-disk journal, node-loss handling, and saturation backpressure, all CI-proven docs/failure-gc.md

Durable state

Capability What you get Docs
Durable forkable workspaces Workspace/WorkspaceRevision CRDs: durable, versioned, forkable agent state independent of any sandbox. /workspace hydrates on start and a committed revision dehydrates on terminate over the content-addressed store. Verified create -> commit -> fork on a real KVM cluster mitos.run/docs/workspaces
Outputs and diff spec.lifetime.onTerminate.outputs narrows the dehydrate to listed subtrees; {diff: true} records a content-hash diff against the parent head mitos.run/docs/workspaces
Git rendezvous A {git} output pushes per-attempt branches to a rendezvous remote (the engine pushes; a human or CI merges). Best-effort on husk today mitos.run/docs/workspaces
Dev-environment URL mitos workspace serve <ws> --pool P warm-claims a forked sandbox bound to the workspace and returns a ready https://<label>.<expose-domain>/ URL; each forked session gets its own URL docs/recipes/dev-environment.md

Operable

Capability What you get Docs
Metrics and tracing Node and controller Prometheus metrics, a per-claim OpenTelemetry trace (--otlp-endpoint), and a toggleable structured audit log (--audit-log) recording command/path and byte counts, never content or secrets mitos.run/docs/observability
CoW-aware metering The shared template page set is counted once, not once per fork, so billing and scheduling reflect the honest physical footprint mitos.run/docs/metering
Operator tooling kubectl mitos plugin (ls / ps) and the operational GET /v1/metering report mitos.run/docs/observability
Bare metal first-class Talos + Hetzner is the reference platform docs/platforms/talos-hetzner.md
Single-user first run k3s quickstart with a one-user login gate (QA only, not production) docs/platforms/k3s-quickstart.md

Comparison

A head-to-head numbers table belongs here only when our harness can regenerate it against the actual competitors on the same hardware, with scripts in this repo. That harness is #15. The figures below are other vendors' published numbers, for different operations, on different hardware, with different methodology: they are not measured by us and are not a head-to-head claim.

Runtime Published figure (theirs, not ours) Operation they describe
Mitos (ours, measured) ~27 ms P50 warm-claim activate on the bare-metal reference node
E2B ~150 ms sandbox create
Daytona sub-90 ms create from snapshot
Modal sub-second sandbox create
CodeSandbox SDK ~863 ms / ~495 ms live fork / memory-resume
Fly Machines < 1 s machine start

What is comparable and real today is the qualitative pareto map: the combination of open source, self-hostable, k8s-native, and live snapshot fork is the axis where Mitos is alone.

Mitos E2B Modal Daytona Morph Cloudflare Box Agent Sandbox Kata/KubeVirt raw Firecracker
Hardware isolation per session KVM microVM microVM gVisor container/VM microVM V8 isolate VM Kata option KVM KVM
Snapshot fork of running state yes, core primitive snapshot/resume memory snapshots no yes (Infinibranch) no disk fork no no DIY
Warm-pool millisecond claims yes (design center) warm pools warm pools workspaces yes instant isolates not published 1-3s cold seconds DIY
Durable forkable workspaces Workspace CRD no volumes workspaces yes, proprietary yes (disk) no PVCs PVCs no
Kubernetes-native API CRDs SaaS API SaaS API SaaS/OSS SaaS API SaaS API agent-native CLI CRDs CRDs no
Self-hostable yes, any KVM cluster partial OSS no OSS core no no no yes yes yes
Hosted option planned (same engine) yes yes yes yes yes yes (only) no no no
Your data stays on your infra yes (self-hosted) no no partial no no no yes yes yes
Open source Apache 2.0 partial no partial no no no Apache 2.0 Apache 2.0 Apache 2.0

SaaS runtimes (E2B, Modal, Daytona, Cloudflare) are fast, but your agents' code, data, and credentials run on someone else's infrastructure with no self-host path at equivalent capability. Morph built the right state model (branch/restore) as a proprietary cloud; our Workspace primitive targets the same semantics, open source, at fork(2) speeds. Agent Sandbox (k8s-sigs) is winning the Kubernetes API standard without a snapshot-fork engine, which is why we ship a conformance facade (cmd/facade) to be its fastest backend rather than fight it (docs/facade-conformance.md). Kata, KubeVirt, and raw Firecracker give you the isolation primitive and leave the pool, fork, distribution, and agent-API layers as your problem.

If an alternative beats us on an axis you care about and we have no roadmap line that closes it, that is a bug in our strategy: open an issue.

Architecture

Mitos boots Firecracker microVMs, forks them through copy-on-write snapshots, and exposes the whole lifecycle through declarative CRDs (SandboxPool, Sandbox, Workspace) in the mitos.run/v1 API group. A sandbox is a microVM, not a pod: it gets hardware isolation through KVM, and pod-scoped mechanisms (NetworkPolicy, ResourceQuota, PSA) do not govern it.

The pieces:

  • controller (Deployment): reconciles the CRDs, selects a node, and drives forkd. It tracks the available fork nodes through a registry fed by per-node capacity heartbeats.
  • forkd (DaemonSet): the per-node daemon that owns the VMs. It serves gRPC on :9090 for the controller (fork, prepare-pool, heartbeat) and an HTTP sandbox API on :9091 for exec and file traffic. It needs /dev/kvm, so it runs only on KVM-capable nodes.
  • guest agent: PID 1 inside each microVM. It speaks a vsock protocol for exec, files, environment, and fork notifications.
  • sandbox-server: the same fork engine behind a plain REST API, with no Kubernetes required, for local loops and single-host use.
  • SDKs (sdk/python, sdk/typescript, sdk/go, and more): clients for the hosted service, a cluster, or sandbox-server.

Two hot paths carry the system:

  • Claim path: the controller picks a warm node from the registry and calls forkd Fork over gRPC; the resulting sandbox reports Ready through forkd's HTTP API on that node.
  • Exec path: the SDK or CLI talks to forkd on :9091, which bridges over vsock to the guest agent inside the VM.

Fork is the core primitive: a source VM is snapshotted once and N children restore from that snapshot through copy-on-write, so each sibling lands warm and independent while the shared template pages are stored and metered once. Because Firecracker needs hardware virtualization, bare metal (Talos on Hetzner is the reference platform) is a first-class target; the cloud control plane stays on ordinary nodes while execution lands on KVM-capable machines.

Project status

Early development, pre-1.0 (latest release v0.3.0). Do not run untrusted code in production yet: there has been no external security review and some isolation controls remain open (see the threat model for the exact per-boundary status). The control plane is real end to end, proven in CI against mock engines and real Firecracker VMs, and exercised on a single-node Talos KVM cluster.

Verified on a real KVM cluster (husk default): warm-claim activate, blocking exec, run_code failing closed with KernelUnavailable, self-heal / re-pend, pool warming plus demand autoscaling, live sandbox fork (the source husk pod snapshots its VM and N child pods restore it via CoW, each an independent Ready child), durable forkable workspaces (create -> commit -> fork), and pod egress isolation (default-deny, cloud-metadata block, per-template allowlist).

Tracked tails not yet on the husk default: streaming exec and the interactive PTY; live-VM memory snapshot hooks for resumable workspace heads; S3/encryption live store-selection; the husk {git} workspace push; and multi-node N>1 (designed, single-node-verified).

ROADMAP.md is the single source for what is done, in progress, and gated. The operating rule: this repository never describes a system that does not exist.

Local development (no KVM required)

mitos dev up brings up a local kind cluster on a mock control plane and the mitos CLI drives the full claim path; the mock engine reconciles claims to Ready and exercises control-plane dispatch, but a real in-VM exec needs a node with /dev/kvm. For the no-cluster REST loop, run go run ./cmd/sandbox-server --mock --addr :8080 and point the Python SDK at it. The full kind walkthrough is at mitos.run/docs/cli.

Documentation

Full documentation lives at mitos.run/docs: quickstart, architecture, SDK and CLI reference, sandbox lifecycle, workspaces, networking, and the threat model, all rendered from this repository.

The complete long tail (templates, snapshot format and distribution, encryption and secrets, scheduling and density, failure and GC, fork-engine correctness, recipes, and the target v2 API spec) lives in docs/ in this repo. Benchmark methodology is in BENCHMARKS.md.

Contributing

Contributions welcome. See CONTRIBUTING.md and CLAUDE.md for conventions, and the issues page for work tracked against ROADMAP.md.

Security

The threat model with per-boundary status lives at mitos.run/docs/threat-model; no external security review has happened yet, and the document says exactly what is open. To report a vulnerability, see SECURITY.md.

License

Apache 2.0.

Directories

Path Synopsis
api
v1
+kubebuilder:object:generate=true +groupName=mitos.run +versionName=v1
+kubebuilder:object:generate=true +groupName=mitos.run +versionName=v1
bench
claim command
Command claim-bench is the reproducible harness behind the controller-path benchmark numbers issue #15 still leaves open: claim -> first-exec end to end through the controller, sustained claims/sec with per-node density, and pool-rebuild propagation.
Command claim-bench is the reproducible harness behind the controller-path benchmark numbers issue #15 still leaves open: claim -> first-exec end to end through the controller, sustained claims/sec with per-node density, and pool-rebuild propagation.
facade command
Command facade-bench is the reproducible harness behind the facade pause/resume latency comparison (issue #19; see BENCHMARKS.md "Facade vs upstream reference: resume latency").
Command facade-bench is the reproducible harness behind the facade pause/resume latency comparison (issue #19; see BENCHMARKS.md "Facade vs upstream reference: resume latency").
cmd
bench command
Command bench measures the sandbox fork and exec data path directly against the real KVM-backed engine.
Command bench measures the sandbox fork and exec data path directly against the real KVM-backed engine.
cas-verify command
Command cas-verify is a small operational and CI helper for the content-addressed snapshot store (internal/cas).
Command cas-verify is a small operational and CI helper for the content-addressed snapshot store (internal/cas).
cdp-relay command
cmd/cdp-relay/main.go
cmd/cdp-relay/main.go
console command
Command console serves the hosted web console BACKEND-FOR-FRONTEND (BFF) for the SaaS offering (issue #214): an org-scoped JSON API that aggregates the accounts/keys (#210), usage/cost (#211), billing (#212), live sandboxes, and templates services into the views the console UI renders, plus a minimal server-rendered index that lists the org's keys and usage to PROVE the wiring.
Command console serves the hosted web console BACKEND-FOR-FRONTEND (BFF) for the SaaS offering (issue #214): an org-scoped JSON API that aggregates the accounts/keys (#210), usage/cost (#211), billing (#212), live sandboxes, and templates services into the views the console UI renders, plus a minimal server-rendered index that lists the org's keys and usage to PROVE the wiring.
console/spa
Package spa embeds the built console SPA (web/app/dist) into the console binary so a SINGLE image serves both the BFF and the UI — no Node at runtime, one Helm Deployment.
Package spa embeds the built console SPA (web/app/dist) into the console binary so a SINGLE image serves both the BFF and the UI — no Node at runtime, one Helm Deployment.
controller command
crash-reap-smoke command
Command crash-reap-smoke drives the real KVM-backed fork engine to prove the forkd crash-reconcile path on a real Firecracker process (fork-correctness section 7, issues #3 and #12).
Command crash-reap-smoke drives the real KVM-backed fork engine to prove the forkd crash-reconcile path on a real Firecracker process (fork-correctness section 7, issues #3 and #12).
crypt-smoke command
Command crypt-smoke is a small CI helper that drives the REAL internal/storecrypt Manager (with the production DefaultRunner, so the actual cryptsetup code path is exercised, not just raw cryptsetup) to prove encryption at rest, decrypt/restore through the mount, and crypto-shred.
Command crypt-smoke is a small CI helper that drives the REAL internal/storecrypt Manager (with the production DefaultRunner, so the actual cryptsetup code path is exercised, not just raw cryptsetup) to prove encryption at rest, decrypt/restore through the mount, and crypto-shred.
dns-stub command
Command dns-stub is a deterministic stub DNS resolver for the KVM CI name-egress proof.
Command dns-stub is a deterministic stub DNS resolver for the KVM CI name-egress proof.
facade command
Command facade runs the agents.x-k8s.io conformance facade controller (issue #19).
Command facade runs the agents.x-k8s.io conformance facade controller (issue #19).
forkd command
frontdoor command
Command frontdoor is the Mitos hosted-launch front-door reverse proxy.
Command frontdoor is the Mitos hosted-launch front-door reverse proxy.
gateway command
Command gateway is the public, customer-facing front door for the hosted offering (issue #210).
Command gateway is the public, customer-facing front door for the hosted offering (issue #210).
grpc-exec-smoke command
cmd/grpc-exec-smoke proves the new gRPC runtime path (sandbox.v1.Sandbox) works against a REAL guest VM over vsock.
cmd/grpc-exec-smoke proves the new gRPC runtime path (sandbox.v1.Sandbox) works against a REAL guest VM over vsock.
husk-probe command
Command husk-probe is the load-bearing proof that husk pods share memory.
Command husk-probe is the load-bearing proof that husk pods share memory.
husk-stub command
Command husk-stub is the single-VM husk process: it brings up a DORMANT Firecracker VMM at start, then listens on a control Unix socket and ACTIVATES the VM in place by loading a snapshot when an activate request arrives.
Command husk-stub is the single-VM husk process: it brings up a DORMANT Firecracker VMM at start, then listens on a control Unix socket and ACTIVATES the VM in place by loading a snapshot when an activate request arrives.
kubectl-mitos command
Command kubectl-mitos is a kubectl plugin that lists mitos.run sandbox objects.
Command kubectl-mitos is a kubectl plugin that lists mitos.run sandbox objects.
kvm-device-plugin command
Command kvm-device-plugin is a Kubernetes device plugin that advertises the KVM device (mitos.run/kvm) to the kubelet and injects /dev/kvm (and /dev/net/tun) into containers that request it.
Command kvm-device-plugin is a Kubernetes device plugin that advertises the KVM device (mitos.run/kvm) to the kubelet and injects /dev/kvm (and /dev/net/tun) into containers that request it.
live-fork-egress-smoke command
Command live-fork-egress-smoke is the KVM acceptance gate for issue #336: a LIVE fork (Engine.ForkRunning) of a NETWORKED sandbox routed through the per-sandbox egress proxy.
Command live-fork-egress-smoke is the KVM acceptance gate for issue #336: a LIVE fork (Engine.ForkRunning) of a NETWORKED sandbox routed through the per-sandbox egress proxy.
live-state-fork-smoke command
Command live-state-fork-smoke is the KVM acceptance gate for issue #596: a LIVE fork (Engine.ForkRunning) carries the SOURCE's running state, BOTH its on-disk filesystem AND its in-memory state, into the child, instead of re-forking the cold template.
Command live-state-fork-smoke is the KVM acceptance gate for issue #596: a LIVE fork (Engine.ForkRunning) carries the SOURCE's running state, BOTH its on-disk filesystem AND its in-memory state, into the child, instead of re-forking the cold template.
mem-smoke command
Command mem-smoke drives the real KVM-backed fork engine to prove that the lifetime memory metering tracks a fork's memory GROWTH after a real workload, not just the T=0 dirty-page footprint recorded at fork time (fork-correctness section 5, issue #3).
Command mem-smoke drives the real KVM-backed fork engine to prove that the lifetime memory metering tracks a fork's memory GROWTH after a real workload, not just the T=0 dirty-page footprint recorded at fork time (fork-correctness section 5, issue #3).
mitos command
Command mitos is the command-line interface for snapshot-fork sandboxes.
Command mitos is the command-line interface for snapshot-fork sandboxes.
mitos-canary command
Command mitos-canary continuously exercises the full user-facing sandbox path (auth -> gateway -> controller -> forkd -> fork -> exec -> terminate) against a live mitos install and exports the result as Prometheus metrics.
Command mitos-canary continuously exercises the full user-facing sandbox path (auth -> gateway -> controller -> forkd -> fork -> exec -> terminate) against a live mitos install and exports the result as Prometheus metrics.
mitos-mcp command
Command mitos-mcp exposes the mitos sandbox lifecycle (create, exec, file IO, fork, terminate) as Model Context Protocol tools over a stdio JSON-RPC transport.
Command mitos-mcp exposes the mitos sandbox lifecycle (create, exec, file IO, fork, terminate) as Model Context Protocol tools over a stdio JSON-RPC transport.
net-fork-smoke command
Command net-fork-smoke drives the real KVM-backed fork engine with per-fork networking enabled to prove that each fork gets a DISTINCT guest network identity (fork-correctness row 4): two forks of one snapshot must end up with different guest eth0 MAC addresses and different guest IPs, and neither MAC may be the shared placeholder baked into the template snapshot.
Command net-fork-smoke drives the real KVM-backed fork engine with per-fork networking enabled to prove that each fork gets a DISTINCT guest network identity (fork-correctness row 4): two forks of one snapshot must end up with different guest eth0 MAC addresses and different guest IPs, and neither MAC may be the shared placeholder baked into the template snapshot.
net-smoke command
Command net-smoke drives the REAL internal/network Linux Manager against a live nft + iproute2 on the KVM CI runner.
Command net-smoke drives the REAL internal/network Linux Manager against a live nft + iproute2 on the KVM CI runner.
preview-proxy command
Command preview-proxy is the per-sandbox preview URL reverse proxy (issue #126).
Command preview-proxy is the per-sandbox preview URL reverse proxy (issue #126).
pull-smoke command
Command pull-smoke proves the build-once-distribute path end to end on ONE machine using TWO engines and TWO data dirs: node A builds a template into its content-addressed store and serves that store over TLS gated by a peer token (exactly the surface forkd mounts under /cas), and node B's engine.PullTemplate pulls the snapshot from A over a real HTTPS connection, materializes it, verifies it (manifest digest + snapshot compatibility), writes the verified marker, and then forks a sandbox from the PULLED template and execs an assertion inside it.
Command pull-smoke proves the build-once-distribute path end to end on ONE machine using TWO engines and TWO data dirs: node A builds a template into its content-addressed store and serves that store over TLS gated by a peer token (exactly the surface forkd mounts under /cas), and node B's engine.PullTemplate pulls the snapshot from A over a real HTTPS connection, materializes it, verifies it (manifest digest + snapshot compatibility), writes the verified marker, and then forks a sandbox from the PULLED template and execs an assertion inside it.
rendezvous-server command
Command rendezvous-server is the minimal authenticated git-http rendezvous server: the external remote a workspace {git} output pushes per-attempt branches to.
Command rendezvous-server is the minimal authenticated git-http rendezvous server: the external remote a workspace {git} output pushes per-attempt branches to.
sandbox-server command
test-agent command
tmpl-smoke command
Command tmpl-smoke drives the real KVM-backed fork engine end to end to prove the image-to-rootfs pipeline: it builds a Firecracker template FROM AN OCI IMAGE (pull -> flatten -> inject agent -> ext4 -> boot -> run init in the VM -> snapshot), forks a sandbox from that template, and execs assertions over the guest agent that prove BOTH the init command ran (a file it wrote exists with the expected content) AND the image filesystem is present (an image-specific binary resolves).
Command tmpl-smoke drives the real KVM-backed fork engine end to end to prove the image-to-rootfs pipeline: it builds a Firecracker template FROM AN OCI IMAGE (pull -> flatten -> inject agent -> ext4 -> boot -> run init in the VM -> snapshot), forks a sandbox from that template, and execs assertions over the guest agent that prove BOTH the init command ran (a file it wrote exists with the expected content) AND the image filesystem is present (an image-specific binary resolves).
vol-smoke command
ws-smoke command
Command ws-smoke drives the bulk workspace hydrate/dehydrate data path against real guest VMs over vsock, for the KVM integration phase.
Command ws-smoke drives the bulk workspace hydrate/dehydrate data path against real guest VMs over vsock, for the KVM integration phase.
hack
apierrlint command
Command apierrlint is the STATIC remediation guarantee for issue #28.
Command apierrlint is the STATIC remediation guarantee for issue #28.
internal
admission
Package admission holds the controller's validating admission webhooks.
Package admission holds the controller's validating admission webhooks.
agentcli
Package agentcli implements the Mitos command-line interface: a thin, dependency-free command tree over a Backend that drives the sandbox lifecycle (create, exec, file IO, fork, terminate, list).
Package agentcli implements the Mitos command-line interface: a thin, dependency-free command tree over a Backend that drives the sandbox lifecycle (create, exec, file IO, fork, terminate, list).
apierr
Package apierr defines the LLM-legible error envelope returned by the forkd sandbox API and the standalone sandbox-server.
Package apierr defines the LLM-legible error envelope returned by the forkd sandbox API and the standalone sandbox-server.
atr
Package atr is a native Go evaluator for the regex-condition subset of Agent Threat Rules (ATR-SPEC-v1, https://github.com/Agent-Threat-Rule/agent-threat-rules), an MIT-licensed Sigma-style ruleset for AI-agent threats.
Package atr is a native Go evaluator for the regex-condition subset of Agent Threat Rules (ATR-SPEC-v1, https://github.com/Agent-Threat-Rule/agent-threat-rules), an MIT-licensed Sigma-style ruleset for AI-agent threats.
benchstat
Package benchstat provides pure latency statistics for the bench driver: nearest-rank percentile summarization, a human-readable table, and a JSON-serializable result view.
Package benchstat provides pure latency statistics for the bench driver: nearest-rank percentile summarization, a human-readable table, and a JSON-serializable result view.
captoken
Package captoken implements macaroon-style attenuated capability tokens for per-sandbox runtime authorization (issue #25, docs/api/v2-spec.md section 3, design in docs/api/capability-budgets.md).
Package captoken implements macaroon-style attenuated capability tokens for per-sandbox runtime authorization (issue #25, docs/api/v2-spec.md section 3, design in docs/api/capability-budgets.md).
cas
Package cas implements a content-addressed store for VM memory and disk snapshots.
Package cas implements a content-addressed store for VM memory and disk snapshots.
casgc
Package casgc drives the content-addressed store's eviction (cas.EvictToFit) so orphaned chunks do not grow unbounded and trip node DiskPressure (#464).
Package casgc drives the content-addressed store's eviction (cas.EvictToFit) so orphaned chunks do not grow unbounded and trip node DiskPressure (#464).
cli/sandboxtable
Package sandboxtable renders Sandbox and SandboxPool lists as aligned kubectl-style tables.
Package sandboxtable renders Sandbox and SandboxPool lists as aligned kubectl-style tables.
compose
Package compose defines the Harbor compose provider contract for a mitos sandbox (issue #491, part of the compose epic #487).
Package compose defines the Harbor compose provider contract for a mitos sandbox (issue #491, part of the compose epic #487).
cpupin
Package cpupin computes dynamic (post-ready) CPU pin plans for sandbox VMs (issue #168).
Package cpupin computes dynamic (post-ready) CPU pin plans for sandbox VMs (issue #168).
credfile
Package credfile reads the bearer token from the CLI login profile written by `mitos auth login`, so the agent-facing surfaces (mcp server, and any other Go consumer) pick up one login without a separate env var.
Package credfile reads the bearer token from the CLI login profile written by `mitos auth login`, so the agent-facing surfaces (mcp server, and any other Go consumer) pick up one login without a separate env var.
daemon
internal/daemon/expose.go
internal/daemon/expose.go
deviceplugin
Package deviceplugin implements a Kubernetes device plugin that advertises the KVM device (mitos.run/kvm) to the kubelet and injects /dev/kvm (and /dev/net/tun) into containers that request it.
Package deviceplugin implements a Kubernetes device plugin that advertises the KVM device (mitos.run/kvm) to the kubelet and injects /dev/kvm (and /dev/net/tun) into containers that request it.
dnsproxy
Package dnsproxy implements a controlled DNS resolver for sandbox egress.
Package dnsproxy implements a controlled DNS resolver for sandbox egress.
egressproxy
Package egressproxy implements a host-side HTTP forward proxy for sandboxed guests.
Package egressproxy implements a host-side HTTP forward proxy for sandboxed guests.
eventfeed
Package eventfeed builds the workspace revision change feed: CloudEvents 1.0 envelopes describing workspace and sandbox lifecycle events, delivered to an opt-in operator webhook sink and (always) mirrored as Kubernetes Events on the source object.
Package eventfeed builds the workspace revision change feed: CloudEvents 1.0 envelopes describing workspace and sandbox lifecycle events, delivered to an opt-in operator webhook sink and (always) mirrored as Kubernetes Events on the source object.
facade
Package facade implements the agents.x-k8s.io conformance facade (issue #19).
Package facade implements the agents.x-k8s.io conformance facade (issue #19).
frontdoor
Package frontdoor implements the routing decision and reverse-proxy core for the Mitos front-door.
Package frontdoor implements the routing decision and reverse-proxy core for the Mitos front-door.
guestenv
Package guestenv builds the environment for guest exec sessions.
Package guestenv builds the environment for guest exec sessions.
guestgrpc
Package guestgrpc provides a reusable host-side gRPC client for the guest agent's gRPC services (sandbox.v1.Sandbox and sandbox.internal.v1.Control).
Package guestgrpc provides a reusable host-side gRPC client for the guest agent's gRPC services (sandbox.v1.Sandbox and sandbox.internal.v1.Control).
guestnet
Package guestnet configures the guest VM's single NIC after a snapshot restore using rtnetlink syscalls directly, with no dependency on an `ip` binary in the rootfs.
Package guestnet configures the guest VM's single NIC after a snapshot restore using rtnetlink syscalls directly, with no dependency on an `ip` binary in the rootfs.
guestsock
Package guestsock is the in-guest self-service protocol (issue #22, API v2 section 2.2): the small request/response shape the guest agent serves on a unix socket inside the VM (MITOS_SOCKET, default /run/mitos.sock) so the in-VM workload can self-service without any network egress and without an external orchestrator round-trip.
Package guestsock is the in-guest self-service protocol (issue #22, API v2 section 2.2): the small request/response shape the guest agent serves on a unix socket inside the VM (MITOS_SOCKET, default /run/mitos.sock) so the in-VM workload can self-service without any network egress and without an external orchestrator round-trip.
guestvitals
Package guestvitals holds the platform-neutral parsers and arithmetic for the Layer 3 guest telemetry bridge (issue #164): CPU steal from /proc/stat, memory vs balloon, and the in-guest process table.
Package guestvitals holds the platform-neutral parsers and arithmetic for the Layer 3 guest telemetry bridge (issue #164): CPU steal from /proc/stat, memory vs balloon, and the in-guest process table.
husk
Package husk implements the husk-pod stub: a single-VM process that brings up a DORMANT Firecracker VMM at prepare time and ACTIVATES it in place by loading a snapshot when an activate request arrives over a control socket.
Package husk implements the husk-pod stub: a single-VM process that brings up a DORMANT Firecracker VMM at prepare time and ACTIVATES it in place by loading a snapshot when an activate request arrives over a control socket.
huskprobe
Package huskprobe holds the pure measurement math behind the husk-probe command (cmd/husk-probe).
Package huskprobe holds the pure measurement math behind the husk-probe command (cmd/husk-probe).
kms
Package kms provides envelope encryption for the at-rest data-encryption key (DEK).
Package kms provides envelope encryption for the at-rest data-encryption key (DEK).
mcp
Package mcp implements a Model Context Protocol (MCP) server that exposes the sandbox lifecycle (create, exec, file IO, fork, terminate) as MCP tools over a JSON-RPC 2.0 stdio transport.
Package mcp implements a Model Context Protocol (MCP) server that exposes the sandbox lifecycle (create, exec, file IO, fork, terminate) as MCP tools over a JSON-RPC 2.0 stdio transport.
metering
Package metering aggregates per-sandbox resource samples into a node report that accounts for copy-on-write (CoW) sharing across forks of the same template.
Package metering aggregates per-sandbox resource samples into a node report that accounts for copy-on-write (CoW) sharing across forks of the same template.
netconf
Package netconf holds pure, platform-independent helpers for sandbox network configuration: per-sandbox network identity allocation, nftables ruleset rendering, and command argument builders.
Package netconf holds pure, platform-independent helpers for sandbox network configuration: per-sandbox network identity allocation, nftables ruleset rendering, and command argument builders.
network
Package network applies and tears down per-sandbox host networking: a tap device, its host IP, and a per-tap nftables egress ruleset.
Package network applies and tears down per-sandbox host networking: a tap device, its host IP, and a per-tap nftables egress ruleset.
observability
Package observability wires OpenTelemetry tracing for the control plane.
Package observability wires OpenTelemetry tracing for the control plane.
ociroot
Package ociroot pulls OCI images and flattens them into a directory tree and an ext4 rootfs image suitable for booting inside a microVM.
Package ociroot pulls OCI images and flattens them into a directory tree and an ext4 rootfs image suitable for booting inside a microVM.
pki
Package pki provides the internal certificate authority for the control plane: the controller and forkd authenticate each other with mTLS using exactly two leaf identities issued by this CA.
Package pki provides the internal certificate authority for the control plane: the controller and forkd authenticate each other with mTLS using exactly two leaf identities issued by this CA.
preview
Package preview implements per-sandbox preview URLs: a signed, expiring URL (Daytona style) that names a sandbox and a port, plus a reverse proxy that resolves <label>.<domain> to the sandbox backend, verifies the signed token and the per-sandbox bearer gate, and proxies to the backend (issue #126).
Package preview implements per-sandbox preview URLs: a signed, expiring URL (Daytona style) that names a sandbox and a port, plus a reverse proxy that resolves <label>.<domain> to the sandbox backend, verifies the signed token and the per-sandbox bearer gate, and proxies to the backend (issue #126).
rendezvous
Package rendezvous is a minimal authenticated git-http rendezvous server: the real external remote the {git} workspace output pushes per-attempt branches to.
Package rendezvous is a minimal authenticated git-http rendezvous server: the real external remote the {git} workspace output pushes per-attempt branches to.
runmanifest
Package runmanifest parses and validates the mitos.yaml "Run with Mitos" manifest (schema v1) and maps it to the mitos primitives: a golden SandboxPool to fork from, plus the run, preview, secret, egress, workspace, and auto-update (track) intent the provisioner and the auto-update reconciler consume.
Package runmanifest parses and validates the mitos.yaml "Run with Mitos" manifest (schema v1) and maps it to the mitos primitives: a golden SandboxPool to fork from, plus the run, preview, secret, egress, workspace, and auto-update (track) intent the provisioner and the auto-update reconciler consume.
runservice
Package runservice turns a "Run with Mitos" click into a provisioned instance: it fetches a repo's mitos.yaml, ensures the golden SandboxPool, provisions the per-fork Sandbox and its Secret, applies them, and returns the live URL.
Package runservice turns a "Run with Mitos" click into a provisioned instance: it fetches a repo's mitos.yaml, ensures the golden SandboxPool, provisions the per-fork Sandbox and its Secret, applies them, and returns the live URL.
saas
Package saas is the customer-facing front door for the hosted offering: real external accounts, organizations, memberships, and scoped API keys, layered ABOVE the internal mTLS and per-sandbox token plane (issue #210).
Package saas is the customer-facing front door for the hosted offering: real external accounts, organizations, memberships, and scoped API keys, layered ABOVE the internal mTLS and per-sandbox token plane (issue #210).
saas/billing
Package billing wires the money for the hosted offering (issue #212): Stripe metered usage-based billing, plans, free signup credits, prepaid top-ups, hard/soft spend caps, and dunning, layered on top of the per-org UsageRecords from issue #211 and coordinated with the kill-switch from issue #213.
Package billing wires the money for the hosted offering (issue #212): Stripe metered usage-based billing, plans, free signup credits, prepaid top-ups, hard/soft spend caps, and dunning, layered on top of the per-org UsageRecords from issue #211 and coordinated with the kill-switch from issue #213.
saas/billingprovider
Package billingprovider abstracts the payment backend behind a provider seam, the same way console.SecretStore abstracts the secret backend.
Package billingprovider abstracts the payment backend behind a provider seam, the same way console.SecretStore abstracts the secret backend.
saas/billingprovider/paddle
Package paddle is the Paddle Billing implementation of billingprovider.Provider.
Package paddle is the Paddle Billing implementation of billingprovider.Provider.
saas/billingprovider/stripe
Package stripe is the Stripe implementation of billingprovider.Provider.
Package stripe is the Stripe implementation of billingprovider.Provider.
saas/console
The instance-operator plane: GET/POST /console/admin/...
The instance-operator plane: GET/POST /console/admin/...
saas/console/baosecrets
Package baosecrets is the OpenBao (and Vault) SecretStore provider: the recommended external backend behind the console.SecretStore seam (spec §8).
Package baosecrets is the OpenBao (and Vault) SecretStore provider: the recommended external backend behind the console.SecretStore seam (spec §8).
saas/console/clusterforktree
Package clusterforktree is the real console.ForkTreeSource: it builds an org's live fork tree from the controller's v1 Sandbox records scoped to one org.
Package clusterforktree is the real console.ForkTreeSource: it builds an org's live fork tree from the controller's v1 Sandbox records scoped to one org.
saas/console/clusterinstruments
Package clusterinstruments is the real console.InstrumentsSource: it measures an org's proof snapshot from the controller's v1 Sandbox records scoped to one org.
Package clusterinstruments is the real console.InstrumentsSource: it measures an org's proof snapshot from the controller's v1 Sandbox records scoped to one org.
saas/console/clusternodes
Package clusternodes is the real console.NodeSource: a read-only inventory of the cluster's Kubernetes nodes for the instance-operator plane's GET /console/admin/nodes.
Package clusternodes is the real console.NodeSource: a read-only inventory of the cluster's Kubernetes nodes for the instance-operator plane's GET /console/admin/nodes.
saas/console/clustersandbox
Package clustersandbox is the real console.SandboxControl: it queries the controller's v1 Sandbox records scoped to one org, the cluster-backed implementation of the live-sandbox seam (issue #2).
Package clustersandbox is the real console.SandboxControl: it queries the controller's v1 Sandbox records scoped to one org, the cluster-backed implementation of the live-sandbox seam (issue #2).
saas/console/kubesecrets
Package kubesecrets is the kube SecretStore provider: it materializes org secrets as namespaced Kubernetes Secrets, the self-host default backend behind the console.SecretStore seam (spec §8).
Package kubesecrets is the kube SecretStore provider: it materializes org secrets as namespaced Kubernetes Secrets, the self-host default backend behind the console.SecretStore seam (spec §8).
saas/controlplane
Package controlplane is the real hosted control plane behind the public gateway (issue #210, ROADMAP SaaS P1).
Package controlplane is the real hosted control plane behind the public gateway (issue #210, ROADMAP SaaS P1).
saas/oidcauth
Package oidcauth wires the browser OIDC login flow for the console: it drives the authorization-code redirect, exchanges the code, and turns the verified identity into a session cookie via the saas.LoginManager.
Package oidcauth wires the browser OIDC login flow for the console: it drives the authorization-code redirect, exchanges the code, and turns the verified identity into a session cookie via the saas.LoginManager.
saas/onboarding
Package onboarding is the self-serve onboarding funnel for the hosted offering (issue #215): it ties together sign-up, email verification, auto-creation of a Personal organization (Daytona-style), the free-tier signup credit grant (the #212 ledger), and issuance of the first API key (#210), so a brand-new user reaches a first successful run_code in minutes with no card on the free tier and exactly one SDK package.
Package onboarding is the self-serve onboarding funnel for the hosted offering (issue #215): it ties together sign-up, email verification, auto-creation of a Personal organization (Daytona-style), the free-tier signup credit grant (the #212 ledger), and issuance of the first API key (#210), so a brand-new user reaches a first successful run_code in minutes with no card on the free tier and exactly one SDK package.
saas/orgprovision
Package orgprovision implements the onboarding.OrgProvisioner seam over a controller-runtime client: a verified signup creates the cluster-scoped Org custom resource (api/v1.Org, name = org id), which the OrgReconciler turns into a per-org isolation namespace (issue #288).
Package orgprovision implements the onboarding.OrgProvisioner seam over a controller-runtime client: a verified signup creates the cluster-scoped Org custom resource (api/v1.Org, name = org id), which the OrgReconciler turns into a per-org isolation namespace (issue #288).
saas/pgstore
Package pgstore is the durable Postgres implementation of saas.Store.
Package pgstore is the durable Postgres implementation of saas.Store.
saas/placement
Package placement is the Phase 0 placement registry (issue #712): the operator-defined key and value set a deployment advertises for where a resource lives.
Package placement is the Phase 0 placement registry (issue #712): the operator-defined key and value set a deployment advertises for where a resource lives.
saas/quota
Package quota is the abuse-control envelope for the hosted offering (issue #213): per-organization quotas, per-org and per-IP rate limiting, live concurrency and aggregate-resource caps, per-tier egress policy selection, and the kill-switch (org suspension).
Package quota is the abuse-control envelope for the hosted offering (issue #213): per-organization quotas, per-org and per-IP rate limiting, live concurrency and aggregate-resource caps, per-tier egress policy selection, and the kill-switch (org suspension).
saas/storetest
Package storetest holds the shared behavioral contract for saas.Store.
Package storetest holds the shared behavioral contract for saas.Store.
sandboxrpc
Package sandboxrpc: GuestConn is the port (hexagonal architecture seam) between the Connect Sandbox service and the in-guest execution surface.
Package sandboxrpc: GuestConn is the port (hexagonal architecture seam) between the Connect Sandbox service and the in-guest execution surface.
snapcompat
Package snapcompat defines the snapshot compatibility contract: whether a snapshot captured in one environment can be safely restored in another.
Package snapcompat defines the snapshot compatibility contract: whether a snapshot captured in one environment can be safely restored in another.
sniproxy
Package sniproxy implements a host-side TLS SNI peek-and-splice egress filter for sandboxed guests.
Package sniproxy implements a host-side TLS SNI peek-and-splice egress filter for sandboxed guests.
storecrypt
Package storecrypt manages per-scope LUKS containers that hold template snapshots encrypted at rest.
Package storecrypt manages per-scope LUKS containers that hold template snapshots encrypted at rest.
telemetry
Package telemetry is a privacy-first PRODUCT-USAGE telemetry pipeline for the hosted Mitos binaries.
Package telemetry is a privacy-first PRODUCT-USAGE telemetry pipeline for the hosted Mitos binaries.
templatebuild
Package templatebuild holds the pure, host-side logic for the declarative template builder (issue #220): the content-addressed cache key chained over the base image and each build step, the skip decision that reuses an unchanged prefix, and the typed build error.
Package templatebuild holds the pure, host-side logic for the declarative template builder (issue #220): the content-addressed cache key chained over the base image and each build step, the skip decision that reuses an unchanged prefix, and the typed build error.
tenant
Package tenant holds the canonical multi-tenancy convention shared across the SaaS surfaces: the org label stamped on tenant-owned objects and the hard per-org namespace each tenant's workloads live in.
Package tenant holds the canonical multi-tenancy convention shared across the SaaS surfaces: the org label stamped on tenant-owned objects and the hard per-org namespace each tenant's workloads live in.
usage
Package usage turns per-node CoW-aware operational metering (internal/metering, the forkd GET /v1/metering endpoint) into per-organization, time-integrated, auditable usage records, and serves an org-scoped public usage API on top of them (issue #211).
Package usage turns per-node CoW-aware operational metering (internal/metering, the forkd GET /v1/metering endpoint) into per-organization, time-integrated, auditable usage records, and serves an org-scoped public usage API on top of them (issue #211).
usage/usagestoretest
Package usagestoretest holds the shared behavioral contract for usage.UsageStore.
Package usagestoretest holds the shared behavioral contract for usage.UsageStore.
volume
Package volume prepares per-sandbox block-device backing files on a forkd node.
Package volume prepares per-sandbox block-device backing files on a forkd node.
workspace
Package workspace holds the host-side hydrate/dehydrate helpers that move a sandbox's /workspace tree between a running guest and the content-addressed store (internal/cas).
Package workspace holds the host-side hydrate/dehydrate helpers that move a sandbox's /workspace tree between a running guest and the content-addressed store (internal/cas).
proto
sandbox/controlv1/sandboxinternalv1connect
Internal host-to-guest control service (sandbox.internal.v1).
Internal host-to-guest control service (sandbox.internal.v1).
sandbox/v1/sandboxv1connect
The Sandbox runtime protocol (API v2, docs/api/v2-spec.md section 4).
The Sandbox runtime protocol (API v2, docs/api/v2-spec.md section 4).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL