Scullery

Scullery Logo

Cloud Recipes at Your Fingertips

Licence: MIT

scullery is a command-line utility for executing cloud operations on T Cloud Public. If you've ever found yourself juggling curl commands, chasing tokens, or writing ad‑hoc scripts to manage IAM users, buckets, or ECS instances, scullery aims to give you a single, well‑structured tool for the job.

Scullery is built around the concept of recipes — focused subcommands that wrap OTC REST APIs into a consistent CLI experience. It handles authentication for you (token, AK/SK, or username+password), supports credential caching, and even auto‑configures proxy settings on Windows.

T Cloud Public Logo

What can you do with it?

Recipe Area What it lets you do
scullery bucket OBS List, create, delete buckets; manage tags and access policies
scullery ecs ECS List, inspect, start, stop & reboot servers; query flavours
scullery user IAM List, create, delete users; manage group membership and passwords
scullery group IAM List, get details, create, delete IAM groups
scullery role IAM List custom/system roles; get details; create & delete roles
scullery project Project List, create, delete projects; grant/revoke role assignments
scullery image IMS List and filter images; get image details
scullery deh DeH List available Dedicated Host types
scullery resource RMS List cloud resources, optionally filtered by project
scullery tag TMS List, create, delete pre‑defined tags
scullery login Auth Issue temporary credentials (tokens or temp AK/SK) and cache them
scullery wiz Setup Interactive configuration wizard for clouds.yaml and ~/.s3cfg

Every recipe supports --help for full usage details.

Authentication — flexible by design

Scullery accepts credentials from three sources in order of precedence:

command line → environment variables → configuration files
  • Token — unscoped or scoped, passed via --token or OS_AUTH_TOKEN.
  • AK/SK — access key + secret key (--ak / --sk), plus optional security token for temporary credentials.
  • Username + password--username / --password with user domain.

Configuration files follow the familiar python-otcextensions format (clouds.yaml / secure.yaml), searched in:

/etc/openstack/
~/.config/openstack/
./ (current directory)

Only the scullery cloud entry is recognised; everything else is ignored.

Windows support

Scullery includes a proxycfg module that reads the Windows registry AutoConfigURL setting, fetches and parses PAC scripts, and sets http_proxy / https_proxy environment variables automatically. A showcfg recipe is also available on Windows to inspect the current proxy configuration.

Getting started

# Install dependencies
pip install -r requirements.txt

# Run the configuration wizard
python -m scullery wiz

# List your projects
python -m scullery project ls

# List ECS instances
python -m scullery ecs ls

# List OBS buckets
python -m scullery bucket