> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hiloop.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# sandbox-restore Helm chart

> Per-node agent that captures and restores gVisor sandbox memory checkpoints

Per-node agent that captures and restores gVisor sandbox memory checkpoints.

Source chart version `0.1.0`. Published OCI artifacts use the immutable version from
the deployment release record:

```bash theme={null}
helm install sandbox-restore oci://<your-registry>/charts/sandbox-restore \
  --version "${PUBLISHED_CHART_VERSION:?set to the immutable OCI version for this release}"
```

## Values

Keys marked `*` are required. Defaults are the chart's `values.yaml`; the deployment
sets the rest.

| Key                                  | Type                                       | Default                                                                                                                                                                                            | Description                                                                                                                                                                                                                                                                                             |
| ------------------------------------ | ------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `affinity`                           | `object`                                   | `{}`                                                                                                                                                                                               |                                                                                                                                                                                                                                                                                                         |
| `checkpointStore.url` \*             | `string`                                   | `""`                                                                                                                                                                                               | Object-store base URL checkpoint images publish to and restore from. The URL scheme selects the backend; credentials come from the runtime's ambient credential chain.                                                                                                                                  |
| `disruptionClass`                    |                                            | `"node-infra"`                                                                                                                                                                                     |                                                                                                                                                                                                                                                                                                         |
| `disruptionOverrides.justification`  | `string`                                   | `""`                                                                                                                                                                                               |                                                                                                                                                                                                                                                                                                         |
| `enabled`                            | `boolean`                                  | —                                                                                                                                                                                                  | Umbrella condition flag (the hiloop chart's Chart.yaml condition sandbox-restore.enabled). Has no effect in a standalone install.                                                                                                                                                                       |
| `fullnameOverride`                   | `string`                                   | `""`                                                                                                                                                                                               |                                                                                                                                                                                                                                                                                                         |
| `global.imagePullSecrets`            | `array`                                    | `[]`                                                                                                                                                                                               |                                                                                                                                                                                                                                                                                                         |
| `global.imageRegistry`               | `string`                                   | `""`                                                                                                                                                                                               |                                                                                                                                                                                                                                                                                                         |
| `global.sizing`                      | `small` \| `medium` \| `large` \| `xlarge` | —                                                                                                                                                                                                  |                                                                                                                                                                                                                                                                                                         |
| `image.digest` \*                    | `string`                                   | `""`                                                                                                                                                                                               |                                                                                                                                                                                                                                                                                                         |
| `image.pullPolicy` \*                | `Always` \| `IfNotPresent` \| `Never`      | `"IfNotPresent"`                                                                                                                                                                                   |                                                                                                                                                                                                                                                                                                         |
| `image.repository` \*                | `string`                                   | `"ACCOUNT.dkr.ecr.REGION.amazonaws.com/hiloop/sandbox-restore"`                                                                                                                                    | (non-empty)                                                                                                                                                                                                                                                                                             |
| `kubeletPodsDir`                     | `string`                                   | `"/var/lib/kubelet/pods"`                                                                                                                                                                          | The kubelet's per-pod directory, mounted read-only. Captured bundles bind-mount etc-hosts and a durable sandbox's CSI volume from here, and the restorability probe must stat every bind source to mirror it.                                                                                           |
| `nameOverride`                       | `string`                                   | `""`                                                                                                                                                                                               |                                                                                                                                                                                                                                                                                                         |
| `nodeSelector`                       | `object`                                   | `{"hiloop.ai/sandbox-node": "true"}`                                                                                                                                                               |                                                                                                                                                                                                                                                                                                         |
| `observability.enabled` \*           | `boolean`                                  | `true`                                                                                                                                                                                             |                                                                                                                                                                                                                                                                                                         |
| `observability.otlpEndpoint`         | `string`                                   | `"http://otel-collector-agent.monitoring.svc.cluster.local:4317"`                                                                                                                                  |                                                                                                                                                                                                                                                                                                         |
| `observability.resourceAttributes`   | `string`                                   | `"service.namespace=hiloop"`                                                                                                                                                                       |                                                                                                                                                                                                                                                                                                         |
| `podAnnotations`                     | `object`                                   | `{}`                                                                                                                                                                                               |                                                                                                                                                                                                                                                                                                         |
| `podLabels`                          | `object`                                   | `{}`                                                                                                                                                                                               |                                                                                                                                                                                                                                                                                                         |
| `priorityClassName`                  | `string`                                   | `"system-node-critical"`                                                                                                                                                                           |                                                                                                                                                                                                                                                                                                         |
| `rbac.create`                        | `boolean`                                  | `true`                                                                                                                                                                                             |                                                                                                                                                                                                                                                                                                         |
| `resources`                          | `object`                                   | `{"requests": {"cpu": "50m", "memory": "128Mi"}}`                                                                                                                                                  | Requests only by default: the per-node agent shares its node with the sandboxes it serves.                                                                                                                                                                                                              |
| `runsc.bin` \*                       | `string`                                   | `"/usr/local/bin/runsc"`                                                                                                                                                                           | Host path of the runsc executable baked into the sandbox node image, mounted read-only into the agent. A checkpoint restores only under the exact runsc build that captured it, so the agent always runs the node's own binary.                                                                         |
| `runsc.containerdRuntimeDir` \*      | `string`                                   | `"/run/containerd"`                                                                                                                                                                                | Host containerd runtime directory mounted into the agent: carries the runsc state root plus the per-container bundles capture and restore are driven against.                                                                                                                                           |
| `runsc.containerdSandboxStateDir` \* | `string`                                   | `"/var/lib/containerd/io.containerd.grpc.v1.cri/sandboxes"`                                                                                                                                        | CRI's per-pod sandbox directory, holding the kubelet-generated resolv.conf, hostname and hosts a captured bundle bind-mounts by absolute host path. Mounted read-only: the restorability probe must stat every bind source to mirror it, and a source it cannot see makes the checkpoint unpublishable. |
| `runsc.root` \*                      | `string`                                   | `"/run/containerd/runsc/k8s.io"`                                                                                                                                                                   | containerd's runsc state root on the node, where sandbox containers live. Must sit inside runsc.containerdRuntimeDir.                                                                                                                                                                                   |
| `runsc.verificationRoot` \*          | `string`                                   | `"/run/hiloop/restore-verify"`                                                                                                                                                                     | Private runsc state root for throwaway restorability probes. Must live outside runsc.containerdRuntimeDir so a probe can never address a live sandbox.                                                                                                                                                  |
| `sandboxNamespace`                   | `string`                                   | `"hiloop-sandboxes"`                                                                                                                                                                               | Namespace sandbox pods live in. The agent watches this node's pods here for the memory-capture instruction, and the chart's Role grants exactly that read access. (non-empty)                                                                                                                           |
| `scratchDir`                         | `string`                                   | `"/var/lib/hiloop/sandbox-restore"`                                                                                                                                                                | Node-local scratch directory where checkpoint images stage between the object store and runsc. Mounted at the identical container path.                                                                                                                                                                 |
| `securityContext`                    | `object`                                   | `{"privileged": true, "readOnlyRootFilesystem": true}`                                                                                                                                             | Container security context. The agent drives the node's sandbox runtime against containerd's root-owned state, so privileged must remain true; the render fails when it is turned off.                                                                                                                  |
| `serviceAccount.annotations`         | `object`                                   | `{}`                                                                                                                                                                                               |                                                                                                                                                                                                                                                                                                         |
| `serviceAccount.create`              | `boolean`                                  | `true`                                                                                                                                                                                             |                                                                                                                                                                                                                                                                                                         |
| `serviceAccount.name`                | `string`                                   | `""`                                                                                                                                                                                               | Name of the ServiceAccount. With create=true it overrides the generated name; with create=false it is REQUIRED and names the existing ServiceAccount to reuse, because the chart's RoleBindings are rendered against it.                                                                                |
| `terminationGracePeriodSeconds`      | `integer`                                  | `30`                                                                                                                                                                                               | (min 0)                                                                                                                                                                                                                                                                                                 |
| `tolerations`                        | `array`                                    | `[{"key": "hiloop.ai/sandbox", "operator": "Equal", "value": "true", "effect": "NoSchedule"}, {"key": "hiloop.ai/runsc-not-ready", "operator": "Equal", "value": "true", "effect": "NoSchedule"}]` |                                                                                                                                                                                                                                                                                                         |
| `workspaceBaseManifest`              | `string`                                   | `""`                                                                                                                                                                                               | Workspace-store base build a fresh workspace hydrates from, passed through to the workspace daemon. Empty until the deployment publishes a golden base.                                                                                                                                                 |
| `workspaceControlSocket.path` \*     | `string`                                   | `"/run/hiloop/sandbox-workspace-control/control.sock"`                                                                                                                                             | Host path of the workspace daemon's node control socket this agent relays workspace-seal instructions to. Must match sandbox-workspace's controlSocket.path.                                                                                                                                            |
