How swualabs/sandboxd-o works
sandboxd-o combines an administrator’s AWS cluster/worker provisioning, a control-plane API and scheduler, a node-local sandbox runtime, and a user CLI. The main workflow is sandbox request → orchestrator scheduling/reconciliation → node-agent provisioning through Containerd CRI, with sandbox state and networking managed locally. Admin provisioning also registers nodes and external endpoints with the control plane. The README documents networking, state reconciliation, resource management, and CLI capabilities; some subsystem wiring is unsampled, so those links are omitted or marked unverified.
Main entry points: sandbox_ops.go Orchestration Service · service.go Sandbox Service · worker.go Worker Operations · handler.go Orchestrator API
Components 21
AWS Administration
- Admin CLI
cmd/sbxadm/main.go - Cluster Operations
sandboxd-adm/orchestrate/cluster.go - Worker Operations
sandboxd-adm/orchestrate/worker.go - AWS Resources
sandboxd-adm/awsx - Cluster Store
sandboxd-adm/store/dynamodb.go
Orchestrator Control Plane
- Orchestrator API
sandboxd-orch/http/handlers/handler.go - Orchestration Service
sandboxd-orch/service/sandbox_ops.go - Node Operations
sandboxd-orch/service/node_ops.go - SQLite Repositories
sandboxd-orch/repo/node_repo.go - Resource Cache
sandboxd-orch/cache/resource_cache.go - Orchestrator Process
cmd/sbxorch/main.go
Node Runtime
- Node Agent API
sandboxd-let/http/handlers.go - Sandbox Service
sandboxd-let/sandbox/service.go - Sandbox State
sandboxd-let/store/file_store.go - Sandbox Networking
sandboxd-let/network/firewall.go - Spec Validation
sandboxd-let/model/validate.go
User Interfaces
- Sandbox CLI
cmd/sbxctl/main.go - Resource Commands
sandboxd-ctl/cmd/resource_cmds.go
Other components
- Operator
- Containerd CRI
- Worker Node
Connections 23
- Operator → Admin CLI: runs
- Admin CLI → Cluster Operations: invokes
- Cluster Operations → AWS Resources: provisions
- Cluster Operations → Cluster Store: persists cluster
- Worker Operations → AWS Resources: provisions worker
sandboxd-adm/orchestrate/worker.go - Worker Operations → Cluster Store: persists worker
sandboxd-adm/orchestrate/worker.go - Worker Operations → Orchestrator API: registers node
sandboxd-adm/orchestrate/worker.go - Worker Operations → Worker Node: installs agent
- Operator → Sandbox CLI: runs
- Sandbox CLI → Resource Commands: dispatches
- Resource Commands → Orchestrator API: requests API
- Orchestrator Process → Orchestration Service: starts loops
cmd/sbxorch/main.go - Orchestrator Process → Orchestrator API: serves routes
cmd/sbxorch/main.go - Orchestrator API → Orchestration Service: calls
sandboxd-orch/http/handlers/handler.go - Orchestration Service → SQLite Repositories: reads and writes
- Orchestration Service → Resource Cache: uses resources
- Orchestration Service → Node Agent API: proxies node requests
- Orchestration Service → Worker Node: schedules sandboxes
- Node Agent API → Sandbox Service: calls
- Sandbox Service → Containerd CRI: creates containers
sandboxd-let/sandbox/service.go - Sandbox Service → Sandbox State: saves state
sandboxd-let/sandbox/service.go - Sandbox Service → Sandbox Networking: applies policy
sandboxd-let/sandbox/service.go - Sandbox Service → Spec Validation: validates IDs
sandboxd-let/sandbox/service.go