Skip to content

Components

OpenSandbox is composed of several system components that work together to provide sandbox lifecycle management, in-sandbox execution, and network control.

Architecture

┌─────────────┐     ┌─────────────┐
│   SDK/CLI   │────▶│   Ingress   │──┐
└─────────────┘     └─────────────┘  │

┌─────────────┐     ┌─────────────────────────┐
│   Server    │────▶│      Sandbox            │
│ (Control    │     │  ┌───────┐  ┌─────────┐ │
│  Plane)     │     │  │ execd │  │ egress  │ │
└─────────────┘     │  └───────┘  └─────────┘ │
                    └─────────────────────────┘

Components

ComponentDescriptionDetails
ServerFastAPI-based lifecycle control plane. Creates, monitors, and terminates sandboxes across Docker and Kubernetes.Python, REST API
ExecdIn-sandbox execution daemon. Provides HTTP APIs for shell commands, file operations, PTY sessions, and code interpreters.Go, Gin framework
IngressHTTP/WebSocket reverse proxy for Kubernetes sandbox routing. Routes traffic to sandbox instances via header or URI mode.Go
EgressPer-sandbox FQDN-based egress control sidecar. Enforces allowlists, credential injection, and network policy.Go

Released under the Apache 2.0 License.