exo-compute
Manage Exoscale compute instances
TLDR
Quickly create an Exoscale Compute resource (e.g., instance, Security Group, SKS cluster,...)
List Exoscale Compute instance types
Register a new SSH key that can be used to access Compute instances
Create a Compute instance with an ssh-key deployed on it
Register a new Compute instance template based on a Snapshot of a Compute instance (useful when you want to quickly create a replica of a Compute instance)
Add a new rule to an existing Security Group
Manage the services of an existing Network Load Balancer
SYNOPSIS
exo-compute [<global-options>] <subcommand> [<args>]
PARAMETERS
-h, --help
Display help for the command
--debug
Enable debug logging
--output, -o {table|json|yaml}
Set output format
--zone ZONE
Specify Exoscale zone (e.g., de-fra-1)
--profile PROFILE
Use specific API profile
--json
Force JSON output
--wait, -w
Wait for operation completion
--async
Run asynchronously
DESCRIPTION
exo-compute is a subcommand of the Exoscale CLI (exo) used to manage virtual compute instances (VMs) on the Exoscale Infrastructure-as-a-Service (IaaS) platform.
Exoscale, a European cloud provider emphasizing privacy and compliance (GDPR, Swiss data protection), offers scalable compute resources across multiple zones. With exo-compute, users can create, list, update, start, stop, reboot, resize, delete, and snapshot instances. It supports advanced features like instance pools for auto-scaling, anti-affinity groups for high availability, spot VMs for cost savings, custom templates, SSH key management, user data via cloud-init, and IPv6.
Key workflows include deploying from templates (e.g., Ubuntu, Windows), attaching block storage, configuring firewalls via security groups, and load balancers. Output formats include table, JSON, or YAML for scripting. Global options control zones, profiles, and verbosity.
Ideal for DevOps automation, CI/CD pipelines, and hybrid cloud setups. Requires API key authentication via exo account login. Part of a unified CLI covering storage, networking, DNS, and more. Open-source, written in Go for cross-platform use (Linux, macOS, Windows). Version 2+ introduced hierarchical subcommands and improved tab-completion.
CAVEATS
Requires Exoscale API credentials; rate limits apply; not for public clouds like AWS/GCP; zone-specific availability.
COMMON SUBCOMMANDS
server create/list/delete/start/stop/resize; pool create/list; template list
INSTALLATION
curl -sSL https://github.com/exoscale/cli/releases/latest/download/exo-Linux-x86_64.tar.gz | tar xz; sudo mv exo /usr/local/bin/
Or: brew install exoscale/tap/exo; pipx install exo-cli
EXAMPLE
exo-compute server create --name myvm --template ubuntu-22.04 --instance-type small --zone de-fra-1 --key mykey
HISTORY
Originated in Exoscale CLI v1 (2018, Python); rewritten in v2 (2021, Go) for performance and Bash/zsh completion; ongoing updates track Exoscale API v2 features like elastic VMs.
SEE ALSO
exo(1), exo-storage(1), exo-network(1), virsh(1), cloud-init(7)


