A DynamoDB API implementation built on Riak 2.0.
$ make$ make testA virtual development environment for Rinamo can be built using the steps below.
Download and install Vagrant via the Vagrant installer.
$ vagrant plugin install vagrant-berkshelf
$ vagrant plugin install vagrant-omnibus
$ vagrant plugin install vagrant-cachier (Use RINAMO_USE_CACHE to enable)Note: If you're using Vagrant 1.5+, use the following command to install
vagrant-berkshelf:
$ vagrant plugin install vagrant-berkshelf --plugin-version 2.0.0.rc3The Vagrantfile is configured to enable agent forwarding over SSH, but your
local key must be added to ssh-agent:
$ ssh-add .ssh/id_rsaThe development environment for Rinamo has several dependencies that take a while to build. In order to expedite the process, the base development environment can be built once, and made into a Vagrant base box:
$ RINAMO_USE_CACHE=1 vagrant up rinamo-base
$ vagrant package rinamo-base
$ vagrant box add rinamo-base package.box
$ rm package.boxNow that the rinamo-base box is built, Rinamo itself can be provisioned:
$ vagrant up rinamo-devOnce running, Rinamo can be updated at any time by rebuilding the Riak release by running the provision command:
$ vagrant provision rinamo-devRinamo responds to requests issued by AWS Client APIs. Anything can be used, but we package up a scala test console for use during development. This makes it easy to use the AWS Java Client API to explore Rinamo.
To fire up the console run the following from within the vagrant development environment:
$ cd /vagrant/tests/com.basho.dynamodb.integ
$ mvn test-compile scala:console; resetThen run commands like this:
scala> Table.create("books_range", "Id", "N", Some("Title"), Some("S"))
res0: com.amazonaws.services.dynamodbv2.model.CreateTableResult = { ...
scala> Table.list()
res1: List[String] = List(books_range)For more examples, refer to the console examples.
Acceptance tests use the same commands availabe in the Test Console.
$ cd /vagrant/tests/com.basho.dynamodb.integ
$ mvn test