[chef] Re: Re: Re: Re: Cookbook Releases, summit edition


Chronological Thread 
  • From: Joshua Timberman < >
  • To:
  • Subject: [chef] Re: Re: Re: Re: Cookbook Releases, summit edition
  • Date: Mon, 12 Dec 2011 21:02:44 -0700

Ohai,

On Tue, Dec 6, 2011 at 7:39 PM, Hedge Hog 
< >
 wrote:
>
> Recall from the earlier email discussion Opscode had to adopt a
> monlithic repo (cookbooks) as a mechanism for ensuring compatability
> between cookbooks.

Let me clarify.

The monolithic repo was used for a couple reasons.

1. The Community site hadn't been built yet, though it was planned and
in progress.

2. Chef Server didn't have an API for uploading and downloading cookbooks.

3. Just about everyone used the "cookbook shadowing" feature of
cookbook_path for managing multiple cookbook directories.

4. Cookbook versions didn't matter and were rather arbitrary. This is
a subtle but important thing.

5. It was highly convenient to have a single repository to push and
pull both for me as the maintainer, and adding new Opscode team
members to collaboration of the repository.

Fast forward to now, we have the Community site where people can share
versioned releases of their cookbooks. Since cookbooks are "like"
packages, versioning is important. The Community site also has an API
to download specific versions of cookbooks, and will have some major
improvements coming very soon (serious, I saw them earlier today,
you're going to love it). The Chef Server API itself is quite good -
thousands of people use it every day on Opscode Hosted Chef, and the
same API works on open source Chef for an unknown number of people out
there. The shadowing feature of cookbook_path is deprecated, because
we feel pretty strongly in the released cookbook model.

Finally, it makes sense, following with the idea of released versioned
cookbooks to have separate repositories, from a maintenance
standpoint. While it does take some initial effort, it won't be bad
long term. There's over 100 cookbooks in our repository now, but most
of those don't see regular changes and releases. Also, since it's git,
we'll add typical git workflow tasks such as tagging to the release
process.

-- 
Opscode, Inc
Joshua Timberman, Technical Program Manager
IRC, Skype, Twitter, Github: jtimberman



Archive powered by MHonArc 2.6.16.

§