Overview
The Xloud command-line interface gives you full control over every platform service directly from your terminal. With a single authenticated session you can provision instances, manage volumes, configure networks, and automate infrastructure workflows — without opening a browser. The CLI is compatible with all major operating systems and integrates cleanly into CI/CD pipelines and shell scripts.Prerequisites
- An active Xloud account with project access
- Python 3.8 or later installed on your workstation
- Network access to your Xloud API endpoint
Installation
Install the Xloud CLI using the package manager for your operating system.- Ubuntu / Debian
- CentOS / RHEL
- macOS
- pip (any OS)
Install on Ubuntu / Debian
Verify installation
The command prints the installed version, e.g.,
openstack 6.x.x.Authentication
The CLI authenticates using an RC file downloaded from the Xloud Dashboard. Sourcing this file sets the required environment variables for your session.Download your RC file
Log in to the Xloud Dashboard (
https://connect.<your-domain>) and navigate to
Project → API Access. Click Download OpenRC File and select
OpenRC File v3.Source the credentials file
Open a terminal and source the downloaded file to load your credentials into the
current shell session:Enter your Xloud account password when prompted.
Load credentials
The RC file exports the following environment variables to configure the CLI client.
You can also set these manually or store them in a
clouds.yaml file for multi-cloud management.| Variable | Purpose |
|---|---|
OS_AUTH_URL | Xloud Identity service endpoint |
OS_PROJECT_NAME | Target project for all operations |
OS_PROJECT_DOMAIN_NAME | Project domain (typically Default) |
OS_USERNAME | Your Xloud account username |
OS_USER_DOMAIN_NAME | User domain (typically Default) |
OS_REGION_NAME | Target region for API calls |
OS_IDENTITY_API_VERSION | Identity API version (3) |
Command Structure
Every CLI command follows the same pattern: resource type, action, and optional flags.Output Formats
The CLI supports multiple output formats controlled by the--format flag.
| Flag | Output Type | Best Used For |
|---|---|---|
--format table | Human-readable table (default) | Interactive use, quick inspection |
--format json | JSON object or array | Scripts, parsing, API-like output |
--format yaml | YAML document | Configuration files, readable serialization |
--format csv | Comma-separated values | Spreadsheet import, bulk reporting |
--format value | Plain values, one per line | Shell variable assignment, grep pipelines |
Tips and Tricks
Set up shell aliases for common commands
Set up shell aliases for common commands
Add aliases to your shell profile (Reload your shell after adding aliases:
~/.bashrc or ~/.zshrc) to speed up repetitive tasks:Recommended aliases (~/.bashrc)
Reload shell config
Enable bash completion
Enable bash completion
The CLI ships with a completion script that enables tab-completion for commands,
resource names, and flags.After reloading your shell, press Tab after any partial command to see available
completions.
Enable bash completion
Enable zsh completion
Enable debug mode for troubleshooting
Enable debug mode for troubleshooting
Pass
--debug to any command to print the full HTTP request and response, including
headers and token details. This is useful for diagnosing authentication errors or
unexpected API responses.Debug a failing command
Manage multiple clouds with clouds.yaml
Manage multiple clouds with clouds.yaml
Instead of sourcing separate RC files, define all your environments in a single
Switch between environments using
clouds.yaml file stored at ~/.config/openstack/clouds.yaml:~/.config/openstack/clouds.yaml
--os-cloud:Use a named cloud profile
Service CLI References
Each service has a dedicated CLI reference with complete command syntax, options, and examples.Compute CLI
Instances, flavors, keypairs, server groups, console, and live migration commands.
Block Storage CLI
Volumes, snapshots, backups, volume types, and cross-project transfers.
Networking CLI
Networks, subnets, routers, floating IPs, security groups, and ports.
Images CLI
Upload, download, share, and manage virtual machine images.
Orchestration CLI
Heat stacks, resources, events, outputs, and template validation.
Identity CLI
Projects, users, roles, groups, and application credentials.
Load Balancer CLI
Load balancers, listeners, pools, members, and health monitors.
DNS CLI
Zones, record sets, PTR records, and zone transfers.
Key Manager CLI
Secrets, containers, orders, and access control lists.
Object Storage CLI
Containers, objects, large object uploads, and temporary URLs.
Kubernetes CLI
Cluster templates, clusters, and node group management.
SDS CLI
Ceph cluster health, pools, OSDs, RBD images, and RGW buckets.