Expand description
§anda_object_store
anda_object_store extends the object_store crate with two composable
wrappers that are used as the storage substrate for AndaDB and the AI memory
brain:
MetaStore— augments anyObjectStorebackend with side-car metadata (object size, content hash, original backend ETag/version). This enables a uniform, content-addressable ETag and conditionalPutMode::Updatesemantics on top of backends that lack them natively (notably [object_store::local::LocalFileSystem]).EncryptedStore— provides transparent, chunked AES-256-GCM encryption-at-rest. Objects are split into fixed-size chunks, each encrypted with a per-chunk nonce derived from a random per-object base nonce. Encryption metadata (base nonce, per-chunk authentication tags) is stored alongside content metadata.
Both wrappers implement ObjectStore and place data and metadata under
two distinct path prefixes (data/ and meta/ by default) on the
underlying backend, so they can be layered on top of any compliant store
(in-memory, local filesystem, S3, GCS, Azure Blob, …).
See [docs/anda_object_store.md] for the full design document.
Re-exports§
pub use encryption::EncryptedStore;pub use encryption::EncryptedStoreBuilder;pub use encryption::EncryptedStoreUploader;
Modules§
- encryption
- Transparent AES-256-GCM encryption-at-rest layer for any
ObjectStore.
Structs§
- Meta
Store MetaStoreis a wrapper around anObjectStoreimplementation that adds metadata capabilities.- Meta
Store Builder - Builder for creating a
MetaStoreinstance. - Meta
Store Uploader - Handler for multipart uploads to a
MetaStore.