Huddle01 Cloud
CLI

Overview

A blazing-fast, future-proof command line for provisioning and orchestrating everything on Huddle Cloud.

hudl is the official command-line interface for Huddle Cloud. One static binary, zero runtime dependencies, every endpoint of the platform mapped to a single predictable grammar.

It's the same control plane that powers the dashboard, but compressed into something you can pipe, script, alias, and live in.

1:1 with the API reference

Every command in this section maps directly to a documented endpoint in the Cloud API reference. If you can read the API docs, you already know hudl.

The grammar

Every hudl command follows the same shape:

hudl <resource> <verb> [target] [flags]

If you know one resource, you know them all.

Cloud resources

ResourceMaps toExample
vmInstanceshudl vm create web-01
volumeVolumeshudl volume attach vol-01 --to vm-01
fipFloating IPshudl fip associate 203.0.113.10 --to vm-01
sgSecurity Groupshudl sg create web --description "HTTP/HTTPS traffic"
networkNetworkshudl network create vpc-prod --cidr 10.0.0.0/16
keyKey Pairshudl key create laptop --public-key ~/.ssh/id_ed25519.pub
flavorFlavorshudl flavor list
imageImageshudl image list
regionRegionshudl region list

GPU resources

ResourceMaps toExample
gpu deployGPU Deploymentshudl gpu deploy --offer ofr_8xH100
gpu offersGPU Offershudl gpu offers
gpu keyGPU SSH Keyshudl gpu key upload prod-key --file ~/.ssh/id_ed25519.pub
gpu volumeGPU Volumeshudl gpu volume create datasets --size 500 --type nvme
gpu webhookGPU Webhookshudl gpu webhook create https://example.com/hook
gpu apikeyGPU API Keyshudl gpu apikey create ci-bot
gpu waitlistGPU Waitlisthudl gpu waitlist add

Global flags

These flags work with every command:

FlagShortDescription
--region <code>Override the active region for this call.
--workspace <slug>Override the active workspace for this call.
--output <format>-oOutput format: table, json, yaml, wide, name.
--idempotency-key <key>Attach an idempotency key for safe retries (mutating commands only).

Quickstart

# 1. install
curl -fsSL https://get.huddle01.com/hudl | sh

# 2. authenticate with your API keys
hudl login --token mk_xxx --gpu-token gk_xxx

# 3. set workspace and region context
hudl ctx use acme-prod
hudl ctx region eu2

# 4. provision a VM
hudl vm create web-01 \
  --image ubuntu-24.04 \
  --flavor c2.small \
  --boot-disk-size 50 \
  --key laptop \
  --sg default \
  --public-ip

End-to-end example

A common workflow: create a VM, attach storage, assign a public IP, and open port 443.

# create a security group and open HTTPS
hudl sg create web-tier --description "Public web servers"
hudl sg rule add <sg-id> --protocol tcp --from-port 443 --to-port 443 --cidr 0.0.0.0/0

# launch the VM
hudl vm create api-server \
  --image ubuntu-24.04 --flavor c4.large \
  --boot-disk-size 40 --key deploy-key \
  --sg web-tier --public-ip

# create and attach a data volume
hudl volume create api-data --size 100 --type ssd
hudl volume attach <volume-id> --to <vm-id>

# assign a floating IP
hudl fip associate 203.0.113.42 --to <vm-id>

Scripting and automation

hudl is built for scripting. Use --output name to get just IDs, --output json to pipe into jq, and idempotency keys for safe retries in CI pipelines.

# list all VM IDs in a region
hudl vm list --region us1 -o name

# get a VM's status with jq
hudl vm get <id> -o json | jq -r '.status'

# safe retry in CI
hudl vm create staging-01 \
  --image ubuntu-24.04 --flavor c2.small \
  --boot-disk-size 30 --key ci-key --sg default \
  --idempotency-key "deploy-$(git rev-parse --short HEAD)"

Where to next