🚀 Announcing Agent Sandbox v0.4.3!
We are excited to announce the release of Agent Sandbox v0.4.3!
This release brings a massive expansion to our documentation, introducing comprehensive guides on everything from custom environments and filesystems to the Python SDK and Go client. It also improves core stability with new features like TTL-based cleanups for SandboxClaims and volumeClaimTemplates support, while strengthening observability through new Prometheus metrics and latency tracking fixes. Finally, the Python SDK gains a new connection config to seamlessly bypass routers for in-cluster operations.
Key Highlights
- Documentation Expansion: Comprehensive new docs covering filesystems, volumes, lifecycle/TTL, snapshots, metrics, custom environments, and use cases. Added a Python SDK quickstart, Go sandbox client docs, and a homepage Use Cases grid. The
docs/examples/section has been reorganized underdocs/use-cases/. - Lifecycle & Cleanup: New
Finishedcondition onSandbox(mirrored toSandboxClaim) reportingPodSucceeded/PodFailed. NewttlSecondsAfterFinishedfield onSandboxClaim.spec.lifecyclefor automatic cleanup of finished claims, honoring the existingshutdownPolicy(Retain,Delete,DeleteForeground). - Storage: Added
volumeClaimTemplatessupport toSandboxTemplate, propagated throughSandboxClaimandSandboxWarmPoolto the underlyingSandbox. PVC-backed volumes use StatefulSet-style merge semantics with the pod template. - Warm Pool Correctness: Fixed duplicate Sandbox adoption during informer cache lag by recording the adopted Sandbox name on the claim via the
agents.x-k8s.io/sandbox-namelabel. Fixed warm-pool sandbox deletion whenshutdownPolicy: Retainis set. Added cross-namespace adoption protection. - Python SDK Enhancements: New
SandboxInClusterConnectionConfigfor in-cluster clients to bypass the router — defaults to stable cluster DNS, with an opt-inuse_pod_ip=Truemode for low-latency direct pod connections (with cache invalidation on errors).Sandbox.status.podIPsis now exposed end-to-end. - Observability: Added a
--versionflag andagent_sandbox_build_infoPrometheus metric (with git version, SHA, build date, Go version, platform). ImprovedControllerStartupLatencyaccuracy by keying observed-time entries on both name and UID, so recreated claims with the same name no longer reuse stale timestamps. - Stability: SandboxClaim now requeues quietly (instead of erroring) when its template is missing and recovers automatically when the template is created. Sandbox controller now safely handles
AlreadyExistson pod creation, refusing to adopt pods owned by other controllers. - Testing: Go unit tests now run with
-raceenabled by default; newmake test-e2e-racetarget. Added a kOps-on-GCP benchmark scenario and aresourcectlCLI for Boskos resource management.
Installation
Core & Extensions
# To install only the core components:
kubectl apply -f https://github.com/kubernetes-sigs/agent-sandbox/releases/download/v0.4.3/manifest.yaml
# To install the extensions components:
kubectl apply -f https://github.com/kubernetes-sigs/agent-sandbox/releases/download/v0.4.3/extensions.yamlPython SDK
pip install k8s-agent-sandbox==0.4.3Contributors
A huge thank you to all the contributors who made this release possible!
@angristan, @noeljackson, @vgunapati, @igooch, @chw120, @yashasvimisra2798, @bittermandel, @Oneimu, @alimx07, @aleks-stefanovic, @justinsb, @janetkuo, @dongjiang1989, @rayowang, @vicentefb, @volatilemolotov
👋 New Contributors
@vgunapati made their first contribution in #489
@alimx07 made their first contribution in #645
@bittermandel made their first contribution in #583
@angristan made their first contribution in #240
Full Changelog: v0.4.2...v0.4.3