This section contains instructions to install Salt. If you are setting up your environment for the first time, you should install a Salt master on a dedicated management server or VM, and then install a Salt minion on each system that you want to manage using Salt. For now you don't need to worry about your architecture <architecture-overview>
, you can easily add components and modify your configuration later without needing to reinstall anything.
The general installation process is as follows:
-M
option to install the Salt master.find the Salt master
<master-dns>
.minion keys <using-salt-key>
after the Salt minion connects.After this, you should be able to run a simple command and receive salt version returns from all connected Salt minions.
salt '*' test.version
On most distributions, you can set up a Salt Minion with the Salt bootstrap <salt-bootstrap>
.
These guides go into detail how to install Salt on a given platform.
arch debian eos fedora freebsd gentoo nxos openbsd osx rhel solaris ubuntu windows suse
../../ref/configuration/index
../tutorials/salt_bootstrap ../tutorials/firewall ../tutorials/preseed_key ../tutorials/walkthrough_macosx ../tutorials/rooted ../tutorials/standalone_minion ../tutorials/quickstart
Salt should run on any Unix-like platform so long as the dependencies are met.
Warning
For historical reasons, Salt requires PyCrypto as a "lowest common denominator". However, PyCrypto is unmaintained and best practice is to manually upgrade to use a more maintained library such as PyCryptodome. See Issue #52674 and Issue #54115 for more info
Salt defaults to the ZeroMQ transport. The --salt-transport
installation option is available, but currently only supports the zeromq
option. This may be expanded in the future.
python setup.py --salt-transport=zeromq install
This way, only the required dependencies are pulled by the setup script if need be.
If installing using pip, the --salt-transport
install option can be provided like:
pip install --install-option="--salt-transport=zeromq" salt
Note
Salt does not bundle dependencies that are typically distributed as part of the base OS. If you have unmet dependencies and are using a custom or minimal installation, you might need to install some additional packages from your OS vendor.
When upgrading Salt, the master(s) should always be upgraded first. Backward compatibility for minions running newer versions of salt than their masters is not guaranteed.
Whenever possible, backward compatibility between new masters and old minions will be preserved. Generally, the only exception to this policy is in case of a security vulnerability.
Installing Salt for development <installing-for-development>
and contributing to the project.
Salt-pack is an open-source package builder for most commonly used Linux platforms, for example: Redhat/CentOS and Debian/Ubuntu families, utilizing SaltStack states and execution modules to build Salt and a specified set of dependencies, from which a platform specific repository can be built.