waldur-cli
A scriptable, LLM/agent-friendly command-line tool for Waldur MasterMind. It wraps the Waldur REST API behind a small, consistent command tree and is built for two audiences equally: humans at a terminal, and scripts/agents consuming machine-readable output.
It covers a curated slice of the API:
- OpenStack — tenants, instances, volumes, networks, subnets, security groups, floating IPs, plus the flavor/image catalog
- Team management — customers, projects, users, roles
- Marketplace — browse offerings, and provision/terminate OpenStack tenants, instances, and volumes through Waldur's order flow
- Auth — manage your own personal access tokens and SSH keys
Every command follows the same shape — waldur-cli <group> <resource> <verb> — and the same
verbs (list, get, create, update, delete, plus provision/terminate for
marketplace resources) behave consistently across every resource. For anything outside that
curated slice, waldur-cli api <METHOD> <PATH> calls any endpoint directly, using the same
credentials and transport.
Installation
Pre-built binaries for Linux, macOS, and Windows are published to GitHub Releases on every version tag, via cargo-dist:
1 2 | |
1 2 3 4 5 6 | |
Or build from source with a Rust toolchain: cargo build --release.
Updating
Once installed, you can update waldur-cli to the latest release directly from the terminal:
1 | |
Quickstart
1 2 3 4 5 6 7 8 | |
Every command and flag is documented in --help, at every level:
1 2 3 4 | |
Manual
The full guide lives in docs/:
- Getting started — authentication, profiles, command structure, and output formats
- Querying resources —
list/get, filtering, field selection, server-side ordering, JMESPath, streaming large lists with--format ndjson, and opening a resource in the browser withget --web - Managing resources —
create/update/delete, request-body skeletons, per-resource action verbs (start/stop/detach/approve/...), and batchingdelete/action verbs over several UUIDs or a piped-inlist --format ndjson - Provisioning — the marketplace order flow
(
provision/terminate), for OpenStack and any other offering type, pluswait, for polling resources with real async server-side state to completion - Recipes & tips — real-world workflows and things worth knowing
- Troubleshooting — errors,
--debug, exit codes, and shell completions
Looking for a specific command? docs/reference/ has one page per
waldur-cli <group> <resource> <verb>, each with its flags and a real example — generated
from the same schema data the CLI itself is built from, so it never drifts from what's
actually there.
Contributing to waldur-cli itself (not just using it)? See
docs/development.md — the generator/target repo split, building and
testing, regenerating the command surface, and cutting a release.
License
MIT.