Infra
The infra field in your task YAML controls where your code runs — which cloud, which region, and how compute is allocated.
resources:
infra: mithril # Mithril (default)
# infra: mithril/us-central5-a # Mithril in a specific region
# infra: aws # AWS
# infra: gcp/us-central1 # GCP in a specific region
# infra: k8s/<context-name> # Kubernetes clusterCLI override: --infra
ml launch task.yaml --infra mithril/us-central5-aFormat
cloud[/region[/zone]]mithril
Mithril Cloud, any region
mithril/us-central5-a
Mithril Cloud, specific region
aws
AWS, any region
aws/us-east-1
AWS, specific region
aws/us-east-1/us-east-1a
AWS, specific region and zone
kubernetes
Default Kubernetes context
If omitted, infra defaults to mithril.
Mithril
When infra: mithril, your cluster is provisioned on Mithril's GPU cloud through the spot auction. You pay the current spot price (up to your limit price) and your instances may be preempted if the spot price rises above it.
→ Limit Price — how the spot auction, pricing, and preemption work
Spot bids
All Mithril compute via ml launch is allocated through a blind second-price auction from Mithril's spot capacity. You set a limit price, and you pay the current spot price (not your limit). Instances can be preempted when the spot price exceeds your limit.
→ Spot bids — full details on the spot auction, preemption, and pricing mechanics
Reservations
Reservations provide guaranteed capacity at a fixed price for a defined time window — no preemption risk. Reservations are created and managed through the Mithril console.
Today, you can use reserved instances with ml launch by attaching them to a hosted Kubernetes cluster and targeting it with infra: kubernetes — see Hosted Kubernetes below.
Hosted Kubernetes
Mithril provides hosted Kubernetes clusters with a long-lived control plane. You can run ml launch tasks on a Mithril K8s cluster by setting infra: kubernetes.
Prerequisites
Install the required tools:
Setup
Create a K8s cluster in the Mithril console
Create a spot bid or reservation in the Mithril console and select your K8s cluster — instances will automatically join the cluster as nodes on startup
Fetch credentials to your local machine:
Launch on Kubernetes:
Mithril handles node lifecycle automatically — preempted instances are drained with a 5-minute grace period, reallocated instances are uncordoned, and terminated instances are removed from the cluster.
→ Hosted Kubernetes (Mithril docs) — cluster setup, persistent storage, and FAQ → SkyPilot on Kubernetes — pod scheduling, multi-cluster, and troubleshooting
Multi-cloud
Mithril CLI through SkyPilot supports 20+ clouds. If you have credentials configured for other providers, you can target them with infra:
Cloud
infra value
Mithril
mithril
AWS
aws
GCP
gcp
Azure
azure
Kubernetes
kubernetes
Nebius
nebius
OCI
oci
Check which clouds you have credentials for:
→ SkyPilot Kubernetes docs — using SkyPilot on Kubernetes clusters
Last updated