Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Remote repositories

A Bobr remote repository is a public, content-addressed cache of build and reuse results. Its immutable objects can be served by an S3-compatible object store or CDN, while a small signed master authenticates the current repository state. Clients verify mappings, metadata, ordinary objects, and filesystem files before importing them into a working store.

To use a repository during builds, configure providers in a Nickel build profile. The normalized JSON configuration is specified in Request: secondary providers.

The repository protocol and its administration are documented in this section:

  • bobr-repo command-line utility describes preparation from a complete local store, signing on a separate trusted machine, publication, status reporting, and garbage collection.
  • Self-hosting with VersityGW shows how to run an S3-compatible endpoint, configure HTTPS and anonymous object reads, and generate the S3, TLS, and repository-signing credentials.
  • Repository master specifies the authenticated root, immutable mapping indexes and content lists, slots, retention, and the reader algorithm.
  • Ordinary objects specifies the streaming envelope under o/.
  • Filesystem files specifies the streaming envelope under f/.
  • Directory tar profile specifies the restricted canonical tar representation used for directory objects.

The normative CDDL schemas are:

The bobr-repo Rust crate owns these formats and the mechanisms shared by the Bobr client and repository administration utility.