Skip to main content
Create a workload resource. Resource types:
  • deployment
  • replicaset
  • pod
  • job
  • sandbox
  • cronjob
Most workload resources are created from YAML manifests. Sandboxes can also be created imperatively from an image, TTL, and target subnet. If —name is omitted for an imperative Sandbox create, the CLI generates a concrete Sandbox name before sending the request.

Usage

idyl create [resource]

Commands

CommandDescription
idyl create cronjobCreate a cronjob from a file
idyl create deploymentCreate a deployment from a file
idyl create jobCreate a job from a file
idyl create podCreate a pod from a file
idyl create replicasetCreate a replicaset from a file
idyl create sandboxCreate a disposable Sandbox

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)
-n <string>, --namespace <string>Namespace to use
-o <string>, --output <string>Output format (json|yaml)
-p <string>, --profile <string>Override profile
--realm <string>Override realm
--subnet <string>Override context subnet for this command

Examples

# Create a deployment from a manifest
idyl create deployment -f deployment.yaml

# Create a Sandbox with a generated name
idyl create sandbox --image ubuntu:24.04 --ttl 2h --subnet <subnet>

# Create a Sandbox with an explicit name and isolation class
idyl create sandbox --name dev --image ubuntu:24.04 --ttl 24h --subnet <subnet> --isolation-class microvm

Subcommand reference

idyl create cronjob

Create a cronjob from a file

Usage

idyl create cronjob [flags]

Aliases

  • cronjobs
  • cj

Flags

FlagDescription
-f <string>, --filename <string>Required. Path to file containing cronjob definition
-n <string>, --namespace <string>Namespace name (overrides context)

idyl create deployment

Create a deployment from a file

Usage

idyl create deployment [flags]

Aliases

  • deployments
  • deploy

Flags

FlagDescription
-f <string>, --filename <string>Required. Path to file containing deployment definition
-n <string>, --namespace <string>Namespace name (overrides context)

idyl create job

Create a job from a file

Usage

idyl create job [flags]

Aliases

  • jobs

Flags

FlagDescription
-f <string>, --filename <string>Required. Path to file containing job definition
-n <string>, --namespace <string>Namespace name (overrides context)

idyl create pod

Create a pod from a file

Usage

idyl create pod [flags]

Aliases

  • pods

Flags

FlagDescription
-f <string>, --filename <string>Required. Path to file containing pod definition
-n <string>, --namespace <string>Namespace name (overrides context)

idyl create replicaset

Create a replicaset from a file

Usage

idyl create replicaset [flags]

Aliases

  • replicasets
  • rs

Flags

FlagDescription
-f <string>, --filename <string>Required. Path to file containing replicaset definition
-n <string>, --namespace <string>Namespace name (overrides context)

idyl create sandbox

Create a disposable Sandbox workload inside an IDYL subnet. Provide a container image, a required TTL duration, and a target subnet. TTL uses duration strings such as 15m, 2h, or 24h. If —name is omitted, the CLI generates a concrete Sandbox name before sending the create request. Command and args values are split using shell-style quoting, so quoted substrings stay together as one container argument. By default, Idyl keeps the Sandbox open until TTL/delete. Use —use-image-entrypoint to let the image ENTRYPOINT/CMD control the process, or —command with optional —args to run an explicit command. Use —isolation-class container or —isolation-class microvm to request the Sandbox pod template isolation class when that value is allowed by the target subnet.

Usage

idyl create sandbox --image <image> --ttl <duration> --subnet <subnet> [--name <name>] [flags]

Aliases

  • sandboxes

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)
--image <string>Required. Container image URI for the Sandbox pod template
--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>Sandbox name. If omitted, the CLI generates a concrete name before creating the Sandbox
-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 where the Sandbox should run
--ttl <string>Required. Sandbox TTL duration, such as 15m, 2h, or 24h
--use-image-entrypointUse the image ENTRYPOINT/CMD lifecycle instead of holding the Sandbox open

Examples

# Create a Sandbox with a generated name
idyl create sandbox --image ubuntu:24.04 --ttl 2h --subnet <subnet>

# Create a Sandbox that uses the image ENTRYPOINT/CMD
idyl create sandbox --image my-image --ttl 2h --subnet <subnet> --use-image-entrypoint

# Create a Sandbox that runs an explicit command
idyl create sandbox --image my-image --ttl 2h --subnet <subnet> --command "/app/dev-server" --args "--port 8080"

# Create a named Sandbox that requests microVM isolation
idyl create sandbox --name dev --image ubuntu:24.04 --ttl 24h --subnet <subnet> --isolation-class microvm