BrewFSBrewFS
BrewFSBrewFS
Get started
DevelopersExamplesBackend Adapter GuideMetadata Backend GuideContributingCode Structure
Developers

Backend Adapter Guide

Add a new object storage backend.

Object backends implement a small Rust trait around block IO:

#[async_trait]
pub trait ObjectBlockStore: Send + Sync {
    async fn put_block(&self, key: &BlockKey, data: Bytes) -> Result<()>;
    async fn get_block(&self, key: &BlockKey, range: Range<u64>) -> Result<Bytes>;
    async fn delete_block(&self, key: &BlockKey) -> Result<()>;
    async fn list_blocks(&self, prefix: &str) -> Result<Vec<BlockKey>>;
}

Implement the trait, register the backend behind a --data-backend name, and run the object-backend benchmark suite against it. LocalFS is the reference implementation to read first.

Examples

Mount recipes and agent workspace patterns.

Metadata Backend Guide

Add a new metadata backend.