Understanding the Salt API
We've spent some time looking at how to send requests, but many users would argue that receiving requests is just as important, if not more so. Let's take a moment to understand the Salt API.
What is the Salt API?
Very simply, the Salt API is a REST interface wrapped around Salt. But that doesn't tell you the whole story. The salt
command is really just a command-line interface for Salt. In fact, each of the other Salt commands (salt-call
, salt-cloud
, and so on) is really just a way to access various parts of Salt from the command line.
The Salt API provides a way to access Salt from a different interface: HTTP (or HTTPS, preferably). Because web protocols are so ubiquitous, the Salt API allows software, written in any language that has the capability of interacting with web servers, to take advantage of it.
Setting up the Salt API
So far, this book has assumed that you have a copy of Salt installed, with both a master and a minion service running. But we're going to...