All Products
Search
Document Center

Container Compute Service:ack-agent-sandbox-controller

Last Updated:Aug 31, 2026

ack-agent-sandbox-controller is a Kubernetes-based add-on designed to provide standardized, production-grade sandbox lifecycle management. This topic describes the basic information, usage instructions, and changelog of the ack-agent-sandbox-controller add-on.

Overview

The ack-agent-sandbox-controller add-on covers the full lifecycle of a sandbox, from creation to destruction. Core capabilities include:

  • Creating, pausing, resuming, and upgrading sandboxes.
  • Managing sandboxes in batches and maintaining warm pools by using SandboxSet.
  • Claiming pre-warmed sandboxes by using SandboxClaim.
  • Performing in-place or recreate upgrades that are driven by SandboxUpdateOps.

Usage

To learn how to use the ACS Agent Sandbox, see Create an Agent Sandbox.

Changelog

August 2026

Version

Update time

Changes

Impact

v0.6.4-release.1

August 20, 2026

  • Features:

    • [Important] Configurable sandbox pause strategy (PauseStrategy): Added the spec.pauseStrategy field, which supports two pause mechanisms: Stop (deletes the pod directly and retains only PVC data) and Hibernate (saves rootfs and memory state before pausing, with the storage medium specified by hibernateStrategy.type=Snapshot). This replaces the previous fixed hibernation implementation.

    • [Important] SandboxUpdateOps supports upgrading paused sandboxes: Added the spec.stateFilter.states field (default: [Running]), which allows Paused to be included as an upgrade candidate. When a paused sandbox is upgraded, it is resumed first and then upgraded by recreating the pod. After the upgrade completes, the sandbox automatically returns to Paused or Running based on the semantics of spec.paused.

    • [Important] End-to-end TLS between the controller and agent-runtime: Added the --runtime-client-cert-dir parameter. When configured, the controller accesses agent-runtime over mTLS/HTTPS, covering the SandboxClaim claim, pod /init, and CSI dynamic mounting paths. When not configured, the original plaintext access is retained, ensuring backward compatibility.

    • [Important] Runtime component split and extensive optimizations: Business containers no longer need to run as the root user. Business containers no longer expose the CSI socket mount path. agent-runtime supports mTLS authentication. envd is upgraded to native-tag-2026.22 (aligned with the community edition).

    • Security token delivery chain optimization: Security tokens are now delivered through the resolved runtime transport channel. Stale token files inside the sandbox are cleaned up after successful delivery, preventing residual outdated credentials.

    • Storage authentication extension for NAS (AgenticFS) scenarios: The storage authentication capability based on agent-identity (RRSA) is extended from OSS to NAS mounts, with support for STS temporary credential refresh.

    • Automatic subdirectory creation for NAS (AgenticFS): When mounting a remote NAS subdirectory, the subdirectory is created automatically if it does not exist. This feature depends on volume: nas-subpath-dir.

    • Sandbox Ready condition reflects pod scheduling failures: Pod scheduling failures are now synced to the Ready condition of the sandbox, allowing scheduling issues to be identified directly from the sandbox status without checking pod events.

    • Label-based selection and cloning support for checkpoints: Checkpoints now support selectable labels, making it easier to filter checkpoints when cloning a sandbox.

    • SandboxClaim supports propagating custom annotations to the pod template at claim time (internal reserved keys are filtered out by a blocklist).

    • Tracing support for the sandbox lifecycle chain: Distributed tracing instrumentation is added to the controller and sandbox-manager, enabling end-to-end latency troubleshooting for the create, pause, resume, and upgrade chain.

    • Optimized sandbox deletion speed: Sandbox finalizers are no longer added by default and are added only in scenarios that require them, such as pausing.

  • Bug fixes:

    • Refusal to adopt a legacy pod with the same name: After a sandbox is deleted, if a pod with the same name is not cleaned up in time due to asynchronous deletion, the creation flow now refuses to mistakenly adopt the legacy pod. This issue is fixed in both the ACS and generic paths, preventing state corruption.

    • Injected resources preserved during in-place scaling: Fixed an issue where resource specifications injected by components such as webhooks were overwritten and lost during in-place CPU or memory scaling.

    • Resource resize state check adapted to the ACS resource normalization logic: Fixed an issue where a sandbox was stuck in the in-place resize state due to resource normalization after allocation.

    • Upgrade strategy markers cleaned up after a successful SandboxUpdateOps upgrade: Fixed an issue where residual intermediate upgrade state markers on the sandbox were not cleaned up after the upgrade completed.

    • Fixes for SandboxUpdateOps upgrade patch and checkpoint restore selection: Fixed the template patch application order and inaccurate candidate pod selection during checkpoint-based restore.

    • ACS annotation synchronization after resume: Fixed an issue where some ACS status annotations were not synchronized after a sandbox resumed.

After mTLS is enabled for agent-runtime, the security of some management APIs improves and API latency may increase slightly. This does not affect the usability of the request chain and remains within acceptable limits. After the main business container runs as a non-root user, some usage restrictions apply. These restrictions will be described in the product documentation.

v0.5.24-release.1

August 13, 2026

  • Features:

    • NAS dynamic mounting supports automatic subdirectory creation.

  • Bug fixes:

    • Fixed an issue where OSS mounting failed during sandbox cloning through the E2B chain because identity files were reissued.

This update does not affect your services.

July 2026

Version

Update time

Changes

Impact

v0.5.22-release.2

July 29, 2026

  • Features:

    • Zero-trust identity authentication system: During a claim, a JWT access token is issued through TokenKind for clients to access the sandbox through the gateway. The traffic access token is stored only in memory and is not persisted to the CR. After a sandbox resumes, the security token is reissued to ensure valid credentials for CSI remounting. Security token refresh is deferred until the sandbox is Ready to avoid premature refreshes when the pod is not ready, and the refresh policy is optimized. RRSA storage authentication support is added for on-demand CSI mounting scenarios, enabling secure storage mounts based on STS.

    • Kubernetes lifecycle events: The controller supports Kubernetes events. When pod creation fails, an event is emitted and a condition is set to facilitate troubleshooting.

    • MCP tool access control for SecurityProfile: SecurityProfile supports access control policies at the MCP tool level.

    • agent-runtime v0.0.11 update: Aligned with the community edition native-tag-2026.22, optimized MMDS log output, updated the runtime storage mount binary plugin to acs.v0.4, and supported STS-based authentication for dynamic storage mounting.

The zero-trust identity authentication system is adjusted so that traffic access tokens are no longer persisted to the CR. We recommend verifying that the sandbox access chain works properly after the upgrade. RRSA storage authentication support is added, allowing users of on-demand CSI mounts to authenticate with STS credentials. The remaining feature updates do not affect existing services.

v0.5.19-release.3

July 10, 2026

  • Features:

    • Added support for custom resource configuration of traffic-proxy. The default traffic-proxy resources are adjusted (request: 0.1C/128Mi → 0.2C/128Mi, limit: 2C/2Gi → 0.2C/128Mi). Evaluate whether adjustments are required based on your actual traffic.

    • Resume from a failed step during an upgrade: After a SandboxUpdateOps upgrade is interrupted or fails, the upgrade can resume from the last failed step instead of starting over. This applies to image change scenarios. This feature is disabled by default and can be enabled with the FeatureGate SandboxUpgradeResumeFromFailedStep.

  • Bug fixes:

    • Fixed an issue where a SandboxClaim with only label changes was mistakenly identified as requiring an in-place upgrade, which slowed down sandbox acquisition.

    • Fixed an issue where SandboxUpdateOps could select sandboxes that were not running. Upgrades now apply only to sandboxes in the Running or Upgrading state.

    • Init container image consistency is validated before a sandbox resumes to avoid runtime exceptions after resume caused by image mismatches.

    • Fixed an issue where the image cache was not used for sandbox image replacement when the warm pool was exhausted.

The default traffic-proxy resources are adjusted (request: 0.1C/128Mi → 0.2C/128Mi, limit: 2C/2Gi → 0.2C/128Mi). Evaluate whether the resource configuration needs to be adjusted manually based on your actual traffic. The remaining fixes do not affect existing services.

June 2026

Version

Update time

Changes

Impact

v0.5.16-release.2

June 16, 2026

  • Bug fixes:

    • Added an image consistency check for the init container after a sandbox resumes. Runtime initialization and CSI dynamic volume mounting now proceed only after the controller confirms image consistency.

This update does not affect your services.

v0.5.16-release.1

June 12, 2026

  • Features:

    • The Pod template spec now remains unchanged after a sandbox pauses or resumes, preventing unexpected changes to the Pod specification upon resume.

    • A SandboxSet now automatically creates its associated SandboxTemplate, simplifying the configuration process.

    • Optimized claim performance for large-scale SandboxSet scenarios (5,000+ sandboxes). A new in-place counter, CountActiveSandboxes, replaces full-list copying to significantly reduce overhead on the claim hot path.

    • Metrics cleanup during sandbox deletion now runs asynchronously. This moves the operation out of the reconcile hot path, improving deletion throughput.

    • SandboxUpdateOps now supports all sandboxes not controlled by a SandboxSet, covering upgrade scenarios for sandboxes created directly.

  • Bug fixes:

    • Fixed an issue where newly scaled-out sandboxes caused SandboxUpdateOps to remain in the Updating state. The controller now automatically skips sandboxes whose templates already match the target version.

    • Stabilized the init container injection order to ensure a consistent injection order for runtime containers and maintain backward compatibility.

    • Fixed an intermittent failure in the in-place image upgrade for sandboxes. The controller now skips the immutable part validation if the SandboxHashImmutablePart annotation is missing.

This update does not affect your services.

v0.5.14-release.1

June 1, 2026

  • Features:

    • Added support for sandbox traffic management. This feature injects a traffic-proxy runtime and is enabled by adding the network.alibabacloud.com/network-policy-mode=enhanced-traffic-policy annotation to the Pod.

    • Added the sandbox_runtime_container_abnormal metric to monitor abnormal states of sandbox runtime containers.

    • Added support for deploying a TrafficPolicy from the component center to restrict access to port 49983 on envd. This feature is disabled by default.

    • Added tracing support for sandbox creation, deletion, pause, and resume operations. This feature is disabled by default and can be enabled by using the FeatureGate SandboxTraceLog=true.

  • Bug fixes:

    • Making deleteSandboxMetrics an asynchronous call resolves a reconcile blockage issue caused by lock contention on DeletePartialMatch during high-concurrency sandbox deletions.

    • Fixed an issue where the sandbox status was not persisted while in the Pending phase.

This update does not affect your services.

May 2026

Version

Update time

Changes

Impact

v0.5.13-release.1

May 21, 2026

  • Features:

    • Added validation for mount configurations in the VolumeClaimTemplates field of a SandboxSet.

    • Added validation for the TTLAfterCompleted and WaitReadyTimeout fields in a SandboxClaim.

    • Introduced a new FeatureGate, SandboxMultiClusterNaming. When enabled, it embeds a cluster ID hash into the sandbox generateName to prevent naming conflicts in multi-cluster environments. This feature is disabled by default and can be enabled in the component center.

    • You can now perform an in-place CPU scale-up for sandboxes from the warm pool when creating them with a SandboxClaim or the E2B SDK.

    • Added Strategic Merge Patch markers to CRD types to improve kubectl apply performance and reduce API server load.

    • Added Prometheus metrics for sandbox pause, resume, and upgrade operations for display on monitoring dashboards.

    • Moved the CSI dynamic volume mounting capability for post-pause and post-resume scenarios to the Sandbox Controller, removing the dependency on Sandbox Manager.

  • Bug fixes:

    • Fixed an issue where the message field of the sandbox's status condition did not include the script's stdout or stderr when a SandboxUpdateOps lifecycle script failed, improving troubleshooting efficiency.

    • Added a fallback check for resumedCondition.Status=True during sandbox resume. This resolves an issue where the resume process would stall if the underlying pause operation succeeded but the Pod's Ready condition remained True.

This update does not affect your services.

v0.5.12-release.3

May 11, 2026

  • Bug fixes:

    • Fixed an issue where dynamic volume mounting was not triggered during a SandboxUpdateOps upgrade for sandboxes created through the E2B workflow.

This update does not affect your services.

v0.5.12-release.2

May 8, 2026

  • Bug fixes:

    • Fixed an issue where a SandboxClaim with SkipInitRuntime=false would fail if no agent-runtime was configured. It now skips the InitRuntime step and logs an error.

    • Changed the percentage calculation for maxUnavailable in a SandboxSet to round up. This ensures that at least one sandbox can be updated.

This update does not affect your services.

v0.5.12-release.1

May 6, 2026

  • Features:

    • Added support for upgrading sandboxes in a warm pool in a SandboxSet. The updateStrategy supports the maxUnavailable parameter.

    • Sandboxes now support updateStrategy=Recreate and the preUpgrade and postUpgrade lifecycle hooks. CSI dynamic volume mounting now occurs after the upgrade.

    • You can now use a SandboxUpdateOps custom resource (CR) to upgrade allocated sandboxes.

    • In pause and resume scenarios, the SandboxClaim controller now performs dynamic volume mounting.

    • You can now explicitly set ops.alibabacloud.com/pause-enabled='false'.

    • Added support for sandbox monitoring metrics. The metrics are generated and exposed in the same way as kube-state-metrics.

    • Sandboxes now support CPU vertical scaling by using Vertical Pod Autoscaler (VPA). This feature is disabled by default and can be enabled with the FeatureGate SandboxInPlaceResourceResizeGate=true.

    • Added protection against accidental Pod deletion with a pod validating webhook.

    • You can now modify pod labels when acquiring a sandbox with a SandboxClaim.

This update does not affect your services.