| name | tigris-buckets |
| description | Use when creating, configuring, or deleting Tigris buckets โ includes regions, tiers, CORS, migrations, TTL, notifications, snapshots, and forks |
Tigris Bucket Management
Quick Reference
| Command | Description |
|---|
tigris mk <name> | Create a bucket (or folder with trailing /) |
tigris buckets list | List all buckets |
tigris buckets get <name> | Inspect bucket details |
tigris buckets delete <name> | Delete a bucket |
tigris buckets set <name> | Update bucket settings |
tigris buckets set-ttl <name> | Configure object expiration |
tigris buckets set-locations <name> | Set data locations |
tigris buckets set-migration <name> | Configure shadow bucket migration |
tigris buckets set-transition <name> | Configure storage class transitions |
tigris buckets set-notifications <name> | Configure event webhooks |
tigris buckets set-cors <name> | Configure CORS rules |
tigris snapshots list <bucket> | List bucket snapshots |
tigris snapshots take <bucket> | Take a snapshot |
Create a Bucket
tigris mk <path> (alias: create)
Create a bucket (bare name) or a folder inside a bucket (trailing /). Supports t3:// and tigris:// URI prefixes.
tigris mk my-bucket
tigris mk my-bucket --access public --locations iad
tigris mk my-bucket/images/
tigris mk t3://my-bucket
tigris mk my-fork --fork-of my-bucket
tigris mk my-fork --fork-of my-bucket --source-snapshot 1765889000501544464
tigris buckets create <name> (alias: c)
Same as mk but under the buckets subcommand.
tigris buckets create my-bucket
tigris buckets create my-bucket --access public --locations iad
tigris buckets create my-bucket --enable-snapshots --default-tier STANDARD_IA
tigris buckets create my-fork --fork-of my-bucket
tigris buckets create my-fork --fork-of my-bucket --source-snapshot 1765889000501544464
Flags:
| Flag | Alias | Description | Default |
|---|
--access | -a | Access level (public, private) | private |
--public | | Shorthand for --access public | |
--locations | -l | Bucket location (see Locations) | global |
--default-tier | -t | Default storage tier (see Storage Tiers) | STANDARD |
--enable-snapshots | -s | Enable snapshots for the bucket | false |
--fork-of | --fork | Create as a fork (copy-on-write clone) of the named source bucket | |
--source-snapshot | --source-snap | Fork from a specific snapshot (requires --fork-of) | |
--format | -f | Output format (json, table) | table |
--json | | Output as JSON | |
--consistency | -c | (Deprecated) Use --locations instead | |
--region | -r | (Deprecated) Use --locations instead | |
List Buckets
tigris buckets list (alias: l)
List all buckets in the current organization.
tigris buckets list
tigris buckets list --json
tigris buckets list --forks-of my-bucket
| Flag | Description |
|---|
--forks-of | Only list buckets that are forks of the named source bucket |
--format / -f | Output format (json, table, xml; default: table) |
--json | Output as JSON |
Inspect a Bucket
tigris buckets get <name> (alias: g)
Show details for a bucket including access level, region, tier, and custom domain.
tigris buckets get my-bucket
tigris buckets get my-bucket --json
| Flag | Description |
|---|
--format / -f | Output format (json, table, xml; default: table) |
--json | Output as JSON |
Delete a Bucket
tigris buckets delete <name> (alias: d)
Delete one or more buckets by name. Accepts comma-separated names.
tigris buckets delete my-bucket --force
tigris buckets delete bucket-a,bucket-b --force
| Flag | Description |
|---|
--force | Skip confirmation prompt |
--format / -f | Output format (json, table; default: table) |
--json | Output as JSON |
Update Bucket Settings
tigris buckets set <name> (alias: s)
Update settings on an existing bucket.
tigris buckets set my-bucket --access public
tigris buckets set my-bucket --locations iad,fra --cache-control 'max-age=3600'
tigris buckets set my-bucket --custom-domain assets.example.com
| Flag | Description |
|---|
--access | Bucket access level (public, private) |
--locations | Bucket locations (see Locations) |
--enable-delete-protection | Enable delete protection (true/false) |
--cache-control | Default cache-control header value |
--custom-domain | Custom domain for the bucket |
--allow-object-acl | Enable object-level ACL (true/false) |
--disable-directory-listing | Disable directory listing (true/false) |
--enable-additional-headers | Enable additional HTTP headers like X-Content-Type-Options: nosniff (true/false) |
--region | (Deprecated) Use --locations instead |
--format | Output format (json, table; default: table) |
--json | Output as JSON |
Bucket Configuration Commands
tigris buckets set-ttl <name>
Configure object expiration (TTL) on a bucket.
tigris buckets set-ttl my-bucket --days 30
tigris buckets set-ttl my-bucket --date 2026-06-01
tigris buckets set-ttl my-bucket --disable
| Flag | Alias | Description |
|---|
--days | -d | Expire objects after this many days |
--date | | Expire objects on this date (ISO-8601, e.g. 2026-06-01) |
--enable | | Enable TTL (uses existing lifecycle rules) |
--disable | | Disable TTL on the bucket |
tigris buckets set-locations <name>
Set the data locations for a bucket.
tigris buckets set-locations my-bucket --locations iad
tigris buckets set-locations my-bucket --locations iad,fra
tigris buckets set-locations my-bucket --locations global
| Flag | Alias | Description |
|---|
--locations | -l | Bucket location(s) โ comma-separated (see Locations) |
tigris buckets set-migration <name>
Configure data migration from an external S3-compatible source bucket. Tigris pulls objects on demand from the source (shadow bucket pattern).
tigris buckets set-migration my-bucket \
--bucket source-bucket \
--endpoint https://s3.amazonaws.com \
--region us-east-1 \
--access-key AKIA... \
--secret-key wJal...
tigris buckets set-migration my-bucket \
--bucket source-bucket \
--endpoint https://s3.amazonaws.com \
--region us-east-1 \
--access-key AKIA... \
--secret-key wJal... \
--write-through
tigris buckets set-migration my-bucket --disable
Migration workflow: Point Tigris at your existing S3-compatible bucket. Tigris serves objects on demand โ when a request hits Tigris and the object isn't cached yet, it fetches from the source. Over time, all accessed objects are pulled into Tigris. Use --write-through to also push new writes back to the source during migration.
| Flag | Alias | Description |
|---|
--bucket | -b | Name of the source bucket to migrate from |
--endpoint | -e | Endpoint URL of the source S3-compatible service |
--region | -r | Region of the source bucket |
--access-key | --key | Access key for the source bucket |
--secret-key | --secret | Secret key for the source bucket |
--write-through | | Enable write-through mode |
--disable | | Disable migration and clear all migration settings |
tigris buckets set-transition <name>
Configure a lifecycle transition rule. Automatically move objects to a different storage class after a number of days or on a specific date.
tigris buckets set-transition my-bucket --storage-class STANDARD_IA --days 30
tigris buckets set-transition my-bucket --storage-class GLACIER --date 2026-06-01
tigris buckets set-transition my-bucket --enable
tigris buckets set-transition my-bucket --disable
| Flag | Alias | Description |
|---|
--storage-class | -s | Target storage class (STANDARD_IA, GLACIER, GLACIER_IR) |
--days | -d | Transition objects after this many days |
--date | | Transition objects on this date (ISO-8601) |
--enable | | Enable lifecycle transition rules |
--disable | | Disable lifecycle transition rules |
tigris buckets set-notifications <name>
Configure object event notifications. Sends webhook requests to a URL when objects are created, updated, or deleted.
tigris buckets set-notifications my-bucket --url https://example.com/webhook
tigris buckets set-notifications my-bucket --url https://example.com/webhook --token secret123
tigris buckets set-notifications my-bucket --url https://example.com/webhook --username admin --password secret
tigris buckets set-notifications my-bucket --url https://example.com/webhook --filter 'WHERE `key` REGEXP "^images"'
tigris buckets set-notifications my-bucket --enable
tigris buckets set-notifications my-bucket --disable
tigris buckets set-notifications my-bucket --reset
| Flag | Alias | Description |
|---|
--url | -u | Webhook URL (must be http or https) |
--filter | -f | SQL WHERE clause to filter events by key |
--token | -t | Token for webhook authentication |
--username | | Username for basic webhook authentication |
--password | | Password for basic webhook authentication |
--enable | | Enable notifications (uses existing config) |
--disable | | Disable notifications (preserves existing config) |
--reset | | Clear all notification settings |
tigris buckets set-cors <name>
Configure CORS rules on a bucket. Each invocation adds a rule unless --override or --reset is used.
tigris buckets set-cors my-bucket --origins '*' --methods GET,HEAD
tigris buckets set-cors my-bucket --origins https://example.com --methods GET,POST --headers Content-Type,Authorization --max-age 3600
tigris buckets set-cors my-bucket --origins https://example.com --override
tigris buckets set-cors my-bucket --reset
| Flag | Alias | Description |
|---|
--origins | -o | Allowed origins (comma-separated, or * for all) |
--methods | -m | Allowed HTTP methods (comma-separated) |
--headers | | Allowed request headers (comma-separated, or *) |
--expose-headers | | Response headers to expose (comma-separated) |
--max-age | | Preflight cache duration in seconds (default: 3600) |
--override | | Replace all existing CORS rules instead of appending |
--reset | | Clear all CORS rules |
Snapshots
Snapshots are point-in-time, read-only copies of a bucket's state. The bucket must be created with --enable-snapshots.
tigris snapshots list <bucket> (alias: l)
List all snapshots for a bucket, ordered by creation time.
tigris snapshots list my-bucket
tigris snapshots list my-bucket --json
| Flag | Description |
|---|
--format / -f | Output format (json, table, xml; default: table) |
--json | Output as JSON |
tigris snapshots take <bucket> [name] (alias: t)
Take a new snapshot of the bucket's current state. Optionally provide a name.
tigris snapshots take my-bucket
tigris snapshots take my-bucket my-snapshot
Forks
Forks are copy-on-write clones of a bucket. They are instant, free, and isolated โ writes to the fork do not affect the source bucket.
Create a fork
tigris mk my-fork --fork-of my-bucket
tigris mk my-fork --fork-of my-bucket --source-snapshot 1765889000501544464
tigris buckets create my-fork --fork-of my-bucket
tigris buckets create my-fork --fork-of my-bucket --source-snapshot 1765889000501544464
List forks
tigris buckets list --forks-of my-bucket
Deprecated commands: tigris forks list and tigris forks create still work but are deprecated. Use tigris buckets list --forks-of and tigris mk --fork-of instead.
Reference Tables
Storage Tiers
| Tier | Value | Description |
|---|
| Standard | STANDARD | Default. High durability, availability, and performance for frequently accessed data |
| Infrequent Access | STANDARD_IA | Lower-cost for data accessed less frequently but requiring rapid access when needed |
| Archive | GLACIER | Low-cost for long-term data archiving with infrequent access |
| Instant Retrieval Archive | GLACIER_IR | Lowest-cost for long-lived, rarely accessed data requiring retrieval in milliseconds |
Locations
| Name | Value | Description |
|---|
| Global | global | Global (default) |
| USA | usa | Restrict to USA |
| Europe | eur | Restrict to Europe |
| Amsterdam | ams | Amsterdam, Netherlands |
| Frankfurt | fra | Frankfurt, Germany |
| Sao Paulo | gru | Sao Paulo, Brazil |
| Ashburn | iad | Ashburn, Virginia (US) |
| Johannesburg | jnb | Johannesburg, South Africa |
| London | lhr | London, United Kingdom |
| Tokyo | nrt | Tokyo, Japan |
| Chicago | ord | Chicago, Illinois (US) |
| Singapore | sin | Singapore, Singapore |
| San Jose | sjc | San Jose, California (US) |
| Sydney | syd | Sydney, Australia |
Consistency Levels (deprecated โ use --locations instead)
| Level | Value | Description |
|---|
| Default | default | Strict read-after-write in same region, eventual consistency globally |
| Strict | strict | Strict read-after-write globally (higher latency) |