Part II. Customizing Chef Runs

Now that we’ve seen an overview of the Ruby concepts necessary for customizing Chef and examined in detail how Chef runs work under the hood, we’re ready to start looking at how to create our own customizations. The upcoming chapters focus in detail on how to customize different aspects of Chef, and explore the tasks to which each type of customization is best suited.

In Part II, we focus specifically on customizing various components of the Chef run process that we looked at in Chapter 3, and the Chef classes we’ll be making use of along the way:

  • In Chapter 4, we learn how to write plugins for ohai that let you store your own attributes in your Chef nodes.
  • In Chapter 5, we learn how to implement our own customizations to leverage the run status information that Chef exposes to create our own start, report, and exception handlers.
  • In Chapter 6, we learn how to make use of the events collection that Chef builds up during the course of a run to create our own customized views into the progress of Chef runs through the use of the Chef event dispatcher.

We then finish by using the concepts learned throughout these chapters to revisit one of the problems AwesomeInc has been experiencing, which we explored in Criteria for Customization.

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.