How runtime policy works
IDYL keeps three concepts separate:
The supported isolation classes are:
For
microvm policy, a subnet can also restrict compatible Kata VMM backends:
microvm is not a cryptographic attestation claim. It means IDYL schedules the
workload for a node that reports a compatible microVM runtime path. It does not
prove confidential-computing execution.
Choose a policy
Create a subnet with runtime policy
Create a subnet with no runtime policy:microvm subnet with defaulting. Workloads that omit
--isolation-class inherit microvm:
microvm subnet. Workloads must explicitly request
--isolation-class microvm:
microvm subnet that accepts only Kata + Firecracker nodes:
microvm subnet that accepts either Kata + QEMU or Kata +
Firecracker nodes:
container and microvm workloads:
Update an existing subnet
Set or replace runtime policy:microvm subnet to a specific Kata backend:
--allowed-isolation-class is required.
--default-isolation-class is optional, but when present it must be one of the
allowed isolation classes. --allowed-vmm-backend is optional and only applies
when microvm is an allowed isolation class.
Verify the policy
Inspect the subnet:runtimePolicy object.
Workload admission behavior
When a workload is created in a subnet with runtime policy, IDYL resolves the effective isolation class in this order:- If the workload sets
--isolation-class, IDYL uses that explicit value. - Otherwise, if the subnet sets
defaultIsolationClass, IDYL uses the subnet default. - Otherwise, if the subnet has runtime policy but no default, IDYL rejects the workload because an isolation class is required.
allowedIsolationClasses.
This workload is accepted by a microvm subnet:
defaultIsolationClass: microvm:
microvm-only subnet:
--isolation-class is rejected with a message that includes:
Coordinate compatible capacity
Runtime policy does not install runtimes or approve provider capacity. Provider nodes must still be admitted to the subnet, and each node must report runtime metadata that can satisfy the policy.--runtime-profile selects a named preset. The preset writes the provider,
runtime type, and default local runtime settings. Use --runtime-provider only
when you are not using a preset and need to provide raw runtime settings.
Use
containerd-kata-* as shorthand for the family of explicit Kata backend
profiles. It is not a runtime profile value accepted by the CLI.
Join a Kata-capable node to a subnet:
microvm policy.
Inspect connected nodes:
Scheduling behavior
After a workload passes admission, the scheduler uses the effective isolation class and node runtime metadata. Formicrovm, the node must report a compatible microVM runtime path. Docker
and containerd/runc are not compatible with microvm, and IDYL does not
downgrade microvm workloads to container. Backend selection is controlled
by node configuration and subnet runtime policy, not by a workload-level
runtime-profile flag.
If no compatible node is available, the workload remains unplaced until
compatible capacity is available. Runtime compatibility errors include the
requested isolation class, for example:

