Minimal manifest
Example manifest
Field reference
Resource kind. The value is case-sensitive.
Value DaemonSet
Top-level workload metadata.
Namespace scope embedded in the manifest. Scoped SDK clients populate it when omitted and refuse a manifest that states a different scope.
Format Explicit scope or SDK client scope
Account that owns the Namespace.
Format 12-digit account ID
Namespace name within the Account.
Canonical subnet identifier where the workload should run.
Format Explicit scope or SDK placement
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 DaemonSet configuration.
The resource that controls this DaemonSet. It is set only at creation, only by a caller the platform authorizes as that controller, and never changes afterwards; the platform never adopts a DaemonSet by matching its name or labels.
Kind of the controlling resource, as its lowercase resource kind token.
Example supervisor
ID of the controlling resource: the identity it keeps for its whole life.
Format Canonical UUID
DaemonSet rollout strategy.
Rollout strategy type.
Value RollingUpdate
Rolling update controls. When omitted, the documented defaults of each control apply.
Maximum number of connected nodes that may be without a ready pod because of the update.
Default 1
Maximum number of nodes that may run the new pod beside the old one before the old one stops.
Default 0
Number of prior DaemonSet revisions to retain.
Default 10
Pod template run on every eligible node.
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, with any settings the chosen class defines. If omitted, IDYL resolves isolation from subnet policy.
Possible enum values:
containersecure-containermicrovm
Requested execution isolation boundary.
Possible enum values:
containersecure-containermicrovm
Settings only the microvm class defines. Accepted only when class is microvm; any other class is refused when this block is present.
Requests attested confidential execution. The workload is placed only on a runtime class advertising confidential execution, runs inside a hardware-attested confidential guest, and receives Vault material and Filesystem attachment credentials only after that attestation is verified. False, the zero value, requests none of this.
Workload network intent. If omitted, the server records class internet, whatever the isolation class.
Possible enum values:
noneinternetrestricted-egressunrestricted
Requested workload network policy. Required whenever the network block is present. A pod spec that omits the whole network block is admitted with class internet, whatever its isolation class.
Possible enum values:
noneinternetrestricted-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
Managed workload identity intent. If omitted, managed identity applies.
Possible enum values:
managednone
default managed
Managed workload identity mode. A present identity block must state the mode explicitly; omit the entire block to use the managed default.
Possible enum values:
managednone
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 RegistryCredential in the workload namespace for image pulls. This type cannot carry a Vault Secret or TLSCertificate.
Format name identifies a RegistryCredential
RegistryCredential name in the workload namespace.
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.
Named ports the container listens on. A stream addressed to a port’s name is delivered by the Pod’s own sidecar, authenticated, to 127.0.0.1:<containerPort>. Declaring a port publishes nothing outside the Pod on its own. Names, and pairs of port number and protocol, are unique across all containers of the Pod.
Name the port is addressed by, unique across all containers of the Pod.
Format 1 to 15 characters: lowercase letters, digits, and -, with at least one letter and no leading, trailing, or consecutive -
Port number the container listens on.
Format 1 to 65535
Transport protocol the container listens with. An absent protocol means TCP.
Possible enum values:
TCP
default TCP
Environment variables to set in the container.
Environment variable name.
Pattern [a-zA-Z_][a-zA-Z0-9_]*
Environment variable value.
Read-only provider-owned Vault projections exposed to this container. Only volumes declared in the enclosing PodSpec may be mounted.
Declared Vault volume name.
Clean absolute destination inside this container. It may not overlap another Vault mount of the same container, and the system paths and the reserved /.idyl directory are refused.
Must be explicitly true.
Value true
Filesystems attached to this container at the declared destinations. A declaration confers no authority: the platform authorizes each mount before the Pod starts, and a node attaches it only when its runtime class advertises Filesystem attachment, whatever the isolation class.
Filesystem selects one authorized tree in the Workload’s Namespace and Subnet.
Name selects the Filesystem within the Workload’s Namespace and Subnet; omit ID.
Required when ID is absent
ID pins a stable Filesystem identity instead of a reusable name; omit Name.
Required when Name is absent
MountPath is a clean absolute container path outside reserved and overlapping mounts.
ReadOnly true opens saved files; false makes this Pod the Filesystem’s one writer.
Version selects latest, a saved number or name on read-only mounts. Omitted means latest.
Default latest on read-only mounts
SaveEvery requests a positive periodic save interval on a writable mount; nil disables periodic saves.
Probe that decides when the container is ready. A container that declares one starts not ready and is ready while it is running and its probe has met its success threshold; a container that declares none is ready while it is running. Absent means no probe, never an empty one.
Command run inside the container. A probe states exactly one kind, and exec is the only kind.
Executable and its arguments. The first element names the executable and must not be empty; later elements may be empty strings. No element may contain a NUL byte.
Requirement At least one element
Seconds between the end of one probe run and the start of the next.
Format Whole seconds, 1 to 300 (default 10)
Seconds one probe run may take, counted from the moment the command starts. A run still going when it expires is stopped, with every process it started, and counts as a failure. The effective timeout may not exceed the effective periodSeconds.
Format Whole seconds, 1 to 60 (default 1)
Consecutive successful runs that make a not-ready container ready.
Format 1 to 10 (default 1)
Consecutive failed runs that make a ready container not ready.
Format 1 to 10 (default 3)
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
Closed provider-owned Vault projection sources. A volume represents exactly one Secret or TLSCertificate; arbitrary host storage cannot be represented.
Volume name referenced by container volume mounts.
Secret source.
Format Exactly one of secret or certificate
Typed Secret resource reference.
Secret resource name.
Resource namespace. Omit to use the workload namespace.
Format Must equal the workload namespace in v1
Immutable Secret version. Omit to bind current on first resolution.
Format Positive integer
Optional key-to-path selection. Omit to project every key by key name.
Secret data key to project.
Clean relative destination path within the volume.
TLSCertificate source.
Format Exactly one of secret or certificate
Typed TLSCertificate resource reference.
TLSCertificate resource name.
Resource namespace. Omit to use the workload namespace.
Format Must equal the workload namespace in v1
Immutable TLSCertificate version. Omit to bind current on first resolution.
Format Positive integer
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_]*.

