Book Image

Learning SaltStack - Second Edition

By : Myers
Book Image

Learning SaltStack - Second Edition

By: Myers

Overview of this book

SaltStack is one of the best infrastructure management platforms available. It provides powerful tools for defining and enforcing the state of your infrastructure in a clear, concise way. With this book learn how to use these tools for your own infrastructure by understanding the core pieces of Salt. In this book we will take you from the initial installation of Salt, through running their first commands, and then talk about extending Salt for individual use cases. From there you will explore the state system inside of Salt, learning to define the desired state of our infrastructure in such a way that Salt can enforce that state with a single command. Finally, you will learn about some of the additional tools that salt provides, including salt-cloud, the reactor, and the event system. We?ll finish by exploring how to get involved with salt and what'?s new in the salt community. Finally, by the end of the book, you'll be able to build a reliable, scalable, secure, high-performance infrastructure and fully utilize the power of cloud computing.
Table of Contents (12 chapters)
11
Index

Our first state


Without further ado, let's write our first state. All Salt-specific files that aren't Python files end in the extension .sls. By default, the states are located in the /srv/salt/ directory. We created this directory in the previous chapter, but if you didn't follow along there, make this directory now, as follows:

# mkdir -p /srv/salt
# cd /srv/salt

Inside this directory, let's create a file named apache.sls, as shown in the following line of code:

# vim apache.sls

Here are the contents of that file:

install_apache:
  pkg.installed:
    - name: apache2

Note

State files are formatted using Yet Another Markup Language (YAML). The most common syntax errors in state files are forgetting the colons at the end of the first two lines, so watch out for that. More information about YAML can be found at http://www.yaml.org/. In addition, many simple YAML parsers can be found with a simple Google search. These can be very useful to detect simple syntax errors.

Let's run our state. To apply...