Hi Ranjib,
Noah helpfully pointed me to Halite which seems exactly what I am after.
You make good points about the DSL easing adoption and making the tool friendly for non-Rubyists. My objection to cookbooks is chiefly that we already have gems and classes/modules, and cookbooks and recipes are very limited compared to those other structures.
In fact, when starting out with Chef a couple of months ago, I was very surprised to find that cookbooks could not nest arbitrarily.
I’d expect Ohai integration in a pure Ruby Chef environment not to be much of a problem - surely an API such as ohai.data[‘foo’] would be sufficient?
Your LXCHelper
example is tantalizingly close and shows most of the plumbing I’d expect to be there, but instead of the instance_eval,
there would just be a bunch of method calls to classes that push resources on some resource collection associated with a run_context, as Noah suggested.
I personally would appreciate more documentation of this use case of Chef, for people that are comfortable with Ruby and feel limited by the current cookbook/recipe paradigm (“What do you mean, recipes can’t take parameters?”).
Thanks for your feedback and suggestions!
Jos
From: Ranjib Dey
Reply-To: " "> " Date: Wednesday, September 16, 2015 at 4:30 PM To: " "> " Subject: [chef] Re: Object-Oriented Chef right, and thats what makes chef very compelling. Those who wanted similar use cases, have done it. Here are a few more examples[1], [2]. But the recipe DSL layer not only makes thing concise, it also eases adopting, implementing things with chef if you
are new. For those who are coming form cfengine or puppet, i think its easier than groking raw ruby. I also think from a standard CM style execution (i.e building a set of resources and then check & repair cycle) recipe makes a lot of sense, since that are
the authoritative sources for resource declaration. Also, this makes up what we call cookbook, which is recipe+ artifacts required for recipe execution that can be shared as independent. Chef community is built around that. The cookbook route also allows segments
(files, templates etc).. which are then exploited by recipes/resources. In your example you have not used ohai yet,, for any non-trivial work, you'll node ohai data as well.. recipe/dsl layer takes care of all those things.
i 'll also say that theres nothing inherent in the chef DSL layer that restrict you from using raw ruby library modules etc.. we can take an example and explore that may be..i think, chef already have a decent design for raw consumption (i.e. use chef from any ruby apps). We dont have the necessary docs or blogs around it. Also a better understanding of Chef's public API (so that version compatibility can be maintained ). But let us know exactly what you are looking for and we can tell you the core chef api. On Wed, Sep 16, 2015 at 3:44 PM, Jos Backus
<
" target="_blank">
> wrote:
|
Archive powered by MHonArc 2.6.16.