Skip to content

DEPRECATED: Minimal S3 Clone

License

Notifications You must be signed in to change notification settings

chef-boneyard/bookshelf

Repository files navigation

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