As we noticed in the previous chapter, it is very difficult to maintain and download the recipes one by one and keep a track of them. Chef comes with the following two plugins that help us overcome this problem:
Both are tools to manage dependent cookbooks.
Librarian-Chef is used to fetch the cookbooks from the central repository and install them using Knife. It's a bundler to resolve every dependency of an application, download, and installation. Also, it has the capability to download public and community cookbooks.
Each cookbook can contain one
Cheffile and all the necessary information to download the cookbooks.
The following is an example:
site "http://community.opscode.com/api/v1" cookbook "git" cookbook "timezone", "0.0.1" cookbook "rvm", :git => "https://github.com/fnichol/chef-rvm", :ref => "v0.7.1" cookbook "nginx", :path => "/cookbooks/nginx"