Minimal manifest
Example manifest
Field reference
Resource kind. The value is case-sensitive.
Value Sandbox
Top-level workload metadata.
Optional namespace scope embedded in the manifest. CLI flags override these values.
Resolved from CLI context or flags
Account that owns the namespace. The CLI can resolve this from context or —account-id.
Format 12-digit account ID
Namespace name. The CLI can resolve this from context or —namespace.
Canonical subnet identifier where the workload should run.
Resolved from CLI context or the —subnet flag
Stable workload name within the namespace.
User-defined labels for grouping, filtering, and ownership metadata.
User-defined annotations for descriptive metadata that is not used for identity.
Desired Sandbox configuration.
How long the Sandbox may exist before it expires.
Format Go duration string such as 15m, 2h, or 24h
Controls how the Sandbox process is started and kept available. If omitted, IDYL keeps the Sandbox alive until its TTL expires or the Sandbox is deleted.
Default hold_open
Selects whether IDYL holds the Sandbox open, runs the image’s default entrypoint and command, or runs a user-supplied command. If omitted, hold_open is used.
Possible enum values:
hold_openimage_entrypointcommand
Pod template owned by the Sandbox.
Metadata copied to pods created from this template.
Labels copied to pods created from this template.
Annotations copied to pods created from this template.
Pod spec used by this template.
Container restart behavior.
Possible enum values:
alwayson_failurenever
Workload OS and architecture. If omitted, IDYL resolves the platform from policy and available capacity.
Possible enum values:
linux/amd64linux/arm64
Requested execution isolation boundary. If omitted, IDYL resolves isolation from subnet policy.
Possible enum values:
containersecure-container
Requested execution isolation boundary.
Possible enum values:
containersecure-container
Workload network intent. If omitted, the workload has no explicit network posture unless policy requires network intent.
Possible enum values:
nonerestricted-egressunrestricted
Requested workload network policy.
Possible enum values:
nonerestricted-egressunrestricted
Allowed outbound destinations for restricted-egress workloads.
Format Restricted egress allow rules
Structured allow rules such as “dns” or “tcp:443:api.example.com”. TCP targets must be DNS hostnames, not IP literals.
Possible enum values:
dnstcp:<port>:<dns-hostname>
Must be true when network.egress.allow is set. Local networks remain denied while the listed destinations are allowed.
Value true
Pod-level GPU requirement. GPU is a physical host device requirement, not a per-container resource. All containers in the pod share GPU access.
Examples h100, 2:h100, nvidia:24Gi
Host capability requirements, for example cuda: ”>=13.0”. The pod is scheduled only on nodes that satisfy every requirement.
Format Exact version or >= minimum version
Restricts scheduling to a fleet or a single node inside the workload’s subnet. If omitted, the pod may run anywhere in the subnet.
Format Exactly one of fleet or node
Restricts scheduling to eligible members of this fleet.
Format 12-digit fleet ID
Restricts scheduling to exactly this node.
Format Node ID
Containers that run in the pod.
Requirement At least one container
Container name, unique within the pod.
Container image reference, such as nginx:latest, ubuntu:22.04, or a private registry image.
Optional image digest for verification, for example sha256:abc123…. When provided, it is appended to the registry image reference as image@sha256:abc123.
Example sha256:…
When the runtime should pull the image.
Possible enum values:
alwaysneverif_not_present
References a stored RegistryCredential secret used to authenticate image pulls.
Value secret://name or secret://namespace/name
Overrides the container image’s ENTRYPOINT. If empty, the image’s default ENTRYPOINT is used. If set without args, the image’s default CMD is still used with the new entrypoint.
Overrides the container image’s CMD. If empty, the image’s default CMD is used.
Environment variables to set in the container.
Environment variable name.
Pattern [a-zA-Z_][a-zA-Z0-9_]*
Environment variable value.
Container resource requests and limits.
Requirement CPU or memory must be set on at least one container
Resources used for scheduling. If a request is omitted but a limit is set for that resource, the limit is used as the effective request.
CPU quantity for this resource entry.
Examples 500m, 0.5, 1
Memory quantity for this resource entry.
Examples 256Mi, 1Gi
Disk quantity for this resource entry.
Examples 1Gi, 10G
Maximum resources allowed for the container.
CPU quantity for this resource entry.
Examples 500m, 0.5, 1
Memory quantity for this resource entry.
Examples 256Mi, 1Gi
Disk quantity for this resource entry.
Examples 1Gi, 10G
Size of the shared volume mounted for the pod.
Examples 1Gi, 10Gi
How long the node waits after sending SIGTERM before issuing SIGKILL when stopping the pod’s containers. If omitted, the 30-second default applies. A value of 0 requests an immediate SIGKILL with no graceful period.
Format Whole seconds, >= 0 (default 30)
Read-only fields
IDYL can return these fields when you inspect a workload. Do not include them in authored manifests.Validation notes
kindvalues are case-sensitive.- At least one container is required in every pod spec.
- At least one container must specify CPU or memory in
resources.requestsorresources.limits, unless the CLI fills those values from configured defaults before sending the workload. - GPU requirements belong at the pod spec
gpupath, not under per-container resources. - Environment variable names must be unique within a container and must match
[a-zA-Z_][a-zA-Z0-9_]*.

