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

Upload and run a script:

# Upload
podstack pod cp ./train.py my-first-pod:/workspace/

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

Step 7: Download Results

podstack pod cp my-first-pod:/workspace/model.pt ./model.pt

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

# Upload code
echo "Uploading code..."
podstack pod cp ./src/ training-job:/workspace/src/
podstack pod cp ./data/ training-job:/workspace/data/

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

# Download results
echo "Downloading results..."
podstack pod cp training-job:/workspace/output/ ./results/

# 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
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
Upload filepodstack pod cp LOCAL POD:REMOTE
Download filepodstack pod cp POD:REMOTE LOCAL

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