Skip to main content
Run creates a standalone pod with debugging-friendly defaults. Unlike ‘deploy’, this creates a Pod directly (not a Deployment). Note: Interactive mode (-it) is not supported. Command and args values are split using shell-style quoting, so quoted substrings stay together as one container argument. Use —platform, —isolation-class, and —network-class to declare workload runtime intent. Admission and scheduling still require a target subnet policy and provider nodes that match the requested runtime capabilities. For isolated microVM admission, declare linux/amd64, microvm isolation, and a network class of none or restricted-egress. The CLI records this intent; the platform validates it before scheduling.

Usage

idyl run IMAGE [flags]

Flags

FlagDescription
--args <string>Override container CMD arguments (split as shell-style words)
--command <string>Override container ENTRYPOINT (split as shell-style words)
--cpu <string>CPU limit (e.g., 100m, 0.5; default from config)
-e <stringArray>, --env <stringArray>Environment variable (KEY=VALUE, repeatable)
--gpu <string>GPU requirement (e.g., rtx5090, 2:h100, nvidia:24Gi)
-i, --interactiveKeep STDIN open (not supported)
--isolation-class <string>Workload isolation class (container or microvm); must be allowed by the target subnet
--memory <string>Memory limit (e.g., 128Mi, 512Mi; default from config)
--name <string>Name for the pod (auto-generated if not provided)
-n <string>, --namespace <string>Namespace name (overrides context)
--network-class <string>Workload network class (none, restricted-egress, unrestricted)
--platform <string>Target workload platform (linux/amd64 or linux/arm64)
--subnet <string>Subnet for workload placement
-t, --ttyAllocate a pseudo-TTY (not supported)

Inherited flags

FlagDescription
-a <string>, --account-id <string>Account ID to use (overrides context)
-c <string>, --context <string>Use specific context
--homedir <string>Override config directory (default: ~/.idyl)
-o <string>, --output <string>Output format (json|yaml)
-p <string>, --profile <string>Override profile
--realm <string>Override realm

Examples

# Run nginx with auto-generated name
idyl run nginx

# Run with custom name
idyl run alpine --name=debug-tool

# Run with command and args
idyl run busybox --command="echo" --args="hello world"

# Run with resource limits
idyl run myapp:debug --cpu=100m --memory=128Mi

# Run with GPU requirements
idyl run nvidia/cuda:12.0 --gpu=rtx5090
idyl run ollama --gpu="nvidia:24Gi"

# Declare container isolation intent
idyl run nginx --platform linux/amd64 --isolation-class container

# Declare microVM isolation intent
idyl run nginx --platform linux/amd64 --isolation-class microvm

# Use the subnet default isolation class, when configured by runtime policy
idyl run nginx --subnet=microvm-subnet --platform linux/amd64

# Declare isolated microVM intent with no workload network
idyl run nginx --platform linux/amd64 --isolation-class microvm --network-class none

# Run in a subnet
idyl run nginx --subnet=my-subnet