Skip to content

zengularity/benji

Benji

A Scala framework for unified object storage access, supporting Amazon S3, Google Cloud Storage, and local/remote filesystems via Apache VFS.

Build

The project is using SBT, so to build it from sources the following command can be used.

./project/build.sh

CircleCI Maven Javadocs

The environment variable PLAY_VERSION can be set to build the play module appropriately.

Getting Started

The simplest way to get started is with the QuickStart guide. Core concepts:

  • All storage operations work through an ObjectStorage interface
  • Buckets are accessed via BucketRef (for modification)
  • Objects are accessed via ObjectRef (for read/write/delete)
  • Operations are async with Akka Streams

Available backends:

  • S3 — Amazon S3 and compatible services (CEPH, MinIO, etc.)
  • Google Cloud Storage — Google's cloud storage service
  • Apache VFS — Local and remote filesystems

Documentation

Release

To prepare a new release the following command must be used.

sbt release

Publish release

To publish a release on Maven Central, use the following steps.

  • Build artifacts: ./project/build.sh
  • Publish all modules: ./project/deploy.sh <version> <pgp-key>
  • Publish only play modules:
export SCALA_MODULES="play:benji-play"
./project/deploy.sh <version> <pgp-key>

Publish snapshot

Execute ./project/snapshot.sh

About

📁 This library is a Scala reactive DSL for object storage (e.g. S3/Amazon, S3/CEPH, Google Cloud Storage).

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors