For the complete documentation index, see llms.txt. This page is also available as Markdown.

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

  1. Create a K8s cluster in the Mithril console

  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) — 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