O'Reilly logo

Salt Essentials by Thomas Hatch, Craig Sebenik

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 6. Extending Salt: Part I

If you were to put this book down right now, you should be able to successfully use Salt to solve a wide variety of problems. A standard install of Salt provides a number of execution modules that can allow you to maintain a number of off-the-shelf components. When combined with states and pillars, these standard tools allow you to accomplish a great deal. However, you will likely need to do something that Salt does not handle by default, whether it’s building a custom module to manage some software you wrote at your company, or creating a custom grain that makes available some company-specific piece of data. Each piece we have discussed thus far can be customized. In this chapter, we introduce a few elements to customizing some of the data focused on a specific minion.

Introduction to Jinja

The data files that Salt uses have a very straightforward syntax. In fact, in the default case, they are just YAML files. But in the end, they are just data. They don’t allow for any complex logic. This is where Jinja templates can help.

Jinja is a very powerful templating engine best known for its use in the Flask web framework. Jinja is complicated, and is a language in its own right. We only intend to introduce just enough of the Jinja language so you are able to add logic to your data files. A comprehensive tutorial is beyond the scope of this book. However, the Jinja site has great documentation.

Jinja Basics

Let’s start with a simple example so you ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required