What this book covers
Chapter 1, Starting with the Basics, starts with a discussion of the two core principles that this book focuses on: how Salt uses Python and how the Loader system works. These form the foundation of extending Salt.
Chapter 2, Writing Execution Modules, explains that the heavy lifting in most of Salt is performed by execution modules, which are often wrapped by other modules. A solid understanding of execution modules will also be key to understanding how other module types work.
Chapter 3, Extending Salt Configuration, explains that the ability to dynamically manage configuration can make some modules far more useful. Some modules won't even work without dynamic configuration. Here, we explore different ways to provide that.
Chapter 4, Wrapping States Around Modules, supports the fact that execution modules make things work, but state modules make that work persist. In this chapter, you will see how to manage execution modules using state modules.
Chapter 5, Rendering Data, shows that the renderer system allows you to add your own templating systems, increasing the power of states. Jinja and YAML are all well and good, but sometimes, you need something more.
Chapter 6, Handling Return Data, answers the query what happens to the data when a job finishes. There are many places it can go, and you can write modules to send it there.
Chapter 7, Scripting with Runners, shows that SaltStack knows that system administrators have used scripting languages for years, and they have provided a scripting environment that combines Python with the raw power of Salt.
Chapter 8, Adding External File Servers, advises not to just serve files from Salt Master. You can serve files from wherever you want with your own external file server module.
Chapter 9, Connecting to the Cloud, helps you find out how you can update existing cloud modules or add your own. Everyone uses the cloud now, and Salt Cloud connects it to Salt.
Chapter 10, Monitoring with Beacons, helps us to solve the problem that Salt isn't normally associated with monitoring, which is a shame. Beacons are one way to integrate Salt into your monitoring framework.
Chapter 11, Extending the Master, explains that Salt provides a way for you to serve the administrative needs of the Master programmatically. Bonus points for tying in your own authentication system to Salt.
Appendix A, Connecting Different Modules, gives solutions to how to fit the different components even if it is known that Salt modules are designed to play together. This appendix lays out how the different parts connect together.
Appendix B, Contributing Code Upstream, gives you tips to know where the project is screwed up or what features are missing. It doesn't have to be that way with Salt but going back to the community.