Usage

rich table by default for pricing list/build if --output is not explicitly set

This reference is organized by operational tasks.

Global Options

Every command accepts:

  • --profile, -p profile name
  • --config-file, -c config path override
  • --output, -o output mode (json, yaml, table)
  • --version print CLI version

Example:

uv run rsspot --profile prod --output table organizations list

Command Groups

GroupPurposeHigh-value commands
configureWrite/update profile configconfigure --profile ...
profilesProfile lifecycle managementlist, show, use, delete
configPersisted defaults + effective config inspectioninfo, set-default-profile, set-default-org, set-default-region
config historyCLI history managementinfo, clear
organizationsResolve orgslist, get <name_or_id>
regionsRegion discoverylist, get <name>
server-classesCapacity SKUslist, get <name>
pricingPrice-focused views + recommendation builderlist, get <server_class>, build
cloudspacesCloudspace CRUD + kubeconfiglist, create, delete, get-config
inventoryVM cloudspace/pool/event inventoryvmcloudspaces, vmpools, events
nodepools spotSpot pool CRUDlist, create, update, delete
nodepools ondemandOn-demand pool CRUDlist, create, update, delete
rawArbitrary API passthroughraw --method --path ...

Task Recipes

Configure profiles and defaults

uv run rsspot configure --profile prod --org sparkai --region us-central-dfw-1 --refresh-token "$TOKEN"
uv run rsspot profiles use prod
uv run rsspot config set-default-profile prod
uv run rsspot config set-default-org sparkai
uv run rsspot config set-default-region us-central-dfw-1

Inspect effective config and history

uv run rsspot config info --output yaml
uv run rsspot config history info

Create a cloudspace and fetch kubeconfig

uv run rsspot cloudspaces create --name demo-cs --region us-central-dfw-1 --org sparkai
uv run rsspot cloudspaces get-config demo-cs --org sparkai --file ./kubeconfigs/demo-cs.yaml

Manage a spot nodepool

uv run rsspot nodepools spot create \
  --name spot-workers \
  --cloudspace demo-cs \
  --server-class gp.4x8 \
  --bid-price 0.08 \
  --desired 3 \
  --autoscaling \
  --autoscaling-min 1 \
  --autoscaling-max 6 \
  --label team=platform

Query inventory events

uv run rsspot inventory events --limit 200 --output table

Explore pricing with filters

# rich table by default for pricing list/build if --output is not explicitly set
uv run rsspot pricing list --region us-central-dfw-1 --class gp,ch --min-cpu 4 --gen 2 --nodes 5

# explicit json/yaml output stays machine-readable
uv run rsspot -o json pricing list --class gp --max-cpu 8 --nodes 10

Build cost-efficient pool recommendations

# returns max_performance, max_value, and balanced scenarios
uv run rsspot pricing build --nodes 5 --risk med --classes gp,ch,mh

# spread balanced scenario across multiple pools (risk controls aggressiveness)
uv run rsspot pricing build --nodes 5 --balanced --risk low

# constrain total cluster hourly spend
uv run rsspot pricing build --nodes 5 --min-hour 0.05 --max-hour 0.25

# constrain total cluster monthly spend
uv run rsspot pricing build --nodes 5 --min-month 50 --max-month 180

Output Modes

  • json: machine-readable
  • yaml: config-style output
  • table: terminal summary via rich

Use json for scripts and automation.

Raw API Passthrough

uv run rsspot raw \
  --method GET \
  --path /apis/ngpc.rxt.io/v1/regions

With query params/body JSON:

uv run rsspot raw \
  --method POST \
  --path /apis/ngpc.rxt.io/v1/some-endpoint \
  --params-json '{"dryRun":true}' \
  --body-json '{"spec":{"name":"demo"}}'

Validation note: --params-json and --body-json must decode to JSON objects.