[LRUG] puppet or chef [was: availability of talks]

Henry Garner henry.garner at mac.com
Mon Aug 22 08:26:55 PDT 2011


On 22 Aug 2011, at 12:31, Viktor Trón wrote:

> In the end http://help.opscode.com/kb/troubleshooting/may-i-use-rvm-to-install-ruby-andor-rubygems-that-the-chef-client-runs-under convinced me to write my own bootstrap script to install ruby and rubygems from source before any of the chef magic happens.
> 
> thanks Henry, does this not defeat the whole purpose kindof?

I see what you're getting at, but I don't think it defeats the purpose. Bootstrapping a ruby environment is necessary because Chef and its dependencies are themselves gems. My customisation just installs a specified recent ruby version in place of the default distribution packages. I find this foundation reassuringly specific, and from this point on it's over to Chef as usual.

Fortunately all my apps can run on recent MRI versions and my gems are managed by bundler, so I don't need RVM's fine-grained control in production. Using update-alternatives is enough to cater for the unusual occasion where I want to migrate rubies, and avoids path-related headaches when using existing chef recipes using the 'gem' resource (which is not RVM-aware).

Fletcher's cookbook has changed hugely in the last month, so I will return to it when I next need to set up a production RVM. https://github.com/fnichol/chef-rvm Or perhaps John will have finally converted me to Puppet...

> Opscode hosts an 'application' cookbook which aims to be a bit of a swiss army knife for deploying all manner of apps. I found it to be the single most helpful resource for figuring out how to deploy my app and dependencies (I ended up hacking it about to write my own application-specific cookbook as a learning exercise). https://github.com/opscode/cookbooks/tree/master/application
> 
> 
> so you wrote your own? is this what you meant by chef deploy resource?

Unless your entire installation can be expressed as configuration options to existing cookbooks, you'll find yourself writing your own.

The deploy resource is a chef standard http://wiki.opscode.com/display/chef/Deploy+Resource. Its callbacks are a little different to Capistrano, but it keeps the current / shared / releases directory structure which makes it feel pleasantly familiar.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lrug.org/pipermail/chat-lrug.org/attachments/20110822/9aae51cb/attachment.html>


More information about the Chat mailing list