Table of contents

Quick Start

Get up and running with the Podstack CLI in minutes.

Prerequisites

Step 1: Authenticate

podstack auth login

This opens your browser for secure login.

Verify:

podstack auth status

Step 2: Check Balance

podstack wallet balance

Step 3: Create a Pod

Create a GPU pod with PyTorch:

podstack pod create \
  --name my-first-pod \
  --image pytorch/pytorch:2.0.0-cuda11.7-cudnn8-runtime \
  --gpu-type A100 \
  --gpu-count 1 \
  --cpu 4 \
  --memory 16

Step 4: Check Status

podstack pod list

Wait for status to show running:

podstack pod get my-first-pod --watch

Step 5: Connect to Pod

SSH into the pod:

podstack pod ssh my-first-pod

Or run a command:

podstack pod exec my-first-pod -- nvidia-smi

Step 6: Run Your Code

Execute your training script remotely:

# Run
podstack pod exec my-first-pod -- python /workspace/train.py

Step 7: View Logs

Monitor the pod logs:

podstack pod logs my-first-pod --follow

Step 8: Stop and Cleanup

Stop the pod (pause billing):

podstack pod stop my-first-pod

Delete the pod:

podstack pod delete my-first-pod

Complete Workflow Example

#!/bin/bash
# training-job.sh

# Create pod
echo "Creating pod..."
podstack pod create \
  --name training-job \
  --image pytorch/pytorch:latest \
  --gpu-type A100 \
  --wait

# Run training
echo "Running training..."
podstack pod exec training-job -- python /workspace/src/train.py

# Retrieve stats
echo "Checking stats..."
podstack pod stats training-job

# Cleanup
echo "Cleaning up..."
podstack pod delete training-job --force

echo "Done!"

Common Commands Reference

TaskCommand
List podspodstack pod list
Create podpodstack pod create --name NAME --image IMAGE
Get pod infopodstack pod get NAME
Get pod statspodstack pod stats NAME
SSH to podpodstack pod ssh NAME
Run commandpodstack pod exec NAME -- COMMAND
View logspodstack pod logs NAME
Stop podpodstack pod stop NAME
Start podpodstack pod start NAME
Delete podpodstack pod delete NAME

Tips

Use –wait Flag

Wait for pod to be ready:

podstack pod create --name my-pod --image image:tag --wait

Output Formats

Get JSON output for scripting:

podstack pod list --output json | jq '.[] | .name'

Follow Logs

Stream logs in real-time:

podstack pod logs my-pod --follow

Quick Delete

Force delete without confirmation:

podstack pod delete my-pod --force

Next Steps