Food Court is a streamlined way to use chef-solo and capistrano for VPS’s such as slicehost. Setup a new slice in 15 minutes or less.
install the gem
gem install food_court
cd into your project
add your root user, password, and host to config/chef/bootstrap.rb for bootstrapping your slice
setup your slice for chef
modify your order.rb to add your desired user name and passwords and change any default packages
then run update to push up your cookbooks and configure the server with chef-solo
You can provide your own customizations inside of ‘site-cookbooks’ these get zipped up and pushed to your server. This allows you to override or create more custom recipes for your app.
The default stack uses a base set of cookbooks merged from opscode and 37signals by akitaonrails. They have been stripped down to just the essentials and can be found at github.com/gvarela/food_court_cookbooks. You can actually use any cookbooks you would like just change the order.rb to point to your favorite repository.
The food_court_cookbooks repository will be a mirror of recipes that are known to work together on simple apps for hosts such as Slicehost. Feel free to fork it and add your own.
Since Food Court uses Chef you are bound to run into some Chef specific issues
Chef help: wiki.opscode.com/display/chef/Home
A good intro to chef-solo: akitaonrails.com/2010/02/20/cooking-solo-with-chef
a common issue on slicehost is the fqdn in /etc/hosts
67.xx.xx.xx my-slice.local my-slice
add cucumber features for integration testing
enable rollingback a deployment
enable setup to accept a remote location for template packages
Note on Patches/Pull Requests
Fork the project.
Make your feature addition or bug fix.
Add tests for it. This is important so I don’t break it in a future version unintentionally.
Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
Send me a pull request. Bonus points for topic branches.
Copyright © 2010 Gabe Varela. See LICENSE for details.
Josh Peek: github.com/josh/slicehost/
Thomas Balthazar: github.com/suitmymind/ubuntu-machine/
Mike Hale: github.com/mikehale/drive-thru/
Fabio Akita for the great article on chef-solo akitaonrails.com/2010/02/20/cooking-solo-with-chef