multistore

Crates.iomultistore
lib.rsmultistore
version0.1.0
created_at2025-11-30 23:17:17.982347+00
updated_at2025-11-30 23:22:10.420148+00
descriptionS3-compliant API for one-or-many object store backends
homepagehttps://github.com/alukach/multistore
repositoryhttps://github.com/alukach/multistore
max_upload_size
id1958994
size93,954
Anthony Lukach (alukach)

documentation

https://docs.rs/multistore

README

MultiStore

MultiStore is an application to easily create an S3-compliant API for one-or-many object store backends.

The system could be utilized to...

  1. create custom access credentials (distinct from AWS credentials) to be given out to grant access
  2. collect detailed usage metrics
  3. gate access to datasets
  4. bill users for dataset access

Development

Running Hyper API

cargo run --bin hyper-api

Running Cloudflare Workers API

npx wrangler dev --cwd examples/cf-workers-api

Running Lambda API

Lambda execution makes use of the aws-lambda-rust-runtime.

cargo lambda watch --bin lambda-api

Accessing the API

export AWS_MAX_ATTEMPTS=1
export AWS_EC2_METADATA_DISABLED=true
export ENDPOINT_URL=http://localhost:9000/lambda-url/lambda-api
export AWS_ACCESS_KEY_ID=foo 
export AWS_SECRET_ACCESS_KEY=bar
aws \
--endpoint-url ${ENDPOINT_URL} \
--no-cli-pager \
s3api list-buckets
Commit count: 0

cargo fmt