berkshelf/berkshelf — pull request #983 by sethvargo (2014-02-18 20:00:34+00:00)
Title: Remove implicit default source

In some cases it would be useful to only pull in explicitly sourced cookbooks - for example, a company may not want to use any cookbooks that they have not reviewed.

Berkshelf currently uses the Opscode community site as a default, and explicitly setting `site :opscode` seems to be a common idiom in the documentation. Instead of this, either the default should be empty (requiring `site :opscode` to pull from the community site) or there should be a method to 'unset' the default (e.g. `site :none`). When there is no site set, cookbooks and dependencies with no explicit source should raise an error.

As far as I'm aware, `librarian-chef` does something similar, and when no `site` has been set cookbooks without explicit sources fail. I can check that this is the current behaviour of both if necessary.

It'd also be useful to set a path as the default site, allowing use of a cookbooks directory to supply dependencies, though I suspect this wouldn't work well with the 'berkshelf way'. The original discussion around this can be found here: https://stackoverflow.com/questions/19593231/how-can-i-make-berkshelf-use-a-local-path-as-the-default-site-or-unset-the-defa