Installing Cookbooks from Non-Community Sites

rberger's Avatar

rberger

02 Aug, 2011 05:33 AM via web

Since I couldn't reopen the "Discussion" I am creating a new one to answer Ben Burr

Its true that the knife cookbook site is severly limited by the fact that it can only pull from the practically opaque community.opscode.com

There is a very nice knife plugin at https://github.com/websterclay/knife-github-cookbooks

which also uses the same git "vendor" pattern. But you can pull from any cookbook that is on github as long as its a standalone repo.

I believe that knife-github-cookbooks is a step in a right direction for sharing cookbooks. The idea of having a git repo with some random mix of multiple cookbooks breaks the ability to share at the cookbook level. If someone calls their cookbook repo "cookbooks" and I already have my own random mix of cookbooks in my own repo called "cookbooks", I can't fork the other repos.

But if its repo per cookbook, then its much easier to share/fork/send patches using pull requests etc. The unfortunate thing about a repo / cookbook is that its a lot of repos in one account and the flat github repo namespace within a user becomes a bit overwhelmed.

I would consider that the issue of sharing and building on the shoulders of other cookbook writers/modifiers is an unsolved problem and one that needs some thought and work.

The ability to develop, refine and evolve to community best practices is one of the great promises of Chef, but its still hard to do at the cookbook files level...

  1. 2 Posted by Tom Thomas on 02 Aug, 2011 06:08 AM

    Tom Thomas's Avatar

    The referenced knife-github-cookbooks plugin page is included on the Chef Wiki Community Plugins Page.

    We don't argue or proponentize for its use, as it is contrary to our direction on management of the Opscode provided cookbooks.

    As this help site is for Hosted Chef customers - and we are managing to an SLA - we will be directing those customers towards the practices that we are prepared to support. And that includes the use of the Cookbooks site for production released versions of the cookbooks - not the github repository, where they are considered in development.

    As Hosted Chef manages to an SLA we will not be recommending that plugin's use to Hosted Chef customers, for the reason stated above: Opscode cookbooks on the github site are in development, not fully tested and released.

    Open Source Community members may of course use the plugin, with the awareness that if they pull directly from the github repo, they may be pulling a non-production-supported (not fully tested, still in development) cookbook.

    The opinion that you've shared in this ticket is certainly known, and is (and will continue to be) considered as the approach for managing the environment evolves. The result will have to incorporate both the needs of a managed service (Hosted Chef) with SLA requirements, and of an Open Source Community. We believe we are balancing that today - but certainly continue to seek improvement and appreciate your input.

    Secondarily, some additional information could've been shared on that ticket for Ben on how he could use non-Opscode cookbooks, and upload them to Hosted Chef - just not by using the knife cookbook site install command. I'll follow up on that, and we'll elaborate regarding that on the ticket for his knowledge.

    Thanks,
    Tom

  2. Tom Thomas closed this discussion on 02 Aug, 2011 06:08 AM.

Comments are currently closed for this discussion. You can start a new one.