chef-boneyard / Bookshelf
Programming Languages
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