Skip to content

docs: document Backblaze B2 (S3-compatible) as a model repository backend#8847

Open
goanpeca wants to merge 1 commit into
triton-inference-server:mainfrom
goanpeca:b2-model-repository-docs
Open

docs: document Backblaze B2 (S3-compatible) as a model repository backend#8847
goanpeca wants to merge 1 commit into
triton-inference-server:mainfrom
goanpeca:b2-model-repository-docs

Conversation

@goanpeca

@goanpeca goanpeca commented Jun 17, 2026

Copy link
Copy Markdown

Hello :)

What does the PR do?

Documents using S3-compatible object stores (for example Backblaze B2, Cloudflare R2, and MinIO) as a Triton model repository. The existing S3 backend already supports custom endpoints through the private-instance URI form, so this is a docs-only addition: a short "S3-compatible object stores" subsection under the existing #### S3 section in docs/user_guide/model_repository.md.

Checklist

  • PR title reflects the change and is of format <commit_type>: <Title>
  • Changes are described in the pull request.
  • Related issues are referenced.
  • Populated github labels field
  • Added test plan and verified test passes.
  • Verified that the PR passes existing CI.
  • Verified copyright is correct on all changed files.
  • Added succinct git squash message before merging.
  • All template sections are filled out.

Commit Type:

  • build
  • ci
  • docs
  • feat
  • fix
  • perf
  • refactor
  • revert
  • style
  • test

Related PRs:

None.

Where should the reviewer start?

docs/user_guide/model_repository.md, the new ##### S3-compatible object stores subsection under #### S3. It reuses the private-instance s3://https://<endpoint>:443/<bucket>/<path> form already documented above, the AWS credential environment variables, and the existing credential-file form.

Test plan:

Built the documentation locally with the repo's Sphinx configuration and confirmed the rendered page. Separately validated the documented mechanism end to end: started tritonserver with --model-repository pointed at an S3-compatible endpoint and confirmed the model loaded and reported READY. Verified against both MinIO and Backblaze B2, using the AWS environment-variable credentials and the TRITON_CLOUD_CREDENTIAL_PATH credential-file form.

  • CI Pipeline ID: N/A (external contributor; docs-only change)

Caveats:

Docs only; no code or behavior changes. Opened as draft pending a signed Triton CCLA.

Background

Triton's S3 backend communicates with any store that accepts the S3 protocol, using the custom-endpoint URI form already documented for private S3 instances. That capability was not called out for non-AWS providers, so it was not obvious that Backblaze B2, Cloudflare R2, MinIO, and similar stores work with no code changes.

Related Issues:

None.

@goanpeca goanpeca force-pushed the b2-model-repository-docs branch 4 times, most recently from 46dc17d to 9ae0233 Compare June 17, 2026 05:00
Signed-off-by: Gonzalo Peña-Castellanos <goanpeca@gmail.com>
@goanpeca goanpeca force-pushed the b2-model-repository-docs branch from 9ae0233 to f0dc1ca Compare June 17, 2026 13:42
@goanpeca goanpeca marked this pull request as ready for review June 17, 2026 13:57
Copilot AI review requested due to automatic review settings June 17, 2026 13:57

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds documentation guidance for using Triton’s S3 backend with S3-compatible object stores (e.g., Backblaze B2, Cloudflare R2, MinIO), including example repository URLs and credential configuration.

Changes:

  • Document S3-compatible endpoints and how to format the model repository path.
  • Add example environment variables for access/secret keys and region for non-AWS providers.
  • Add an example credentials JSON entry for S3-compatible bucket paths.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

The S3 backend also works with S3-compatible object stores such as Backblaze B2, Cloudflare R2, and MinIO. The repository path uses the private-instance form described above, with the provider's endpoint as the host, and the credentials and region are passed through the same environment variables as Amazon S3.

```bash
$ tritonserver --model-repository=s3://https://s3.us-west-004.backblazeb2.com:443/bucket/path/to/model/repository ...
$ export AWS_ACCESS_KEY_ID="<access_key_id>"
$ export AWS_SECRET_ACCESS_KEY="<secret_access_key>"
$ export AWS_DEFAULT_REGION="us-west-004"
$ tritonserver --model-repository=s3://https://s3.us-west-004.backblazeb2.com:443/my-bucket/models ...

**Make sure, that `TRITON_AWS_MOUNT_DIRECTORY` exists on your local machine and it is empty.**

##### S3-compatible object stores
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants