Lil Object Storage.

Files
README.md

lilos (lil object storage) #

simple object storage. just because.

Architecture #

General #

  • a user can have multiple buckets
  • each bucket is identified with a name
  • each bucket is a single file in which KV pairs are stored log-store style in the Bitcask format

API #

There is a gRPC API that can be used to perform the basic ADD/GET/DELETE ops

Testing #

Unit tests for each component are present. The KV store hot-paths are also covered with property-based tests (via hegel).

Misc #

Bitcask data format #

[hash, key-length, value-length][...data...]

Open Questions #

  • how are permissions implemented in popular object stores?