bolt-lite
Minimal, read-only BoltDB parser focused on containerd metadata.db. It keeps everything in-memory, walks buckets, and exposes a tiny API that mirrors common containerd layouts.
Features
- Parse BoltDB meta pages and B+tree without unsafe code.
- Bucket navigation (
Tx::bucket,Tx::bucket_path), entry lookup, and iteration. - Cursor over leaf entries and simple stats.
- No writes or page mutations.
Quick start
use Bolt;
Buckets and helpers
Tx::bucket_pathhandles nested buckets by byte segments.Bucket::getandBucket::bucketfetch values or nested buckets.Bucket::cursoriterates leaf entries;Bucket::iter_bucketsdiscovers child buckets withBUCKET_VALUE_FLAGset.ok_optconvertsResult<T, E>intoOption<T>when you want fallbacks.
Notes
- Only supports read-only access; checksum and freelist validation are intentionally skipped to tolerate containerd variants.
- Page sizes outside 1 KiB–64 KiB are rejected.
- Inline buckets (root=0) are handled by inlining the value bytes.
License
MIT