Chef uses Cookbooks as a key element in its processes and they are used to describe the desired state of your node/server.
A Chef Cookbook is an important part of configuring machines when using Chef. It describes the desired state of the machine. This is similar to using Playbooks in Ansible. The Chef Cookbook contains five key elements, which all have their own part to play:
- Recipes
- Templates
- Attribute values
- Extensions
- File distributors
These elements are often pieces of metadata that work together to create an overview of the machine. Let's dive deeper into these five elements to learn more about them.