Scullery

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.

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
--tokenorOS_AUTH_TOKEN. - AK/SK — access key + secret key (
--ak/--sk), plus optional security token for temporary credentials. - Username + password —
--username/--passwordwith 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
Project links
- Source code: github.com/aliuly/scullery
- Documentation: aliuly.github.io/scullery
- License: MIT