All Projects → chef-boneyard → Bookshelf

chef-boneyard / Bookshelf

Licence: apache-2.0
DEPRECATED: Minimal S3 Clone

Programming Languages

erlang
1774 projects

DEPRECATED Bookshelf

DEPRECATED: Moved to chef-server repository

New development on this component of the Chef Server now happens in the Chef Server repository:

https://github.com/chef/chef-server

This repository should only be used for changes to older versions of Chef Server.

Description

Bookshelf is an S3 API compatible object store.

Setup

*Erlang R15 *Rebar (recent) *Virtualenv (for integration testing)

Host Name Setup

s3 works by specifying the bucket name as part of the domain name being resolved. So, for example, if we where trying to create bucket foo we would post a PUT to the domain foo.localhost.localdomain (in the common case). Unfortunately, that is not going to work on your local box. You can not specify wild cards for something like *.localhost.localdomain. To get around this problem we need to use some other tool. The recommended tool fir this is dnsmasq. Get dnsmasq installed and then add

address=/.localhost.localdomain/127.0.0.1

to /etc/dnsmasq.conf. This should make all buckets resolvable. It has some consequences for

Build

$> make

Test

Just as a not, the password for the testing cert is opscode.

Unit Tests
$> make unit
Integration Tests

The integration tests do not start the server to be tested. You must manually run $>./start.sh to start that instance before runing make test

$> make integration
All Tests
$> make test

Configuration

Standard OTP application configuration

Start

$> ./start.sh
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].