Example of using rackbox, databox and knife-solo to provision a full-stack, rack-based web server.
An example of using
rackbox
&
databox
and knife-solo
to provision
a full-stack, rack-based web server.
kitchen-example
from scratch:Create Gemfile
:
source "https://rubygems.org"
gem "knife-solo", "0.3.0pre3"
gem "berkshelf"
Create Berksfile
:
site :opscode
cookbook "runit", "1.1.2"
cookbook "databox"
cookbook "rackbox"
Install ruby gems
bundle install
Setup knife-solo
directory structure
bundle exec knife solo init .
Copy the node config example
curl https://raw.github.com/teohm/kitchen-example/master/nodes/host.json.example --output nodes/myhost.json
git clone git://github.com/teohm/kitchen-example.git
cd kitchen-example
# install berkshelf, knife-solo
bundle install
# download cookbooks
bundle exec berks install -p cookbooks/
# copy & edit the node config
cp nodes/host.json.example testbox.json
# setup chef-solo on the node
bundle exec knife solo prepare testbox
# provision the node
bundle exec knife solo cook testbox
git clone git://github.com/teohm/sample-app1.git
cd sample-app1
bundle install
ssh testbox
#
# in testbox, add SSH known host by running:
# ssh [email protected]
#
bundle exec cap deploy:setup
bundle exec cap deploy:migrations
git clone git://github.com/teohm/sample-app2.git
cd sample-app2
bundle install
ssh testbox
#
# in testbox, add SSH known host by running:
# ssh [email protected]
#
bundle exec cap deploy:setup
bundle exec cap deploy:migrations