Storage and placement

Every workspace tree and every environment disk is a btrfs subvolume on one node of the region, replicated to other nodes as read-only snapshots. There is no object store in the path and no network fi

Every workspace tree and every environment disk is a btrfs subvolume on one node of the region, replicated to other nodes as read-only snapshots. There is no object store in the path and no network filesystem under a running tree.

One writer, many holders

A working copy has exactly one node that runs it. Other nodes hold replicas: the newest sync point, sent as a btrfs stream between agents. A stopped working copy may start on any node whose replica is up to date; a running one stays where it is.

EventWhat moves
Edit in a running workspaceNothing; a sync point is cut on a beat and streamed to replicas
StopA final sync point, then the pod goes; the replica catches up within seconds
StartThe most up-to-date node takes it; usually the same one
Node diesRunning copies are interrupted; stopped ones start elsewhere; every replica the node held is rebuilt on a third node
Node decommissionedRunning copies keep running until stopped; everything else drains ahead of time

Home

/home/kl is the workspace's own btrfs volume, not shared with any other workspace. Existing workspaces from before this change are not migrated. A clone or restore carries the whole home, credentials included; it is always your own workspace.

Quota

quota_gb is a btrfs quota on the subvolume. Disk counted against your allocation is the sum of every working copy's quota plus every snapshot's. See Quota.

Regions

A region is one Kubernetes cluster with its own nodes and nixpkgs pin. Nothing replicates across regions. See Regions.

What this means for you

  • A stop is seconds and never waits for a replica.
  • A start after a node failure is the same bytes as the last sync point, which is at most one beat old.
  • A running workspace on a dead node is a clone away: POST /v1/workspaces/{id}/clone grafts onto the newest replica and tells you its age.