Select the archive that matches your OS and CPU architecture, extract it, and place the qcloud binary somewhere in your PATH (e.g. ~/.local/bin or /usr/local/bin).
macOS: The binary is not signed. If macOS blocks it, run xattr -d com.apple.quarantine qcloud after extracting. In the future we will sign the binary so that this step is not needed.
If ~/.local/bin is not in your PATH, you can use /usr/local/bin instead (requires sudo).
From source
With Go installed, you can build and install directly from source:
go install github.com/qdrant/qcloud-cli/cmd/qcloud@latest
Verify
qcloud version
Quick Start
Before using qcloud, create a management API key and note your account ID from the Qdrant Cloud UI.
# 1. Create a context with your credentials
qcloud context set my-cloud \
--api-key <YOUR_API_KEY> \
--account-id <YOUR_ACCOUNT_ID>
# 2. List available cloud providers and regions
qcloud cloud-provider list
qcloud cloud-region list --cloud-provider aws
# 3. Create a cluster by specifying resources (waits until healthy)
# Use --cpu, --ram, --disk to select
# a matching package automatically.
qcloud cluster create \
--cloud-provider aws \
--cloud-region us-east-1 \
--cpu 2000m \
--ram 8GiB \
--disk 50GiB \
--name my-cluster \
--wait
# 4. Describe your new cluster
qcloud cluster describe <CLUSTER_ID>
# 5. Create an API key for it
qcloud cluster key create <CLUSTER_ID> --name my-key
Configuration
qcloud can be configured in three ways, listed here from lowest to highest precedence:
Config file at ~/.config/qcloud/config.yaml (override with --config). Stores named contexts so you can switch between accounts and environments.
Named contexts allow you to save and switch between sets of credentials:
qcloud context set my-cloud --api-key <KEY> --account-id <ID>
qcloud context use my-cloud
qcloud context show
Environment variables override the active context:
Variable
Description
QDRANT_CLOUD_API_KEY
API key for authentication
QDRANT_CLOUD_ACCOUNT_ID
Account ID to operate against
QDRANT_CLOUD_ENDPOINT
API endpoint URL (defaults to Qdrant Cloud)
QDRANT_CLOUD_CONTEXT
Name of the context to use
Pass --json to any command for machine-readable output.
Getting Help
Found a bug or something not working as expected? Open an issue on GitHub and include:
The qcloud version (qcloud version)
The command you ran and the output you got
Your OS and architecture
Acknowledgements
qcloud is inspired by and partially based on hetznercloud/cli. Thank you to the Hetzner Cloud team and contributors for building such a well-designed CLI that we could learn from.
Contributing
If you are interested in contributing follow the instructions in CONTRIBUTING.md