Food Court¶ ↑
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.
Instructions¶ ↑
-
install the gem
gem install food_court
-
cd into your project
food-court init
-
add your root user, password, and host to config/chef/bootstrap.rb for bootstrapping your slice
-
setup your slice for chef
food-court bootstrap
-
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
food-court update
Cookbooks¶ ↑
-
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.
Gotchas¶ ↑
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
should be
67.xx.xx.xx my-slice.local my-slice
Roadmap¶ ↑
-
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¶ ↑
Copyright © 2010 Gabe Varela. See LICENSE for details.
Inspiration¶ ↑
Josh Peek: github.com/josh/slicehost/
Thomas Balthazar: github.com/suitmymind/ubuntu-machine/
Mike Hale: github.com/mikehale/drive-thru/
Thanks¶ ↑
Fabio Akita for the great article on chef-solo akitaonrails.com/2010/02/20/cooking-solo-with-chef