[chef] Dynamically include recipes?


Chronological Thread 
  • From: Ian Marlier < >
  • To: chef < >
  • Subject: [chef] Dynamically include recipes?
  • Date: Mon, 10 Jan 2011 17:58:43 -0500

Hi there, list --

I'm trying to figure out a way to do a (relatively) dynamic include_recipe command.  Specifically, the context of this question is a Nagios server, and building the service definition files.

I would like to be able to do the following:
    - Get a list of all cookbooks defined in the chef server
    - For each cookbook C, see if that cookbook includes a recipe called "nagios"
    - If the cookbook does include a recipe called "nagios", then do include_recipe "#{C}::nagios"

The idea is that when someone within my organization wants to add a chef cookbook to install/configure a new service or a new application, they can add the monitoring for that service/application as well -- without having to alter the nagios cookbook.

I had sort of assumed that I could do this using search(), but it looks like cookbooks/recipes aren't searchable.  Sadness.  So I'm wondering if anyone has suggestions for other ways to make this happen.

(I know that one potential issue is the requirement that metadata.rb also be updated.  I'm not entirely sure how to deal with that, either.  I figured I would worry about one problem at a time...)

Thanks!

- Ian



Archive powered by MHonArc 2.6.16.

§