atjeff / kv

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

kv

What

  • This is a key-value store exposed via an Axum HTTP API and persisted on disk via meilisearch/heed.

Why

  • I wanted to learn more about Rust and Axum, so I decided to build a simple key-value store.

Usage

  • You can use it by running cargo run in the root directory of the project. This will start the server at localhost:3000.

Configuration

  • You can configure the server by setting the following environment variables:
    • DB_PATH: The directory to store the data in. Defaults to ./db/heed.mdb.

Backup / Restore

  • You can backup the data by copying the DB_PATH directory.
  • You can restore the data by replacing the DB_PATH directory with the backup.
  • This can easily be stored in S3/R2 blob storage.

TODO

  • Add tests
  • Conform to proper REST API standards
  • Add more documentation
  • Add more configuration options
  • Add more error handling
  • Add more logging
  • Add more metrics
  • Add more security
  • Add more validation

About


Languages

Language:Rust 100.0%