|
As you learn to use Chef, you'll need to understand what each of the different components are, and how they work together. This page provides a brief overview of those components, and each has a more in-depth page. If you are a new user, we recommend you read them in this order. NodesNodes are where Recipes are applied. Normally, they equate to systems under management - although a single system might actually run the Recipes for multiple nodes. You want to work with Nodes any time you want to:
RolesRoles allow you to group together high level functionality for Nodes into a single unit. CookbooksCookbooks are where Recipes, Definitions, Attributes, Libraries, Files and Templates live. They are also the unit of distribution and sharing in Chef. Most of the time you are using Chef, you are writing Cookbooks. |
Resources
Resources are contained in Recipes and Definitions. They are the basic unit of work in Chef - a resource might be a package, file, or service.
Providers
A Provider takes action on Resources. A given Node decides what Provider should be used for a Resource by default, or a Resource can specify a provider explicitly.
Metadata
Metadata is used to determine if your cookbook has any dependency that needs to be shipped with your cookbook; additionally it can define additional parts of a cookbook; such as who the maintainer of said cookbook is, how it is licensed, description of said cookbook, dependencies of said cookbook and lastly recipes shipped with cookbook.
Search Indexes
Search Indexes are built by the Chef Server, and allow you to query arbitrary data about your infrastructure. Most often, you utilize this service via search calls in a recipe.