Escape from Rackspace ticket hell - a minimal CLI for ticket management
Project description
🗡️ Raxodus
"Neither demon nor machine, but something altogether different" - Ultima III
Escape from Rackspace ticket hell. A minimal CLI for managing Rackspace support tickets, optimized for automation and integration with n8n workflows.
Features
- 🎯 Minimal & Fast - Just the essentials, no bloat
- 🔄 n8n Ready - JSON output perfect for workflow automation
- 🔐 Secure - Credentials via environment variables
- 📊 Multiple Formats - JSON, table, or CSV output
- ⚡ Rate Limited - Built-in retry logic and backoff
- 🛡️ Type Safe - Pydantic models prevent runtime errors
Installation
# Install with uvx (recommended)
uvx install raxodus
# Or with pip
pip install raxodus
# Or with uv
uv pip install raxodus
Quick Start
# Set your credentials
export RACKSPACE_USERNAME="your-username"
export RACKSPACE_API_KEY="your-api-key"
export RACKSPACE_ACCOUNT="123456" # Optional default account
# List recent tickets
raxodus tickets list --days 7
# Get specific ticket
raxodus tickets get 250625-02866
# Output as JSON for n8n
raxodus tickets list --format json | jq '.tickets[] | select(.status == "open")'
n8n Integration
Use the Execute Command node in n8n:
{
"command": "raxodus tickets list --format json --status open",
"cwd": "/tmp"
}
Then parse the JSON output in subsequent nodes for automation.
Output Formats
JSON (Default)
raxodus tickets list --format json
Table (Human Readable)
raxodus tickets list --format table
CSV (Excel/Sheets)
raxodus tickets list --format csv > tickets.csv
Configuration
Environment Variables
RACKSPACE_USERNAME # Your Rackspace username (required)
RACKSPACE_API_KEY # Your API key (required)
RACKSPACE_ACCOUNT # Default account number (optional)
RACKSPACE_REGION # API region (default: us)
RAXODUS_CACHE_DIR # Cache directory (default: ~/.cache/raxodus)
RAXODUS_CACHE_TTL # Cache TTL in seconds (default: 300)
Config File (Optional)
# ~/.config/raxodus/config.toml
[auth]
username = "your-username"
account = "123456"
[cache]
enabled = true
ttl = 300
Commands
Authentication
# Test your credentials
raxodus auth test
# List available accounts
raxodus auth accounts
Tickets
# List tickets with filters
raxodus tickets list [OPTIONS]
--account TEXT Rackspace account number
--status TEXT Filter by status (open, closed, pending)
--days INTEGER Show tickets from last N days
--format TEXT Output format (json, table, csv)
# Get single ticket
raxodus tickets get TICKET_ID [OPTIONS]
--format TEXT Output format (json, table)
Development
# Clone the repo
git clone https://github.com/bdmorin/raxodus
cd raxodus
# Install with uv
uv pip install -e ".[dev]"
# Run tests
pytest
# Run integration tests (requires credentials)
hurl --test tests/*.hurl
Why "raxodus"?
Like the villain Exodus from Ultima III, Rackspace tickets are neither purely technical problems nor simple service requests, but something altogether more frustrating. This tool helps you escape.
License
MIT - See LICENSE file
Contributing
Pull requests welcome! Please ensure all tests pass and add coverage for new features.
Support
This is an unofficial tool and is not affiliated with or supported by Rackspace Technology.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file raxodus-0.1.1.tar.gz.
File metadata
- Download URL: raxodus-0.1.1.tar.gz
- Upload date:
- Size: 39.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5cce5bddac4e20899095a712118a8d4c2c99ebc65cae41cdb54cc764245331f8
|
|
| MD5 |
f8d23eed7cc85270acaf5c78927cfc2f
|
|
| BLAKE2b-256 |
3f55c2a2bc926145e3ca35eb1fdf106ef18e3d8ba8a33f19a8f7bc3b94babc8b
|
File details
Details for the file raxodus-0.1.1-py3-none-any.whl.
File metadata
- Download URL: raxodus-0.1.1-py3-none-any.whl
- Upload date:
- Size: 14.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e27f98198e7c367035a4629f6edcefea561912ec340493472892f8515eeddf8
|
|
| MD5 |
690124329c640e8364a691891186edb2
|
|
| BLAKE2b-256 |
12fb77c08c737ef5225165a291d696af9def05e7efdfc2efc10b2c0b91d92548
|