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. |