Skip to main content

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

CommandDescription
clouder awsAWS cloud operations — verify identity, list regions, and inspect EC2 VMs
clouder azureAzure cloud operations — configure credentials, manage VMs, list resources
clouder ctxManage Clouder contexts (cloud provider projects)
clouder completionInstall/show shell completion snippets for clouder and c
clouder criuCRIU checkpoint/restore lifecycle plus readiness and storage helpers
clouder costList node SKU pricing helpers by cloud
clouder kubernetesManage OVH Managed Kubernetes clusters and node pools
clouder kubeadmProvision and operate Kubeadm clusters on VMs
clouder kAlias for clouder kubeadm
clouder kubectlRun kubectl with persisted kubeconfig for a cluster
clouder helmRun helm with persisted kubeconfig for a cluster
clouder vmManage virtual machines (multi-cloud: Azure, AWS, OVH)
clouder sshSSH into a virtual machine by name
clouder ssh-keyManage SSH keys (local plus AWS/OVH cloud key registries)
clouder s3Manage S3 buckets (AWS and OVH contexts)
clouder infoShow context and user information
clouder operatorManage the Clouder Kubernetes operator
clouder shRun predefined shell and sbin scripts
clouder aboutShow CLI and environment metadata
clouder serverStart 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

  1. Install completion hooks:
clouder completion install
  1. Reload your shell:
# bash
source ~/.bashrc

# zsh
source ~/.zshrc

# fish
source ~/.config/fish/config.fish
  1. 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