Food Court
Food Court is a streamlined way to use chef-solo and capistrano for VPS’s such as slicehost.
Instructions
-
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 change any default packages
-
then run update to push up your cookbooks and configure the server with chef-solo
food-court update
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
-
create a default template that works on Ubuntu with Nginx and Passenger
-
add generators for stubbing site-cookbooks in the current project repo
-
enable rollingback a deployment
-
enable setup to accept a remote location for template packages
-
setup a site to house common template packages (similar to the chef cookbooks site)
-
add ability to package up a template package and send to package site
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