Deploying with SaltStack

SaltStack is a Python-based deployment solution.

There is a convenient dockerized test environment for Salt, by Jackson Cage. You can start it with the following code:

docker run -i -t --name=saltdocker_master_1 -h master -p 4505 -p 4506 \
-p 8080 -p 8081 -e SALT_NAME=master -e SALT_USE=master \
-v `pwd`/srv/salt:/srv/salt:rw jacksoncage/salt  

This will create a single container with both a Salt master and a Salt minion.

We can create a shell inside the container for our further explorations:

docker exec -i -t saltdocker_master_1 bash

We need a configuration to apply to our server. Salt calls configurations states, or Salt states.

In our case, we want to install an Apache server with this simple Salt state:

top.sls: ...

Get Practical DevOps - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.