Download and install the latest release of SaltStack.
This page contains instructions to download and install the latest release of SaltStack.
Bootstrap works across many platforms and is the easiest way to get started. If you cannot use Bootstrap or if you prefer packages, click the tab for your platform.
Latest release: 3001 (June 17, 2020)
ARCHIVE.REPO.SALTSTACK.COM
SEP 22 was accepted which means that all unsupported and CVE affected releases have been moved to https://archive.repo.saltstack.com. If you get 404 errors from your package manager, the release you were using probably moved there. Please consider upgrading to a supported version of Salt. Click here for more information.
UPGRADE FROM PYCRYPTO
For Salt releases before 3001, the PyCrypto library provided by your system packages is likely unmaintained and insecure. SaltStack strongly recommends upgrading to a more maintained library. See Hardening Salt for more info. Starting with Salt version 3001, either Pycryptodome, Pycryptodomex, or M2Crypto is installed as a dependency of Salt.
PYTHON 2.7 DEPRECATED
In light of Python 2.7 reaching its End of Life (EOL) on Jan 1st 2020, Python 2 has been deprecated and is not longer supported starting with the 3001 release.
Salt Bootstrap is a shell script that detects the target platform and selects the best installation method. (Supported Platforms)
Run these commands on the system that you want to use as the central management point.
curl -L https://bootstrap.saltstack.com -o install_salt.sh
sudo sh install_salt.sh -P -M -x python3Your Salt master can manage itself, so a Salt minion is installed along with the Salt master. If you do not want to install the minion, also pass the -N option.
Run these commands on each system that you want to manage using Salt.
curl -L https://bootstrap.saltstack.com -o install_salt.sh
sudo sh install_salt.sh -P -x python3Post-installation configuration
Installs the latest release. Updating installs the latest release even if it is a new major version.
wget -O - https://repo.saltstack.com/py3/debian/10/amd64/latest/SALTSTACK-GPG-KEY.pub | sudo apt-key add -wget -O - https://repo.saltstack.com/py3/debian/9/amd64/latest/SALTSTACK-GPG-KEY.pub | sudo apt-key add -/etc/apt/sources.list.d/saltstack.list:
deb http://repo.saltstack.com/py3/debian/10/amd64/latest buster maindeb http://repo.saltstack.com/py3/debian/9/amd64/latest stretch mainRun sudo apt-get update
sudo apt-get install salt-mastersudo apt-get install salt-minionsudo apt-get install salt-sshsudo apt-get install salt-syndicsudo apt-get install salt-cloudsudo apt-get install salt-apisudo systemctl restart salt-minionsudo systemctl restart salt-minionPost-installation configuration
Installs the latest release. Updating installs the latest minor release but not a new major version.
wget -O - https://repo.saltstack.com/py3/debian/10/amd64/3001/SALTSTACK-GPG-KEY.pub | sudo apt-key add -wget -O - https://repo.saltstack.com/py3/debian/9/amd64/3001/SALTSTACK-GPG-KEY.pub | sudo apt-key add -/etc/apt/sources.list.d/saltstack.list:
deb http://repo.saltstack.com/py3/debian/10/amd64/3001 buster maindeb http://repo.saltstack.com/py3/debian/9/amd64/3001 stretch mainRun sudo apt-get update
sudo apt-get install salt-mastersudo apt-get install salt-minionsudo apt-get install salt-sshsudo apt-get install salt-syndicsudo apt-get install salt-cloudsudo apt-get install salt-apisudo systemctl restart salt-minionsudo systemctl restart salt-minionPost-installation configuration
wget -O - https://repo.saltstack.com/py3/debian/10/amd64/archive/3001/SALTSTACK-GPG-KEY.pub | sudo apt-key add -wget -O - https://repo.saltstack.com/py3/debian/9/amd64/archive/3001/SALTSTACK-GPG-KEY.pub | sudo apt-key add -/etc/apt/sources.list.d/saltstack.list:
deb http://repo.saltstack.com/py3/debian/10/amd64/archive/3001 buster maindeb http://repo.saltstack.com/py3/debian/9/amd64/archive/3001 stretch mainRun sudo apt-get update
sudo apt-get install salt-mastersudo apt-get install salt-minionsudo apt-get install salt-sshsudo apt-get install salt-syndicsudo apt-get install salt-cloudsudo apt-get install salt-apisudo systemctl restart salt-minionsudo systemctl restart salt-minionPost-installation configuration
Installs the latest release. Updating installs the latest release even if it is a new major version.
sudo yum install https://repo.saltstack.com/py3/redhat/salt-py3-repo-latest.el8.noarch.rpmsudo yum install https://repo.saltstack.com/py3/redhat/salt-py3-repo-latest.el7.noarch.rpmRun sudo yum clean expire-cache
sudo yum install salt-mastersudo yum install salt-minionsudo yum install salt-sshsudo yum install salt-syndicsudo yum install salt-cloudsudo yum install salt-apisudo systemctl restart salt-minionsudo systemctl restart salt-minionPost-installation configuration
Installs the latest release. Updating installs the latest minor release but not a new major version.
sudo yum install https://repo.saltstack.com/py3/redhat/salt-py3-repo-3001.el8.noarch.rpmsudo yum install https://repo.saltstack.com/py3/redhat/salt-py3-repo-3001.el7.noarch.rpm Run sudo yum clean expire-cache
sudo yum install salt-mastersudo yum install salt-minionsudo yum install salt-sshsudo yum install salt-syndicsudo yum install salt-cloudsudo yum install salt-apisudo systemctl restart salt-minionsudo systemctl restart salt-minionPost-installation configuration
Installs a specific release. Updating doesn’t change the release that is installed.
Run the following commands to install the SaltStack repository and key:
sudo rpm --import https://repo.saltstack.com/py3/redhat/8/x86_64/archive/3001/SALTSTACK-GPG-KEY.pubsudo rpm --import https://repo.saltstack.com/py3/redhat/7/x86_64/archive/3001/SALTSTACK-GPG-KEY.pubSave the following file to /etc/yum.repos.d/saltstack.repo:
[saltstack-repo]
name=SaltStack repo for RHEL/CentOS 8 PY3
baseurl=https://repo.saltstack.com/py3/redhat/8/$basearch/archive/3001
enabled=1
gpgcheck=1
gpgkey=https://repo.saltstack.com/py3/redhat/8/$basearch/archive/3001/SALTSTACK-GPG-KEY.pub[saltstack-repo]
name=SaltStack repo for RHEL/CentOS 7 PY3
baseurl=https://repo.saltstack.com/py3/redhat/7/$basearch/archive/3001
enabled=1
gpgcheck=1
gpgkey=https://repo.saltstack.com/py3/redhat/7/$basearch/archive/3001/SALTSTACK-GPG-KEY.pubRun sudo yum clean expire-cache
sudo yum install salt-mastersudo yum install salt-minionsudo yum install salt-sshsudo yum install salt-syndicsudo yum install salt-cloudsudo yum install salt-apisudo systemctl restart salt-minionsudo systemctl restart salt-minionPost-installation configuration
Installs the latest release. Updating installs the latest release even if it is a new major version.
wget -O - https://repo.saltstack.com/py3/ubuntu/20.04/amd64/latest/SALTSTACK-GPG-KEY.pub | sudo apt-key add -wget -O - https://repo.saltstack.com/py3/ubuntu/18.04/amd64/latest/SALTSTACK-GPG-KEY.pub | sudo apt-key add -wget -O - https://repo.saltstack.com/py3/ubuntu/16.04/amd64/latest/SALTSTACK-GPG-KEY.pub | sudo apt-key add -/etc/apt/sources.list.d/saltstack.list:
deb http://repo.saltstack.com/py3/ubuntu/20.04/amd64/latest focal maindeb http://repo.saltstack.com/py3/ubuntu/18.04/amd64/latest bionic maindeb http://repo.saltstack.com/py3/ubuntu/16.04/amd64/latest xenial mainRun sudo apt-get update
sudo apt-get install salt-mastersudo apt-get install salt-minionsudo apt-get install salt-sshsudo apt-get install salt-syndicsudo apt-get install salt-cloudsudo apt-get install salt-apisudo systemctl restart salt-minionsudo systemctl restart salt-minionsudo systemctl restart salt-minionPost-installation configuration
Installs the latest release. Updating installs the latest minor release but not a new major version.
wget -O - https://repo.saltstack.com/py3/ubuntu/20.04/amd64/3001/SALTSTACK-GPG-KEY.pub | sudo apt-key add -wget -O - https://repo.saltstack.com/py3/ubuntu/18.04/amd64/3001/SALTSTACK-GPG-KEY.pub | sudo apt-key add -wget -O - https://repo.saltstack.com/py3/ubuntu/16.04/amd64/3001/SALTSTACK-GPG-KEY.pub | sudo apt-key add -/etc/apt/sources.list.d/saltstack.list:
deb http://repo.saltstack.com/py3/ubuntu/20.04/amd64/3001 focal maindeb http://repo.saltstack.com/py3/ubuntu/18.04/amd64/3001 bionic maindeb http://repo.saltstack.com/py3/ubuntu/16.04/amd64/3001 xenial mainRun sudo apt-get update
sudo apt-get install salt-mastersudo apt-get install salt-minionsudo apt-get install salt-sshsudo apt-get install salt-syndicsudo apt-get install salt-cloudsudo apt-get install salt-apisudo systemctl restart salt-minionsudo systemctl restart salt-minionsudo systemctl restart salt-minionPost-installation configuration
Installs a specific release. Updating doesn’t change the release that is installed.
wget -O - https://repo.saltstack.com/py3/ubuntu/20.04/amd64/archive/3001/SALTSTACK-GPG-KEY.pub | sudo apt-key add -wget -O - https://repo.saltstack.com/py3/ubuntu/18.04/amd64/archive/3001/SALTSTACK-GPG-KEY.pub | sudo apt-key add -wget -O - https://repo.saltstack.com/py3/ubuntu/16.04/amd64/archive/3001/SALTSTACK-GPG-KEY.pub | sudo apt-key add -/etc/apt/sources.list.d/saltstack.list:
deb http://repo.saltstack.com/py3/ubuntu/20.04/amd64/archive/3001 focal maindeb http://repo.saltstack.com/py3/ubuntu/18.04/amd64/archive/3001 bionic maindeb http://repo.saltstack.com/py3/ubuntu/16.04/amd64/archive/3001 xenial mainRun sudo apt-get update
sudo apt-get install salt-mastersudo apt-get install salt-minionsudo apt-get install salt-sshsudo apt-get install salt-syndicsudo apt-get install salt-cloudsudo apt-get install salt-apisudo systemctl restart salt-minionsudo systemctl restart salt-minionsudo systemctl restart salt-minionPost-installation configuration
Installs the latest version currently available from SUSE. (These packages are only a mirror from SUSE)
sudo zypper addrepo http://repo.saltstack.com/opensuse/SLE_11_SP4/systemsmanagement:saltstack:products.reposudo zypper addrepo http://repo.saltstack.com/opensuse/SLE_12/systemsmanagement:saltstack:products.reposudo zypper addrepo http://repo.saltstack.com/opensuse/SLE_12_SP1/systemsmanagement:saltstack:products.reposudo zypper addrepo http://repo.saltstack.com/opensuse/SLE_12_SP2/systemsmanagement:saltstack:products.reposudo zypper addrepo http://repo.saltstack.com/opensuse/SLE_12_SP3/systemsmanagement:saltstack:products.reposudo zypper addrepo http://repo.saltstack.com/opensuse/SLE_12_SP4/systemsmanagement:saltstack:products.reposudo zypper addrepo http://repo.saltstack.com/opensuse/SLE_15/systemsmanagement:saltstack:products.reposudo zypper addrepo http://repo.saltstack.com/opensuse/openSUSE_Leap_15.0/systemsmanagement:saltstack:products.reposudo zypper addrepo http://repo.saltstack.com/opensuse/openSUSE_Leap_15.1/systemsmanagement:saltstack:products.reposudo zypper addrepo http://repo.saltstack.com/opensuse/openSUSE_Leap_42.2/systemsmanagement:saltstack:products.reposudo zypper addrepo http://repo.saltstack.com/opensuse/openSUSE_Leap_42.3/systemsmanagement:saltstack:products.reposudo zypper addrepo http://repo.saltstack.com/opensuse/openSUSE_Tumbleweed/systemsmanagement:saltstack:products.repoRefresh the package list:
sudo zypper refreshsudo zypper install salt-mastersudo zypper install salt-minionsudo zypper install salt-sshsudo zypper install salt-syndicsudo zypper install salt-cloudsudo zypper install salt-apisudo zypper install salt-proxysudo systemctl restart salt-minionor
sudo service salt-minion restartPost-installation configuration
Installs the latest release. Updating installs the latest release even if it is a new major version.
Currently Salt 3000.3 is available for Fedora stable, however Salt 3001 will soon be available from the testing repo and is expected to migrate to stable soon.
sudo dnf install salt-mastersudo dnf install salt-minionsudo dnf install salt-sshsudo dnf install salt-syndicsudo dnf install salt-cloudsudo dnf install salt-apiPost-installation configuration
AMD64: Salt-Minion-3001-Py3-AMD64-Setup.exe | MD5 | SHA256
x86: Salt-Minion-3001-Py3-x86-Setup.exe | MD5 | SHA256
AMD64: Salt-Minion-3001-Py3-AMD64.msi | MD5 | SHA256
x86: Salt-Minion-3001-Py3-x86.msi | MD5 | SHA256
The installer can be run silently by providing the /S option at the command line. The options /master and /minion-name allow for configuring the master hostname and minion name, respectively. Here’s an example of running a silent installation from the command line:
Salt-Minion-3001-Py3-AMD64-Setup.exe /S /master=yoursaltmaster /minion-name=yourminionname
The installer can be run silently by providing the /quiet and /norestart option at the command line. The options MASTER and MINION_ID allow for configuring the master hostname and minion name, respectively. Here’s an example of running a silent installation from the command line:
msiexec /i Salt-Minion-3001-Py3-AMD64.msi /quiet /norestart MASTER=yoursaltmaster MINION_ID=yourminionname
Post-installation configuration
OS X Gatekeeper settings might prevent installation of the Salt package. If a warning appears during installation, open System Preferences > Security & Privacy > click Open Anyway
After the installation completes, run the following to configure the Salt minion ID, the Salt master location, and to start the required services.
sudo salt-config -i yourminionname -m yoursaltmasterOn OS X, the Salt minion configuration file is in the standard /etc/salt/minion location. To stop the Salt minion, run the following:
sudo launchctl stop com.saltstack.salt.minionTo start the Salt minion, run the following:
sudo launchctl start com.saltstack.salt.minionPost-installation configuration
Installs the latest release. Updating installs the latest release even if it is a new major version.
sudo yum install https://repo.saltstack.com/py3/amazon/salt-py3-amzn2-repo-latest.amzn2.noarch.rpmRun sudo yum clean expire-cache
sudo yum install salt-mastersudo yum install salt-minionsudo yum install salt-sshsudo yum install salt-syndicsudo yum install salt-cloudsudo yum install salt-apisudo service salt-minion restartPost-installation configuration
Installs the latest release. Updating installs the latest minor release but not a new major version.
sudo yum install https://repo.saltstack.com/py3/amazon/salt-py3-amzn2-repo-3001.amzn2.noarch.rpmRun sudo yum clean expire-cache
sudo yum install salt-mastersudo yum install salt-minionsudo yum install salt-sshsudo yum install salt-syndicsudo yum install salt-cloudsudo yum install salt-apisudo service salt-minion restart Post-installation configuration
Installs a specific release. Updating doesn’t change the release that is installed.
Run the following commands to install the SaltStack repository and key:
sudo rpm --import https://repo.saltstack.com/py3/amazon/2/x86_64/archive/3001/SALTSTACK-GPG-KEY.pubSave the following file to /etc/yum.repos.d/saltstack-amzn.repo:
[saltstack-amzn-repo]
name=SaltStack repo for Amazon Linux 2
baseurl=https://repo.saltstack.com/py3/amazon/2/$basearch/archive/3001
failovermethod=priority
priority=10
enabled=1
gpgcheck=1
gpgkey=https://repo.saltstack.com/py3/amazon/2/$basearch/archive/3001/SALTSTACK-GPG-KEY.pubRun sudo yum clean expire-cache
sudo yum install salt-mastersudo yum install salt-minionsudo yum install salt-sshsudo yum install salt-syndicsudo yum install salt-cloudsudo yum install salt-apisudo service salt-minion restart Post-installation configuration
Installs the latest release. Updating installs the latest release even if it is a new major version.
wget -O - https://repo.saltstack.com/py3/debian/10/armhf/latest/SALTSTACK-GPG-KEY.pub | sudo apt-key add -wget -O - https://repo.saltstack.com/py3/debian/9/armhf/latest/SALTSTACK-GPG-KEY.pub | sudo apt-key add -/etc/apt/sources.list.d/saltstack.list:
deb http://repo.saltstack.com/py3/debian/10/armhf/latest buster maindeb http://repo.saltstack.com/py3/debian/9/armhf/latest stretch mainRun sudo apt-get update
sudo apt-get install salt-mastersudo apt-get install salt-minionsudo apt-get install salt-sshsudo apt-get install salt-syndicsudo apt-get install salt-cloudsudo apt-get install salt-api(Upgrade only) Restart all upgraded services, for example:
sudo systemctl restart salt-minionPost-installation configuration
Installs the latest release. Updating installs the latest minor release but not a new major version.
wget -O - https://repo.saltstack.com/py3/debian/10/armhf/3001/SALTSTACK-GPG-KEY.pub | sudo apt-key add -wget -O - https://repo.saltstack.com/py3/debian/9/armhf/3001/SALTSTACK-GPG-KEY.pub | sudo apt-key add -/etc/apt/sources.list.d/saltstack.list:
deb http://repo.saltstack.com/py3/debian/10/armhf/3001 buster maindeb http://repo.saltstack.com/py3/debian/9/armhf/3001 stretch mainRun sudo apt-get update
sudo apt-get install salt-mastersudo apt-get install salt-minionsudo apt-get install salt-sshsudo apt-get install salt-syndicsudo apt-get install salt-cloudsudo apt-get install salt-api(Upgrade only) Restart all upgraded services, for example:
sudo systemctl restart salt-minionPost-installation configuration
Installs a specific release. Updating doesn’t change the release that is installed.
wget -O - https://repo.saltstack.com/py3/debian/10/armhf/archive/3001/SALTSTACK-GPG-KEY.pub | sudo apt-key add -wget -O - https://repo.saltstack.com/py3/debian/9/armhf/archive/3001/SALTSTACK-GPG-KEY.pub | sudo apt-key add -/etc/apt/sources.list.d/saltstack.list:
deb http://repo.saltstack.com/py3/debian/10/armhf/archive/3001 buster maindeb http://repo.saltstack.com/py3/debian/9/armhf/archive/3001 stretch mainRun sudo apt-get update
sudo apt-get install salt-mastersudo apt-get install salt-minionsudo apt-get install salt-sshsudo apt-get install salt-syndicsudo apt-get install salt-cloudsudo apt-get install salt-api(Upgrade only) Restart all upgraded services, for example:
sudo systemctl restart salt-minionPost-installation configuration
The SaltStack package repo supports mirroring using an s3 api compatible sync tool such as the aws-cli, or rclone. Note that we use a custom endpoint so we can switch buckets easily. Please sync no more than once per day.
rclone example:
RCLONE_CONFIG_S3_TYPE=s3 RCLONE_CONFIG_S3_PROVIDER=Other RCLONE_CONFIG_S3_ENV_AUTH=false RCLONE_CONFIG_S3_ENDPOINT=https://s3.repo.saltstack.com rclone sync --fast-list --use-server-modtime -v s3:s3/ ./fullrepo/Please make sure to include the --use-server-modtime flags as not doing so will drastically increase our costs.
If you can’t use the --use-server-modtime flag because your version of rclone is too old, you can use the -c flag:
RCLONE_CONFIG_S3_TYPE=s3 RCLONE_CONFIG_S3_PROVIDER=Other RCLONE_CONFIG_S3_ENV_AUTH=false RCLONE_CONFIG_S3_ENDPOINT=https://s3.repo.saltstack.com rclone sync --fast-list -c -v s3:s3/ ./fullrepo/aws-cli example:
aws --no-sign-request --endpoint-url https://s3.repo.saltstack.com s3 sync --delete --exact-timestamps s3://s3/ ./fullrepo/For syncing https://archive.repo.saltstack.com, the endpoint url is https://s3.archive.repo.saltstack.com. Everything else is the same.
The SaltStack package repo supports mirroring using rsync.
Rsync is being deprecated, please considier moving to an s3 sync method as it supports encryption. Support for rsync will be removed no earlier than June 30th 2020.
rsync rsync://rsync.repo.saltstack.comFor example:
rsync -vaH --numeric-ids --delete --delete-after --delay-updates rsync://rsync.repo.saltstack.com/saltstack_pkgrepo_full ./fullrepoFor installation on other platforms and alternative installation methods, see the SaltStack Installation Instructions.