LinuxCommandLibrary

exo-storage

Manage external storage

TLDR

Create a new SOS bucket

$ exo storage mb [bucket_name]
copy

Upload a file to a bucket
$ exo storage put [path/to/file] [bucket_name]/[prefix/]
copy

List the objects within a bucket
$ exo storage ls [bucket_name]
copy

Simulate the download of an object from a bucket
$ exo storage get [bucket_name]/[object_key] [local_path] --dry-run
copy

Manage the metadata of an object
$ exo storage metadata add [bucket_name]/[object_key] [key=value]
copy

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.

SEE ALSO

s3cmd(1), aws(1), mc(1), rclone(1)

Copied to clipboard