[chef] Committing environment config

Chronological Thread 
  • From: Geoff Meakin Acid < >
  • To: Geoff Meakin Acid < >
  • Cc:
  • Subject: [chef] Committing environment config
  • Date: Mon, 12 Sep 2011 11:48:57 +0100

Hi all,

Thanks for your help so far. I love the way chef works, and am getting on with it really well. However I have a question.

In my view, infrastructure as configuration is a really good idea, and being able to commit 'versions' of your infrastructure configuration e.g. through git has some clear wins. Whilst I can see in Chef how to easily accomplish this on a recipe / cookbook / etc. basis, I dont see how to do this on a node/environment basis.

For example I would like to be able to construct a file / Json object / whatever which includes various nodes, information about those nodes, recipes applied to those nodes etc., and commit that file alongside the rest of everything I do. I would like chef to be able to read that file and provision or alter an entire environment - cluster of n nodes each with different recipes applied - that way I could have the entire environment config under source control.

It seems from what I've read that Chef prefers you to do this dynamically / on-the-fly, by using knife or the management console to construct, bootstrap and provision nodes at runtime, applying recipes where necessary. However the state of the 'system as a whole' is never in source control.

Is it possible to do such a thing? I believe in the past we have had success using puppet in accomplishing it..

Thanks in advance



Archive powered by MHonArc 2.6.16.