tigris
Command-line client for Tigris S3-compatible object storage
TLDR
SYNOPSIS
tigris domain operation [argument] [--flags]t3 domain operation [argument] [--flags]
DESCRIPTION
tigris is the official command-line client for Tigris, a globally distributed, S3-compatible object storage service. The CLI presents an intentionally UNIX-flavoured interface modelled after ls, cp, rm, and touch, with t3://_bucket_/_key_ URIs identifying remote objects.The CLI groups commands by domain - bucket, object, iam, config - and each domain exposes a small, predictable set of operations. Because Tigris is S3-compatible, anything tigris can do is also reachable via the AWS CLI by pointing --endpoint-url at the Tigris endpoint; the dedicated CLI mainly improves ergonomics, login flow, and bucket lifecycle management.When a bucket is provisioned through Fly.io (using fly storage create), the same credentials and endpoints work seamlessly with tigris, and a short alias t3 is available for terser one-liners.
PARAMETERS
login
Open a browser-based flow to authenticate the CLI against Tigris (or Fly.io for Fly-managed buckets).logout
Remove cached credentials.whoami
Print the active user and account.configure
Interactively configure profiles, endpoints, and access keys for non-interactive use.bucket mk name [--region region] [--public]
Create a new bucket. Bucket names share Tigris' global namespace.bucket ls
List buckets owned by the active account.bucket rm name
Delete an empty bucket.ls [t3-uri]
List buckets when given no argument, or list keys under a bucket / prefix when given a t3:// URI.cp [-r] [--acl acl] [--content-type type] src dst
Copy data between local paths and t3:// URIs. Either side may be local or remote, enabling local-to-remote, remote-to-local, or remote-to-remote copies.rm [-r] t3-uri
Delete a single object, or recursively delete a prefix with -r.touch t3-uri
Create a zero-byte object at the given key.presign t3-uri [--expires duration] [--method GET\|PUT]
Generate a pre-signed URL for sharing a single object without credentials.--profile name
Use a named profile from the configuration file.--endpoint url
Override the Tigris endpoint (defaults to fly.storage.tigris.dev).--output format
table, json, or yaml output.-v, --verbose
Verbose logging.--help
Show help for any command.
CONFIGURATION
Credentials and profiles live under ~/.config/tigris/config.toml:
access_key_id = "tid_..."
secret_access_key = "tsec_..."
endpoint = "https://fly.storage.tigris.dev"
region = "auto"
TIGRIS_SECRET_ACCESS_KEY
TIGRIS_ENDPOINT_URL
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_ENDPOINT_URL_S3
CAVEATS
The tigris CLI is distinct from any historical TigrisData database CLI of the same name; the modern client targets the Tigris Object Storage product run on Fly.io infrastructure. Bucket names are globally unique, similar to S3. Pre-signed URLs respect bucket ACLs, so a private bucket plus a presigned URL is the correct way to share an object publicly for a limited time.
HISTORY
Tigris launched as the storage layer for Fly.io applications and is operated by Tigris Data. The dedicated CLI was introduced to provide a focused alternative to the AWS CLI for everyday bucket operations, with the t3 shorthand and t3:// URI scheme borrowing the ergonomics of s3cmd and rclone.
