A CLI for managing Rackspace Spot resources.
go install github.com/georgetaylor/spotctl@latestgit clone https://github.com/georgetaylor/spotctl.git
cd spotctl
make build- Visit Rackspace Spot Console 🌐
- Go to API Access > Terraform
- Click Get New Token
- Copy your refresh token
# Interactive setup (recommended)
spotctl config init
# Or set values directly
spotctl config set refresh-token your-token-here# Environment variables
export SPOTCTL_REFRESH_TOKEN=your-token
# Command flags
spotctl --refresh-token your-token regions listYou can manually configure this file (rather than using spotctl config to create it).
See example.
# List available regions
spotctl regions list
# List your organizations
spotctl organizations list
# List server classes with details
spotctl serverclasses list --details
# Get specific server class info
spotctl serverclasses get <spot class>
# List cloudspaces in a namespace
spotctl cloudspaces list my-namespace# Default table view
spotctl regions list
# Detailed view with extra columns
spotctl regions list -o wide
# JSON output for automation
spotctl regions list --output json
# YAML for configuration
spotctl regions list --output yaml
| Flag | Description |
|---|---|
--output, -o |
Output format: table, wide, json, yaml |
--no-pager |
Disable automatic paging |
--debug |
Enable debug output |
- Go 1.24+
- Make
make build # Build binary
make test # Run tests
make dev # Format, lint, test, buildspotctl/
├── cmd/ # CLI commands
│ ├── <cmd name> # eg region, cloudspace
├── pkg/ # Public packages
│ ├── client/ # API client
│ ├── config/ # Configuration
│ ├── output/ # Formatters
│ └── pager/ # Output paging
├── internal/ # Private utilities
└── main.go # Entry point
- Fork the repo
- Create a feature branch
- Make your changes
- Run
make dev - Submit a PR
MIT License - see LICENSE for details.