[chef] Re: Contributing to Cookbooks (was chef & hoptoad)


Chronological Thread 
  • From: Alex Soto < >
  • To:
  • Cc: Chef Dev < >
  • Subject: [chef] Re: Contributing to Cookbooks (was chef & hoptoad)
  • Date: Thu, 15 Jul 2010 15:31:54 -0700
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; b=EfiCSLmGNIaBGBokdi42CT7Kq9ctxYxnAyURChZO68JukGI/FpgGkiRKnvCtVGs8gf n1f2mMNQ3/yNEwZtZZLFHlQ/pcKfqSbckSRNV1zrQomS1knn3sqykyGoa/S3vSMG/WFN PRocafGnMWQa44c776cEzUecQ0G8WPrO+4E9k=

I guess I have two separate roadblocks to contributing:

First I mainly spend my time with chef developing cookbooks, so how would I 
'contribute' a cookbook while not incurring a lot of overhead ?  For example, 
I create a cookbook that I haven't seen in the wild, I'd like to publish it 
for others to use and enhance, but since it's in my private repo, how would I 
do that?

One idea would be that I have another cookbooks repo where I publish the 
cookbook and be able to import it using the existing vendor stuff knife 
provides but use it against other repo's than just the cookbooks site.


Secondly, I've run into times where I have found bugs in chef that I've 
traced into the code and figured out 'why' its broke.  I've gone ahead and 
reported the bugs, but I'd love to be able to just fix it myself.  However I 
end up just working around the problem in my cookbooks because I'm not sure 
how I would fix chef and then deploy it so my nodes can take advantage of my 
fix since in some clients I have pre-built AMI's with chef pre-installed, but 
I'm transitioning to the bootstrap way.  In either case, I've now forked chef 
and taken some burden of responsibility of packaging my own chef.  So far I 
haven't done that because of the extra burden.  I'd love to hear any tips on 
making that easier.

Thanks,

Alex


On Jul 15, 2010, at 2:43 PM, Joshua Timberman wrote:

> Ohai!
> 
> Begin forwarded message:
> 
>> On a related topic... I still don't quite grok how one can contribute back 
>> to the cookbooks...
>> there are multiple repos of cookbooks... and multiple repos of single 
>> cookbooks... so its
>> kinda hard to contribute.
> 
> Cookbooks are treated like any of Opscode's open source projects. There is 
> a minor difference in terms of release.
> 
> Development happens in the github repository, 
> http://github.com/opscode/cookbooks/. Tickets are tracked in the COOK ;
> project in tickets.opscode.com. In order to contribute, since they're 
> Apache licensed, you do need to have signed a CLA. The workflow for 
> contributing is the same as the other projects (particularly Chef, but also 
> Ohai or the Mixlibs). For the documentation on how to contribute, see the 
> Chef wiki:
> 
> http://wiki.opscode.com/display/opscode/Contributing
> 
> Setting up a repository:
> 
> http://wiki.opscode.com/display/opscode/Working+with+Git
> 
> If you have any questions at all on the process, please send them to the 
> list, ask on IRC or feel free to ask me directly.
> 
> Now, the minor difference, on the release of cookbooks. While Chef, Ohai 
> and the other code is released as RubyGems, we release the Chef cookbooks 
> to the Cookbook site, http://cookbooks.opscode.com. Now that knife has the ;
> ability to work with the site directly, we recommend a workflow that 
> utilizes the Opscode chef-repo as a Git repository, adding cookbooks as 
> "vendor branches". For more information on this workflow, see:
> 
> http://help.opscode.com/faqs/start/working-with-cookbooks
> 
> (it uses an example cookbook, getting-started)
> 
>> So far I've found the existing cookbooks to be a very useful crib for 
>> writing my own... often
>> I copy one, hack away the stuff I'm not interested in (apache, etc) and 
>> then add the few 
>> small twiddles I need (e.g. nginx). 
> 
> Nothing wrong with this at all, they were intended to be provided as a 
> 'baseline' that you can then customize for your environment. Further, using 
> the workflow described on the help site, you not only have your local 
> modifications, but you can "track" the upstream changes and merge them in 
> as well.
> 
>> Also, I tend to work on a recipe until it works for me.... and then stop 
>> working on it... and
>> I don't bother making it generic enough for anybody to use..... me being 
>> lazy but I think
>> the contributing back hurdle is too high. 
> 
> 
> If the contribution hurdle is too high thats our bad and we should make it 
> clearer! Hopefully the information above will help you, and we look forward 
> to your contributions!
> 
> Thanks for using Chef and the feedback on how we can make it better.
> 
> -- 
> Opscode, Inc
> Joshua Timberman, Senior Solutions Engineer
> C: 720.334.RUBY E: 
> 
> 




Archive powered by MHonArc 2.6.16.

§