mcpField
T
tigris-buckets

tigris-buckets

github.com/tigrisdataCloud & DevOps186 installsUpdated 31w ago
Repository

About tigris-buckets

A command-oriented skill for managing Tigris buckets and their settings. It also covers snapshots, forks, lifecycle rules, migration, and event-related configuration.

Key features

  1. 01Create, list, inspect, and delete buckets
  2. 02Configure access, locations, tiers, and domains
  3. 03Set TTL and storage class transitions
  4. 04Configure migration and event webhooks
  5. 05Manage CORS rules and bucket snapshots
  6. 06Create and list copy-on-write forks

Use cases

  1. 01Set bucket access and data locations
  2. 02Migrate objects from an S3-compatible bucket
  3. 03Configure object expiration or storage transitions
  4. 04Take snapshots or create isolated bucket forks

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/tigrisdata/tigris-agents-plugins --skill tigris-buckets

After installing, type/tigris-bucketsin Claude Code to confirm it loaded.

Details

From the project README

Tigris Bucket Management

Quick Reference

CommandDescription
tigris mk <name>Create a bucket (or folder with trailing /)
tigris buckets listList 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/                              # creates a folder
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:

FlagAliasDescriptionDefault
--access-aAccess level (public, private)private
--publicShorthand for --access public
--locations-lBucket location (see Locations)global
--default-tier-tDefault storage tier (see Storage Tiers)STANDARD
--enable-snapshots-sEnable snapshots for the bucketfalse
--fork-of--forkCreate as a fork (copy-on-write clone) of the named source bucket
--source-snapshot--source-snapFork from a specific snapshot (requires --fork-of)
--format-fOutput format (json, table)table
--jsonOutput 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
FlagDescription
--forks-ofOnly list buckets that are forks of the named source bucket
--format / -fOutput format (json, table, xml; default: table)
--jsonOutput 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
FlagDescription
--format / -fOutput format (json, table, xml; default: table)
--jsonOutput 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
FlagDescription
--forceSkip confirmation prompt
--format / -fOutput format (json, table; default: table)
--jsonOutput 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
FlagDescription
--accessBucket access level (public, private)
--locationsBucket locations (see Locations)
--enable-delete-protectionEnable delete protection (true/false)
--cache-controlDefault cache-control header value
--custom-domainCustom domain for the bucket
--allow-object-aclEnable object-level ACL (true/false)
--disable-directory-listingDisable directory listing (true/false)
--enable-additional-headersEnable additional HTTP headers like X-Content-Type-Options: nosniff (true/false)
--region(Deprecated) Use --locations instead
--formatOutput format (json, table; default: table)
--jsonOutput 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
FlagAliasDescription
--days-dExpire objects after this many days
--dateExpire objects on this date (ISO-8601, e.g. 2026-06-01)
--enableEnable TTL (uses existing lifecycle rules)
--disableDisable 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
FlagAliasDescription
--locations-lBucket 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...

# Enable write-through (writes go to both source and Tigris)
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

# Disable migration
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.

FlagAliasDescription
--bucket-bName of the source bucket to migrate from
--endpoint-eEndpoint URL of the source S3-compatible service
--region-rRegion of the source bucket
--access-key--keyAccess key for the source bucket
--secret-key--secretSecret key for the source bucket
--write-throughEnable write-through mode
--disableDisable 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
FlagAliasDescription
--storage-class-sTarget storage class (STANDARD_IA, GLACIER, GLACIER_IR)
--days-dTransition objects after this many days
--dateTransition objects on this date (ISO-8601)
--enableEnable lifecycle transition rules
--disableDisable 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
FlagAliasDescription
--url-uWebhook URL (must be http or https)
--filter-fSQL WHERE clause to filter events by key
--token-tToken for webhook authentication
--usernameUsername for basic webhook authentication
--passwordPassword for basic webhook authentication
--enableEnable notifications (uses existing config)
--disableDisable notifications (preserves existing config)
--resetClear 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
FlagAliasDescription
--origins-oAllowed origins (comma-separated, or * for all)
--methods-mAllowed HTTP methods (comma-separated)
--headersAllowed request headers (comma-separated, or *)
--expose-headersResponse headers to expose (comma-separated)
--max-agePreflight cache duration in seconds (default: 3600)
--overrideReplace all existing CORS rules instead of appending
--resetClear 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
FlagDescription
--format / -fOutput format (json, table, xml; default: table)
--jsonOutput 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
# Preferred: use mk or buckets create with --fork-of
tigris mk my-fork --fork-of my-bucket
tigris mk my-fork --fork-of my-bucket --source-snapshot 1765889000501544464

# Equivalent via buckets create
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
TierValueDescription
StandardSTANDARDDefault. High durability, availability, and performance for frequently accessed data
Infrequent AccessSTANDARD_IALower-cost for data accessed less frequently but requiring rapid access when needed
ArchiveGLACIERLow-cost for long-term data archiving with infrequent access
Instant Retrieval ArchiveGLACIER_IRLowest-cost for long-lived, rarely accessed data requiring retrieval in milliseconds
Locations
NameValueDescription
GlobalglobalGlobal (default)
USAusaRestrict to USA
EuropeeurRestrict to Europe
AmsterdamamsAmsterdam, Netherlands
FrankfurtfraFrankfurt, Germany
Sao PaulogruSao Paulo, Brazil
AshburniadAshburn, Virginia (US)
JohannesburgjnbJohannesburg, South Africa
LondonlhrLondon, United Kingdom
TokyonrtTokyo, Japan
ChicagoordChicago, Illinois (US)
SingaporesinSingapore, Singapore
San JosesjcSan Jose, California (US)
SydneysydSydney, Australia
Consistency Levels (deprecated — use --locations instead)
LevelValueDescription
DefaultdefaultStrict read-after-write in same region, eventual consistency globally
StrictstrictStrict read-after-write globally (higher latency)

Comments

Markdown supported