What's New
✨ Features
-
Snapshot lifecycle management — create/get/list/delete APIs with async background commit, SQLite metadata store, and startup recovery for unfinished snapshots. Sandbox restore via
snapshotId. SDK support across all 5 languages. -
OSEP-0011: Signed endpoints for secure route access —
GET /sandboxes/{sandboxId}/endpoints/{port}?expires=<unix_seconds>returns SHA256-signed time-limited route tokens. Ingress gateway verifies signature before proxying. SDK support across all 5 languages. (#787) -
OSEP-0008: Pause/resume with rootfs snapshot (Kubernetes) —
/pauseand/resumeendpoints, SandboxSnapshot CRD + controller, nerdctl-based image-committer Job. SupportspausePolicyin pool-based BatchSandbox. (#668) -
API key env override —
OPENSANDBOX_SERVER_API_KEYenv var overridesserver.api_keyfrom TOML config. Helm chart updated withenvsupport. (#830)
🐛 Bug Fixes
-
K8s: event loop blocked during sandbox creation —
time.sleepin_wait_for_sandbox_readyblocked the asyncio event loop, causing liveness probe timeouts. Replaced withawait asyncio.sleep. (#841) -
Host path validation bypass via symlinks — host paths and allowed prefixes now resolved with
os.path.realpath()before validation. Closes #814. (#816) -
CodeQL static analysis fixes — fixed integer conversion, stack trace exposure, clear-text logging, regex backtracking, JS string escaping, missing workflow permissions. OSSFS temp files now owner-only. (#795)
-
CodeQL false positive documentation — documented suppressions for sandbox-local SQL execution, Docker port probe, and startup-guard logging. (#797)
📦 Misc
-
Docker runtime modularization — split 2698-line
docker.pyinto mixin modules (orchestration, container ops, networking, volumes, runtime). No behavior changes. (#832) -
Coverage enforcement — CI enforces 80% statement coverage with
pytest-cov --cov-fail-under=80. (#828)
👥 Contributors
Thanks to these contributors ❤️
- PyPI: opensandbox-server==0.1.13
- Docker Hub: opensandbox/server:v0.1.13
- Aliyun Registry: sandbox-registry.cn-zhangjiakou.cr.aliyuncs.com/opensandbox/server:v0.1.13