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 © 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