Skip to content

Document t3.storage.dev endpoint, Tigris CLI, and zero-downtime migration#2393

Merged
swilson-fly merged 3 commits intosuperfly:mainfrom
katieschilling:katieschilling/tigris-t3-endpoint-and-cli
Apr 29, 2026
Merged

Document t3.storage.dev endpoint, Tigris CLI, and zero-downtime migration#2393
swilson-fly merged 3 commits intosuperfly:mainfrom
katieschilling:katieschilling/tigris-t3-endpoint-and-cli

Conversation

@katieschilling
Copy link
Copy Markdown
Contributor

Summary

Updates tigris/index.html.markerb to document the canonical Tigris S3 endpoint (https://t3.storage.dev), the Tigris CLI / SDK ecosystem available alongside flyctl, and the zero-downtime migration path. The goal is to give users (and search/LLM tools) a clear, accurate picture of how Fly-provisioned Tigris buckets relate to native Tigris tooling.

What changed

  • Lead paragraph now describes Tigris as a globally distributed, multi-cloud object storage service that is natively available as Fly's object storage provider — replacing the older "built on Fly.io infrastructure" framing.
  • Second paragraph clarifies cross-region replication (vs. caching) and notes the CDN-replacement use case.
  • New Access keys subsection: explains that fly storage create prints the key/secret once, that flyctl can't retrieve them later, and that the dashboard / Tigris CLI are the recovery paths.
  • Reworked The Tigris web console subsection: documents both ways into the console (the Tigris Object Storage tab in the Fly Dashboard, and flyctl storage dashboard <bucket>), and the two Tigris sign-in options (Fly.io vs direct accounts).
  • New Connect to your bucket section with subsections:
    • Endpointhttps://t3.storage.dev is canonical and recommended for new code; explains that fly storage create currently sets AWS_ENDPOINT_URL_S3=https://fly.storage.tigris.dev (still works) and shows how to switch.
    • Tigris CLI — install via npm install -g @tigrisdata/cli, then tigris login → OAuth2 → Fly.io.
    • Tigris SDKs — links to Tigris's language-specific guides.
    • Snapshots and forks — Tigris-only features that aren't exposed through flyctl; must be enabled at bucket creation; setup uses the Tigris CLI.
  • flyctl storage list and fly storage destroy now show Tigris CLI equivalents alongside the existing flyctl commands.
  • Migration section retitled and rewritten as Migrate from another S3-compatible provider with zero downtime:
    • Leads with the zero-downtime, lazy-migration framing
    • Defines "shadow bucket" inline since the term is unfamiliar to most readers
    • New How shadow bucket migration works subsection covers reads, default writes, write-through writes, deletes, and listing semantics
    • New Write-through mode: zero-downtime cutover subsection explains why dual-writes make migration reversible
    • Links to the Tigris migration guide for provider-specific setup
  • Pricing and Billing now states that Tigris buckets created through a Fly account are billed via the regular Fly bill — no separate Tigris invoice.

Test plan

  • Visual review of the rendered page
  • Verify links resolve (Tigris CLI docs, Tigris migration guide, console.storage.dev)
  • Verify anchor links inside the page (#tigris-cli, #connect-to-your-bucket)

…idance

Tigris's canonical S3 endpoint is https://t3.storage.dev. This page now leads
with t3.storage.dev as the recommended endpoint for new code, while still
documenting that fly.storage.tigris.dev (the value fly storage create currently
sets) reaches the same service.

Other additions:

- New "Connect to your bucket" section covering the endpoint, the Tigris CLI
  (with install + tigris login), Tigris SDKs (with links to language guides),
  and snapshot/fork support
- Tigris CLI alternatives alongside flyctl for list and delete operations
- New "Access keys" subsection clarifying that fly storage create surfaces
  keys once at creation and how to recover them later
- Expanded "The Tigris web console" with both Fly Dashboard tab and
  flyctl storage dashboard entry points, plus the Fly.io vs direct sign-in
  options on console.storage.dev
- Rewritten migration section with zero-downtime/lazy framing, technical
  read/write/delete/listing semantics, and a write-through-mode subsection
- Pricing & Billing now states Fly-provisioned bucket usage is billed
  through the regular Fly bill
@swilson-fly
Copy link
Copy Markdown
Contributor

Failing linter checks are because tigris is lower cased in the partials import of other files. This is correct/normal not an issue. Merging.

@swilson-fly swilson-fly merged commit c618d6f into superfly:main Apr 29, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants