Summary
In this chapter, we learned about how custom Knife plugins can be used. We also learned how we can write our own custom Knife plugin and distribute it by packaging it as a gem. Finally, we learned about custom Chef handlers and how they can be used effectively to communicate information and statistics about a chef-client run to users/admins, or handle any issues with a chef-client run.
In the next chapter, we'll go about building a set of tools that can be used to manage your infrastructure with a lot of ease using Chef. These tools will combine the Chef API with some other APIs to accomplish goals that otherwise would be very difficult to accomplish.