GCP development cell
Run a complete single-cell development environment on one nested-KVM Compute Engine VM.
Configuration reference
Review the control-plane environment-variable shape.
Architecture
OpenComputer has three runtime tiers:Control plane
The control plane exposes the OpenComputer HTTP API. It authenticates requests, tracks sandbox state, chooses a worker, and routes operations to the worker that owns each sandbox. The control-plane binary is namedopensandbox-server. The historical
opensandbox name also appears in environment variables as the
OPENSANDBOX_* prefix.
Data plane
Data-plane workers run on Linux machines with KVM. Each worker starts QEMU microVMs, configures their networking and disks, and maintains the connection to the agent inside each VM. The worker binary is namedopensandbox-worker. A worker registers itself with
the control plane through Redis and advertises its capacity and RPC address.
In-VM agent
Every sandbox image containsosb-agent. It receives command, file, terminal,
and process operations from the worker over a VM-local transport. User
workloads do not need direct access to the worker host.
Request lifecycle
When a client creates a sandbox:- The control plane authenticates the request and selects a worker with capacity.
- The worker creates a copy-on-write disk from the selected rootfs image.
- QEMU starts the sandbox with KVM acceleration.
- The worker waits for
osb-agent, applies sandbox networking and environment configuration, and reports the sandbox as running. - Subsequent API calls are routed to the owning worker and then to the in-VM agent.
Deployment shapes
Single-cell development
A development cell can run every component on one VM:Scalable hosting
A scalable deployment separates the control plane from a pool of worker machines:- Multiple control-plane replicas behind HTTPS.
- A worker pool spread across failure domains.
- Durable PostgreSQL and Redis services.
- S3-compatible object storage for checkpoints, hibernation archives, and durable image artifacts.
- A secrets manager for database credentials, signing keys, storage credentials, and third-party integrations.
- Monitoring, centralized logs, backups, and tested recovery procedures.
- Private worker networking. Only the control-plane or edge endpoint should be public.
State and storage
Different data has different durability requirements:
Fast local disks are a good fit for active copy-on-write sandbox disks, but they
must not be the only copy of data that needs to survive a worker replacement.
Networking and security
At minimum:- Terminate public traffic with HTTPS.
- Keep worker RPC, Redis, PostgreSQL, and worker HTTP ports on private networks.
- Use a randomly generated API key for development and a managed authentication flow for shared environments.
- Store secrets outside source control.
- Restrict administrative SSH access to known source addresses or an identity aware access layer.
- Treat preview URLs and sandbox egress as security boundaries, not ordinary application routes.
Moving from development to scalable hosting
Use the single-cell environment to validate:- KVM and sandbox boot.
- The unified rootfs and in-VM agent.
- Command, file, and terminal APIs.
- Checkpoint and wake behavior after object storage is configured.
- Your client and SDK integration.