Spatula: The Handy Chef Helper
I've been hacking a bit on Spatula (http://github.com/trotter/spatula and http://rubygems.org/gems/spatula). Don't know if I've mentioned it here before, but it's a command line tool packaged as a gem that is supposed to help finding Chef recipes and running chef-solo. It's definitely not fully ready, but it's at least ready enough to start playing around with on ubuntu instances. For instance, you can do something like:
$ spatula search mysql $ spatula install mysql
This will find all cookbooks on http://cookbooks.opscode.com that match "mysql." It'll then download and install the one called "mysql" into your cookbooks directory. I find it slightly simpler than going through the web interface, downloading a tgz, and extracting it. I want to extend spatula to support other types of sources (like git repos), but haven't done so yet.
Of course, even better than finding cookbooks is getting a new machine up and running. For this purpose, spatula has "prepare" and "cook". Prepare will ssh into the machine and install all the dependencies necessary for chef to actually run. Cook will rsync your cookbooks to the server, ssh in, and run chef-solo to cook the machine. We're using this at Hoopla to successfully build new machines / deploy to them in < 5 minutes. Yea, that's pretty hot.
As an aside, I'm also going to be speaking about Chef at Philly Emerging Tech. It's April 8th and 9th in Philly and has a great speaker lineup.




Comments [0]