exo-storage
Manage external storage
TLDR
Create a new SOS bucket
Upload a file to a bucket
List the objects within a bucket
Simulate the download of an object from a bucket
Manage the metadata of an object
SYNOPSIS
exo storage <subcommand> [options] [args]
Common subcommands: bucket-create, bucket-delete, bucket-list, object-put, object-get
PARAMETERS
-o, --output FORMAT
Output format: json, yaml, or table (default: table)
--profile PROFILE
Use specific credential profile
-d, --debug
Enable debug logging
--zone ZONE
Target storage zone (e.g., ch-dbx)
--help
Show command help
--page PAGE
Pagination page for listings
--paginate
Enable pagination for list commands
DESCRIPTION
The exo storage command, part of the Exoscale CLI (exo), manages object storage buckets and objects on Exoscale's cloud platform. Exoscale offers scalable, S3-compatible storage for backups, media, and data lakes.
Key operations include creating/deleting buckets, listing buckets/objects, uploading/downloading files, managing ACLs, and generating presigned URLs. It integrates seamlessly with Exoscale's IaaS services like compute instances and Kubernetes.
Authentication uses API tokens configured via exo config. Supports JSON/YAML output for scripting. Ideal for DevOps workflows, with pagination for large listings and zone-specific operations (e.g., CH-DATA, AT-VIE).
Install via pip install exo-cli or package managers. Requires Python 3.7+. Enhances productivity over web UI for bulk tasks.
CAVEATS
Requires Exoscale account and API keys; not available on all Linux distros by default. Subcommands have additional specific options.
INSTALLATION
pip install exo-cli or brew install exo; verify with exo version.
AUTHENTICATION
Run exo account login or set EXOSCALE_API_KEY/EXOSCALE_API_SECRET env vars.
EXAMPLE
exo storage bucket-create mybucket --zone ch-gva-2
exo storage object-put file.txt mybucket/path/
HISTORY
Introduced in Exoscale exo CLI v0.30.0 (2020); matured with S3 API v2 support in v1.0 (2022). Evolved for better IAM integration.


