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 cluster

CLI override: --infra

ml launch task.yaml --infra mithril/us-central5-a

Format

cloud[/region[/zone]]
Example
Meaning

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 auctionarrow-up-right. 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 consolearrow-up-right.

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

  1. Create a K8s cluster in the Mithril consolearrow-up-right

  2. 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

  3. Fetch credentials to your local machine:

  1. 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)arrow-up-right — cluster setup, persistent storage, and FAQ → SkyPilot on Kubernetesarrow-up-right — 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 docsarrow-up-right — using SkyPilot on Kubernetes clusters

Last updated