CLI Reference
Clouder provides a command-line interface built with Typer for managing cloud resources, Kubernetes clusters, and CRIU checkpoint workflows.
Installation
pip install clouder
Global Options
clouder --version # Show version
clouder --help # Show all commands
clouder --install-completion # Install shell completion (bash/zsh/fish)
clouder --show-completion # Print completion script
Commands Overview
| Command | Description |
|---|---|
clouder aws | AWS cloud operations — verify identity, list regions, and inspect EC2 VMs |
clouder azure | Azure cloud operations — configure credentials, manage VMs, list resources |
clouder ctx | Manage Clouder contexts (cloud provider projects) |
clouder completion | Install/show shell completion snippets for clouder and c |
clouder criu | CRIU checkpoint/restore lifecycle plus readiness and storage helpers |
clouder cost | List node SKU pricing helpers by cloud |
clouder kubernetes | Manage OVH Managed Kubernetes clusters and node pools |
clouder kubeadm | Provision and operate Kubeadm clusters on VMs |
clouder k | Alias for clouder kubeadm |
clouder kubectl | Run kubectl with persisted kubeconfig for a cluster |
clouder helm | Run helm with persisted kubeconfig for a cluster |
clouder vm | Manage virtual machines (multi-cloud: Azure, AWS, OVH) |
clouder ssh | SSH into a virtual machine by name |
clouder ssh-key | Manage SSH keys (local plus AWS/OVH cloud key registries) |
clouder s3 | Manage S3 buckets (AWS and OVH contexts) |
clouder info | Show context and user information |
clouder operator | Manage the Clouder Kubernetes operator |
clouder sh | Run predefined shell and sbin scripts |
clouder about | Show CLI and environment metadata |
clouder server | Start the Clouder Jupyter server extension |
Quick Start
# 1. Configure your cloud provider
clouder azure configure
# 2. Create a VM
clouder vm create my-server
# 3. SSH into it
clouder ssh my-server
# 4. Create a Kubeadm cluster (1 master + 3 workers)
clouder kubeadm create my-cluster
# 5. Set up the cluster (containerd 2.x, CRIU, Kubeadm, Flannel CNI, feature gates, cloud-specific CSI/LB bootstrap)
clouder kubeadm setup my-cluster
# 6. Get kubeconfig (saved to ~/.clouder/kubeadm/<cluster>/)
clouder kubeadm get-config my-cluster
# 7. Use kubectl
clouder kubectl my-cluster get nodes
# 8. Check cluster info and next steps
clouder kubeadm info my-cluster
# 9. Enable ingress (pick one: nginx or traefik)
clouder kubeadm enable-ingress-nginx my-cluster
# OR: clouder kubeadm enable-ingress-traefik my-cluster
# 10. Run smoke test (validates ingress + CRIU checkpoint/restore)
clouder kubeadm smoke-test my-cluster
# 11. Scale workers
clouder kubeadm scale my-cluster --workers 5
# 12. Disable ingress
clouder kubeadm disable-ingress-nginx my-cluster
# OR: clouder kubeadm disable-ingress-traefik my-cluster
# 13. Tear down when done
clouder kubeadm terminate my-cluster
# 14. Check cluster info
clouder info ctx
Kubeadm default cluster tip
If you run kubeadm commands repeatedly against the same cluster, set a default once:
clouder kubeadm set-default my-cluster
clouder kubeadm info
clouder kubeadm get-config
See the full workflow in clouder kubeadm.
Shell Completion
Clouder supports tab completion for bash, zsh, and fish:
# Install completion for both `clouder` and `c` alias
clouder completion install
# Open a new terminal (or source your shell rc file)
source ~/.bashrc
Step-by-step setup
- Install completion hooks:
clouder completion install
- Reload your shell:
# bash
source ~/.bashrc
# zsh
source ~/.zshrc
# fish
source ~/.config/fish/config.fish
- Test completion:
c az<TAB>
clouder az<TAB>
Expected result: both complete to azure.
VS Code terminal note
VS Code often launches bash as a login shell. clouder completion install writes the completion block to both ~/.bashrc and ~/.bash_profile so completion works in regular terminals and VS Code integrated terminals.
If completion still does not trigger in VS Code:
source ~/.bash_profile
source ~/.bashrc
Then open a new VS Code terminal tab and test again.
Manual setup (optional)
Use manual setup only if you do not want to use clouder completion install:
# bash
eval "$(c --show-completion bash)"
eval "$(clouder --show-completion bash)"
# zsh
eval "$(c --show-completion zsh)"
eval "$(clouder --show-completion zsh)"
# fish
c --show-completion fish | source
clouder --show-completion fish | source