From ArchWiki
Revision as of 16:05, 9 May 2013 by Aboe (talk | contribs) (Using Salt Key)
Jump to: navigation, search


This page will give you information on what is Salt Stack and how to install it on Archlinux.

What is Salt Stack?

From the website:

Salt is a new approach to infrastructure management. Easy enought to get running in minutes, scalable enough to manage tens of thousands of servers, and fast enough to communicate with them in seconds.

Salt delivers a dynamic communication bus for instrastructures that can be used for orchestration, remote execution, configuration management and much more.


Salt is available on aur saltAUR or via the unofficial Salt Stack Archlinux repo:

 Server =

Components of Salt Stack

Salt is at it's core a Remote Execution solution. Running pre-defined or arbitrary commands on remote hosts. Salt functions on a master/minion topology. A master server acts as a central control bus for the clients (called minions), and the minions connect back to the master.

Salt Master

Turning on the Salt master is easy, just turn it on! The default configuration is suitable for the vast majority of installations. The Salt master can be controlled with systemd.

 # systemctl start salt-master

The Salt master can also be started in the foreground in debug mode, thus greatly increasing the command output:

 # salt-master -l debug

The Salt master needs to bind to 2 TCP network ports on the system, these ports are 4505 and 4506.

Salt Minion

The Salt Minion can operate with or without a Salt Master. This wiki assumes that the minion will be connected to the master. for information on how to run a master-less minion please see the masterless quickstart guide:

The Salt minion only needs to be aware of one piece of information to run, the network location of the master. By default the minion will look for the DNS name salt for the master, making the easiest approach to set internal DNS to resolve the name salt back to the Salt Master IP. Otherwise the minion configuration file will need to be edited, edit the configuration option master to point to the DNS name or the IP of the Salt Master: /etc/salt/minion:


Now that the master can be found, start the minion in the same way as the master; with systemd.

 # systemctl start salt-minion

Or in debug mode

 # salt-minion -l debug

Salt Key

Salt authenticates minion using public key encryption and authentication. For a minion to start accepting commands from the master the minion keys need to be accepted. the ```salt-key``` command is used to manage all of the keys on the master. To list the keys that are on the master run salt-key list command:

 # salt-key -L

The keys that have been rejected, accepted and pending acceptance are listed. To accept a minion:

 # salt-key -a

Or you can accept all keys at once with :

 # salt-key -A

Salt commands