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:
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: base: '*': - webserver webserver.sls: apache2: # ID declaration pkg: # state declaration - installed # function declaration
Salt uses .yml
files for its configuration files, similar to what...