wireapp/pithos

Name: pithos

Owner: Wire Swiss GmbH

Description: cassandra backed object store

Created: 2018-02-27 14:49:56.0

Updated: 2018-02-27 14:49:58.0

Pushed: 2018-01-31 09:28:53.0

Homepage: http://pithos.io

Size: 3466

Language: Clojure

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

pithos: cassandra object storage

Pithos is an S3-compatible object store leveraging cassandra to distribute contents horizontally.

Documentation site lives at http://pithos.io

Build Status

Quickstart

You can use docker-compose to easily run the current branch in a Docker container for testing purposes. The Clojure and Cassandra Docker images will use around 1GB of disk space.

docker-compose up

Create a new bucket:

s3cmd --config doc/s3cmd.cfg mb s3://my-bucket
Bucket 's3://my-bucket/' created

s3cmd --config doc/s3cmd.cfg ls s3://
2016-05-27 09:04  s3://my-bucket

To build an run Pithos manually, continue reading.

Prerequisites

In order to build and run Pithos you will need the following components:

Build

To build pithos run:

lein uberjar

you will get a standalone Java jar file in the target/ directory

Run

To run Pithos manually start it with

java -jar target/pithos-0.7.5-standalone.jar

Pithos will expect finding a valid configuration file under /etc/pithos/pithos.yaml. You can specify a distinct config file using the -f switch.

The following startup switches are available:

 Switches                 Default  Desc
 --------                 -------  ----
 -h, --no-help, --help    false    Show Help
 -f, --path                        Configuration file path
 -q, --no-quiet, --quiet  false    Never output to stdout
 -a, --action             api-run  Specify an action (api-run, install-schema)
Bootstrapping the environment

Pithos includes a schema definition file in order to bootstrap your Cassandra cluster. To install the schema, run:

java -jar target/pithos-0.7.5-standalone.jar -a install-schema
Test using the s3cmd command line client

Have a look at the minimal configuration file provided in doc/s3cmd.cfg. If not running locally, remove the last lines, as explained in the configuration file.

Create a bucket:

s3cmd -c doc/s3cmd.cfg mb S3://<bucket>

List your buckets:

s3cmd -c doc/s3cmd.cfg la

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.