Part III. Customizing Recipes

In Part III of this book, we’re going to learn about the different ways Chef provides for us to customize our cookbooks and recipes by creating our own resource definitions and the code to support them. We’ll learn:

  • How to create definitions
  • How to create libraries to support our resources
  • How to create lightweight resources and providers
  • How to create heavyweight resources and providers
  • The pros and cons of each customization type

Up to this point, the majority of the customization types we’ve looked at have been largely “monotasked”; that is, they have a clear function or use case that guides when they are likely to be used and which dictates your likely customization choice.

Recipe customizations, on the other hand, are not so easily separated. The chances are good that for any scenario in which you wish to create a custom resource, you could implement more than one of the customization types covered in this part of the book. Choosing the best customization type to use is extremely important, especially when considering the criteria we looked at in Criteria for Customization, so we’ll cover this in much more detail than we have for the customization types discussed in the first two parts of this book.

Throughout the following chapters, we’ll be working through a series of examples to solve problems for AwesomeInc, and exploring the decision-making process that must be worked through when considering each solution.

Get Customizing Chef now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.