How workload isolation fits IDYL
Workload isolation is coordinated across workload authors, subnet operators, and provider nodes:
A workload runs with a given isolation class only when the target subnet admits
that class and a provider node that serves it has capacity.
Isolation classes
An isolation class names the guarantee a workload can rely on. It does not name a runtime.
Every class is a container execution class. You supply a container image and
use the same workload lifecycle, logs, and exec in each class. You never manage
virtual machine images, firmware, virtual disks, or hypervisor settings.
isolation.class is set on the pod spec. Every container in a pod runs with
the same isolation class. To run parts of an application with different
classes, run them as separate workloads.
Runtimes
Provider nodes serve each class with a specific runtime:
Builders request an isolation class on the workload. They do not choose the
runtime. Operators decide which isolation classes a subnet accepts. Providers
configure nodes with the runtimes that serve those classes.
A node reports a class only when that class’s runtime passed the node’s checks
on the host when the node started. A runtime that fails its checks is not
reported; the node never offers a weaker boundary in its place.
microvm is in preview. No provider host has completed IDYL’s validation for
it, so do not rely on microvm capacity for production workloads.Availability
IDYL places a workload only on a node that offers every capability the workload
requests for its isolation class. A request for a capability that no node in the
subnet offers for that class does not schedule.
When to request stronger isolation
Usesecure-container or microvm when the source, behavior, or operating
context of the workload calls for stronger separation from the host than a
standard container provides, such as:
- Third-party containers.
- AI agent workloads.
- User-submitted code.
- Images with an uncertain supply chain.
- Workloads from another account.
- Jobs running on private machines or sensitive networks.
secure-container is the default choice for untrusted code. It runs on any
Linux host, including cloud instances without hardware virtualization.
microvm, in preview, adds a dedicated guest kernel and requires provider
hosts with KVM.
Runtime policy controls which isolation classes a subnet accepts. Admission
controls who can deploy workloads or provide capacity.
Enforce workload isolation
Subnet operators enforce workload isolation with runtime policy. A subnet can:- Allow only
secure-containerworkloads. - Set
secure-containeras the default isolation class. - Require workload authors to set
--isolation-classexplicitly. - Allow several classes, such as
containerandsecure-container.
Request an isolation class
Builders request an isolation class when the target subnet allows it:--isolation-class explicitly.
When --network-class is omitted, IDYL applies a default network class:
unrestricted for container, and none for secure-container, microvm,
and a workload that states no isolation class. Docker Engine nodes do not
serve none, so a workload with neither an isolation class nor a network
class does not place on a subnet whose only capacity is Docker Engine nodes.
Set --isolation-class container or --network-class unrestricted for such
a workload.
Provide isolation capacity
Providers servesecure-container and microvm from Linux nodes on the
containerd runtime profile. Each class is added by pointing the node at the
runtime’s configuration:
secure-container or microvm workload to a
weaker class when compatible capacity is missing.
For the provider workflow, see Configure a node.
Boundaries and guarantees
An isolation class is a placement guarantee, not a cryptographic attestation claim. It means IDYL schedules the workload onto a node that reports a runtime serving that class. It does not, by itself, prove that a provider cannot observe or affect a workload. Pair runtime isolation with appropriate controls for network access, secrets, provider admission, device access, and audit requirements.GPU workloads
Request GPU access with the pod-levelgpu requirement. GPU workloads run with
container isolation on nodes that report GPU capacity. A subnet that accepts
only secure-container or microvm does not place GPU workloads.

