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-repocommand-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.