Skip to main content
An application is the software you deploy. In IDYL, applications are usually managed through workloads. Workloads are the resources that describe runnable work on IDYL. A workload has a kind, metadata, spec, and read-only status. Users define the desired state in the spec. IDYL reports observed state in status when resources are inspected.

Workload types

WorkloadUse it when
DeploymentApplication code should keep running.
JobWork should run until it completes.
CronJobJobs should run on a schedule.
SandboxA disposable Linux environment should exist for a required TTL.
PodYou need to run or inspect one pod spec directly.
ReplicaSetA fixed number of identical pods should run.
Builders usually create deployments and jobs, then inspect pods to see runtime state.

Desired and observed state

Deployments, jobs, cron jobs, and replica sets describe desired work. Pods are the runtime units created from pod specs. When you inspect a workload, IDYL can return status such as replica counts, active job counts, pod state, health status, and container status. Status fields are read-only.

Imperative and declarative workflows

Use imperative commands when you want to create work quickly:
idyl deploy nginx:1.25 --name web --replicas 2
idyl run busybox:latest --name debug
idyl create sandbox --image ubuntu:24.04 --ttl 2h --subnet <subnet>
Use manifests when you want a repeatable YAML resource definition:
idyl apply -f app.yaml