Salt Project Package Repo

Download and install the 3001 release of Salt.


These instructions are for an older release of Salt. You might want to view instructions for the latest release instead.

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.6 (February 25, 2021)

SALT CVE UPDATES

Salt Project has identified CVEs that need your attention. For more information, see the following security announcements:

For further information on CVE fixes, they can be referenced in the changelogs:

Important: If running 3001.5, an important bug fix has been released. Salt Project advises users to upgrade to 3001.6.

BETA TIAMAT PACKAGES

  • README Instructions for Tiamat builds of Salt.
  • SEP 26 Tiamat SEP.

ARCHIVE.REPO.SALTPROJECT.IO

SEP 22 was accepted which means that all unsupported and CVE affected releases have been moved to https://archive.repo.saltproject.io. 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. Salt Project 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 no longer supported starting with the 3001 release.

For Salt 3000, only the following OS targets have Python 2 packages available:

  • RHEL/CentOS 7
  • Amazon Linux 2
  • Ubuntu 16.04
  • Ubuntu 18.04
  • Debian 9
  • Raspbian 9




Bootstrap - Multi-Platform

Salt Bootstrap is a shell script that detects the target platform and selects the best installation method. (Supported Platforms)

On the Salt master

Run these commands on the system that you want to use as the central management point.

curl -fsSL https://bootstrap.saltproject.io -o install_salt.sh
sudo sh install_salt.sh -P -M -x python3

Your 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.

On each Salt minion

Run these commands on each system that you want to manage using Salt.

curl -fsSL https://bootstrap.saltproject.io -o install_salt.sh
sudo sh install_salt.sh -P -x python3

Post-installation configuration


Debian 10 (buster) PY3

Debian 9 (stretch) PY3

Installs the latest release. Updating installs the latest minor release but not a new major version.

  1. Run the following commands to import the SaltStack repository key, and to create /etc/apt/sources.list.d/salt.list:
    # Download key
    sudo curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/debian/10/amd64/3001/salt-archive-keyring.gpg
    # Create apt sources list file
    echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg] https://repo.saltproject.io/py3/debian/10/amd64/3001 buster main" | sudo tee /etc/apt/sources.list.d/salt.list
    # Download key
    sudo curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/debian/9/amd64/3001/salt-archive-keyring.gpg
    # Create apt sources list file
    echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg] https://repo.saltproject.io/py3/debian/9/amd64/3001 stretch main" | sudo tee /etc/apt/sources.list.d/salt.list

    Debian 9 also requires apt-transport-https due to the repo being an https endpoint. This is no longer required with Debian 10 and later.

    sudo apt-get update
    sudo apt-get install apt-transport-https
  2. Run sudo apt-get update

  3. Install the salt-minion, salt-master, or other Salt components:
    • sudo apt-get install salt-master
    • sudo apt-get install salt-minion
    • sudo apt-get install salt-ssh
    • sudo apt-get install salt-syndic
    • sudo apt-get install salt-cloud
    • sudo apt-get install salt-api
  4. (Upgrade only) Restart all upgraded services, for example:
    sudo systemctl restart salt-minion
    sudo systemctl restart salt-minion

Post-installation configuration


Installs a specific release. Updating doesn’t change the release that is installed.

  1. Run the following commands to import the SaltStack repository key, and to create /etc/apt/sources.list.d/salt.list:
    # Download key
    sudo curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/debian/10/amd64/archive/3001.6/salt-archive-keyring.gpg
    # Create apt sources list file
    echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg] https://repo.saltproject.io/py3/debian/10/amd64/archive/3001.6 buster main" | sudo tee /etc/apt/sources.list.d/salt.list
    # Download key
    sudo curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/debian/9/amd64/archive/3001.6/salt-archive-keyring.gpg
    # Create apt sources list file
    echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg] https://repo.saltproject.io/py3/debian/9/amd64/archive/3001.6 stretch main" | sudo tee /etc/apt/sources.list.d/salt.list

    Debian 9 also requires apt-transport-https due to the repo being an https endpoint. This is no longer required with Debian 10 and later.

    sudo apt-get update
    sudo apt-get install apt-transport-https
  2. Run sudo apt-get update

  3. Install the salt-minion, salt-master, or other Salt components:
    • sudo apt-get install salt-master
    • sudo apt-get install salt-minion
    • sudo apt-get install salt-ssh
    • sudo apt-get install salt-syndic
    • sudo apt-get install salt-cloud
    • sudo apt-get install salt-api
  4. (Upgrade only) Restart all upgraded services, for example:
    sudo systemctl restart salt-minion
    sudo systemctl restart salt-minion

Post-installation configuration


Redhat / CentOS 8 PY3

Redhat / CentOS 7 PY3

Installs the latest release. Updating installs the latest minor release but not a new major version.

RHEL 6 Packages

End of Life Support for RHEL 6 ended in November 2020. As a result, 2019.2.7 and 3000.5 were the last Salt releases for which RHEL 6 packages were created. The packages are only retrievable via the archive.

  1. Run the following commands to install the SaltStack repository and key:
    sudo rpm --import https://repo.saltproject.io/py3/redhat/8/x86_64/3001/SALTSTACK-GPG-KEY.pub
    curl -fsSL https://repo.saltproject.io/py3/redhat/8/x86_64/3001.repo | sudo tee /etc/yum.repos.d/salt.repo
    sudo rpm --import https://repo.saltproject.io/py3/redhat/7/x86_64/3001/SALTSTACK-GPG-KEY.pub
    curl -fsSL https://repo.saltproject.io/py3/redhat/7/x86_64/3001.repo | sudo tee /etc/yum.repos.d/salt.repo
  2. Run sudo yum clean expire-cache

  3. Install the salt-minion, salt-master, or other Salt components:
    • sudo yum install salt-master
    • sudo yum install salt-minion
    • sudo yum install salt-ssh
    • sudo yum install salt-syndic
    • sudo yum install salt-cloud
    • sudo yum install salt-api
  4. (Upgrade only) Restart all upgraded services, for example:
    sudo systemctl restart salt-minion
    sudo systemctl restart salt-minion

Post-installation configuration


Installs a specific release. Updating doesn’t change the release that is installed.

  1. Run the following commands to install the SaltStack repository and key:

    sudo rpm --import https://repo.saltproject.io/py3/redhat/8/x86_64/archive/3001.6/SALTSTACK-GPG-KEY.pub
    curl -fsSL https://repo.saltproject.io/py3/redhat/8/x86_64/archive/3001.6.repo | sudo tee /etc/yum.repos.d/salt.repo
    sudo rpm --import https://repo.saltproject.io/py3/redhat/7/x86_64/archive/3001.6/SALTSTACK-GPG-KEY.pub
    curl -fsSL https://repo.saltproject.io/py3/redhat/7/x86_64/archive/3001.6.repo | sudo tee /etc/yum.repos.d/salt.repo
  2. Run sudo yum clean expire-cache

  3. Install the salt-minion, salt-master, or other Salt components:
    • sudo yum install salt-master
    • sudo yum install salt-minion
    • sudo yum install salt-ssh
    • sudo yum install salt-syndic
    • sudo yum install salt-cloud
    • sudo yum install salt-api
  4. (Upgrade only) Restart all upgraded services, for example:
    sudo systemctl restart salt-minion
    sudo systemctl restart salt-minion

Post-installation configuration


Ubuntu 20 (focal) PY3

Ubuntu 18 (bionic) PY3

Ubuntu 16 (xenial) PY3

Installs the latest release. Updating installs the latest minor release but not a new major version.

  1. Run the following commands to import the SaltStack repository key, and to create /etc/apt/sources.list.d/salt.list:
    # Download key
    sudo curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/ubuntu/20.04/amd64/3001/salt-archive-keyring.gpg
    # Create apt sources list file
    echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg] https://repo.saltproject.io/py3/ubuntu/20.04/amd64/3001 focal main" | sudo tee /etc/apt/sources.list.d/salt.list
    # Download key
    sudo curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/ubuntu/18.04/amd64/3001/salt-archive-keyring.gpg
    # Create apt sources list file
    echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg] https://repo.saltproject.io/py3/ubuntu/18.04/amd64/3001 bionic main" | sudo tee /etc/apt/sources.list.d/salt.list
    # Download key
    sudo curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/ubuntu/16.04/amd64/3001/salt-archive-keyring.gpg
    # Create apt sources list file
    echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg] https://repo.saltproject.io/py3/ubuntu/16.04/amd64/3001 xenial main" | sudo tee /etc/apt/sources.list.d/salt.list

    Ubuntu 16.04 also requires apt-transport-https due to the repo being an https endpoint. This is no longer required with Ubuntu 18.04 and later.

    sudo apt-get update
    sudo apt-get install apt-transport-https
  2. Run sudo apt-get update

  3. Install the salt-minion, salt-master, or other Salt components:
    • sudo apt-get install salt-master
    • sudo apt-get install salt-minion
    • sudo apt-get install salt-ssh
    • sudo apt-get install salt-syndic
    • sudo apt-get install salt-cloud
    • sudo apt-get install salt-api
  4. (Upgrade only) Restart all upgraded services, for example:
    sudo systemctl restart salt-minion
    sudo systemctl restart salt-minion
    sudo systemctl restart salt-minion

Post-installation configuration


Installs a specific release. Updating doesn’t change the release that is installed.

  1. Run the following commands to import the SaltStack repository key, and to create /etc/apt/sources.list.d/salt.list:
    # Download key
    sudo curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/ubuntu/20.04/amd64/archive/3001.6/salt-archive-keyring.gpg
    # Create apt sources list file
    echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg] https://repo.saltproject.io/py3/ubuntu/20.04/amd64/archive/3001.6 focal main" | sudo tee /etc/apt/sources.list.d/salt.list
    # Download key
    sudo curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/ubuntu/18.04/amd64/archive/3001.6/salt-archive-keyring.gpg
    # Create apt sources list file
    echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg] https://repo.saltproject.io/py3/ubuntu/18.04/amd64/archive/3001.6 bionic main" | sudo tee /etc/apt/sources.list.d/salt.list
    # Download key
    sudo curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/ubuntu/16.04/amd64/archive/3001.6/salt-archive-keyring.gpg
    # Create apt sources list file
    echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg] https://repo.saltproject.io/py3/ubuntu/16.04/amd64/archive/3001.6 xenial main" | sudo tee /etc/apt/sources.list.d/salt.list

    Ubuntu 16.04 also requires apt-transport-https due to the repo being an https endpoint. This is no longer required with Ubuntu 18.04 and later.

    sudo apt-get update
    sudo apt-get install apt-transport-https
  2. Run sudo apt-get update

  3. Install the salt-minion, salt-master, or other Salt components:
    • sudo apt-get install salt-master
    • sudo apt-get install salt-minion
    • sudo apt-get install salt-ssh
    • sudo apt-get install salt-syndic
    • sudo apt-get install salt-cloud
    • sudo apt-get install salt-api
  4. (Upgrade only) Restart all upgraded services, for example:
    sudo systemctl restart salt-minion
    sudo systemctl restart salt-minion
    sudo systemctl restart salt-minion

Post-installation configuration


SLES 12 SP4

SLES 15

openSUSE Leap 15.2

openSUSE Tumbleweed

SUSE hosts packages in their official repositories for openSUSE and SLES systems. To see what Salt packages are available for a specific SUSE OS, such as latest releases that may be labeled as Experimental, see their Salt landing page:

The following commands install the latest official version currently available from SUSE, as referenced in the above package link.

  1. Refresh the package list:

    sudo zypper refresh
  2. Packages are available in the standard SUSE repositories. Install the salt-minion, salt-master, or other Salt components:
    • sudo zypper install salt-master
    • sudo zypper install salt-minion
    • sudo zypper install salt-ssh
    • sudo zypper install salt-syndic
    • sudo zypper install salt-cloud
    • sudo zypper install salt-api
    • sudo zypper install salt-proxy
  3. (Upgrade only) Restart all upgraded services, for example:
    sudo systemctl restart salt-minion

    or

    sudo service salt-minion restart

Post-installation configuration


Fedora 31

Fedora 32

The 3001 branch for Fedora will no longer receive updates since Fedora only receives the latest updates for packages. The latest salt branch will continue to receive updates for Fedora going forward.

  1. Packages are available in the standard Fedora repositories. Install the salt-minion, salt-master, or other Salt components:
    • sudo dnf install salt-master
    • sudo dnf install salt-minion
    • sudo dnf install salt-ssh
    • sudo dnf install salt-syndic
    • sudo dnf install salt-cloud
    • sudo dnf install salt-api

Post-installation configuration


Windows PY3

Windows PY3 MSI

Installation executables:

Silent Installation Options

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.6-Py3-AMD64-Setup.exe /S /master=yoursaltmaster /minion-name=yourminionname

Silent Installation Options

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.6-Py3-AMD64.msi /quiet /norestart MASTER=yoursaltmaster MINION_ID=yourminionname

Post-installation configuration


macOS PY3

Installation executables:

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

Initial Configuration

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 yoursaltmaster

Start and Stop the Minion Service

On 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.minion

To start the Salt minion, run the following:

sudo launchctl start com.saltstack.salt.minion

Post-installation configuration


Amazon Linux 2 PY3

Installs the latest release. Updating installs the latest minor release but not a new major version.

Amazon Linux Packages

End of Life Support for Amazon Linux ended in December 2020. As a result, 2019.2.8 and 3000.6 were the last Salt releases for which Amazon Linux packages were created. The packages are only retrievable via the archive.

Amazon Linux 2 will continue to be supported.

  1. Run the following commands to install the SaltStack repository and key:
    sudo rpm --import https://repo.saltproject.io/py3/amazon/2/x86_64/3001/SALTSTACK-GPG-KEY.pub
    curl -fsSL https://repo.saltproject.io/py3/amazon/2/x86_64/3001.repo | sudo tee /etc/yum.repos.d/salt-amzn.repo
  2. Run sudo yum clean expire-cache

  3. Install the salt-minion, salt-master, or other Salt components:
    • sudo yum install salt-master
    • sudo yum install salt-minion
    • sudo yum install salt-ssh
    • sudo yum install salt-syndic
    • sudo yum install salt-cloud
    • sudo yum install salt-api
  4. (Upgrade only) Restart all upgraded services, for example:
    sudo service salt-minion restart 

Post-installation configuration


Installs a specific release. Updating doesn’t change the release that is installed.

  1. Run the following commands to install the SaltStack repository and key:

    sudo rpm --import https://repo.saltproject.io/py3/amazon/2/x86_64/archive/3001.6/SALTSTACK-GPG-KEY.pub
    curl -fsSL https://repo.saltproject.io/py3/amazon/2/x86_64/archive/3001.6.repo | sudo tee /etc/yum.repos.d/salt-amzn.repo
  2. Run sudo yum clean expire-cache

  3. Install the salt-minion, salt-master, or other Salt components:
    • sudo yum install salt-master
    • sudo yum install salt-minion
    • sudo yum install salt-ssh
    • sudo yum install salt-syndic
    • sudo yum install salt-cloud
    • sudo yum install salt-api
  4. (Upgrade only) Restart all upgraded services, for example:
    sudo service salt-minion restart 

Post-installation configuration


Raspbian 10 (buster) PY3

Raspbian 9 (stretch) PY3

Installs the latest release. Updating installs the latest minor release but not a new major version.

Raspbian 8 Packages

End of Life Support for Raspbian 8 ended in June 2020. As a result, 2019.2.7, 3000.5 are the last Salt releases for which Raspbian 8 packages were created. The packages are only retrievable via the archive.

  1. Run the following commands to import the SaltStack repository key, and to create /etc/apt/sources.list.d/salt.list:
    # Download key
    sudo curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/debian/10/armhf/3001/salt-archive-keyring.gpg
    # Create apt sources list file
    echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg] https://repo.saltproject.io/py3/debian/10/armhf/3001 buster main" | sudo tee /etc/apt/sources.list.d/salt.list
    # Download key
    sudo curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/debian/9/armhf/3001/salt-archive-keyring.gpg
    # Create apt sources list file
    echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg] https://repo.saltproject.io/py3/debian/9/armhf/3001 stretch main" | sudo tee /etc/apt/sources.list.d/salt.list

    Raspbian 9 also requires apt-transport-https due to the repo being an https endpoint. This is no longer required with Raspbian 10 and later.

    sudo apt-get update
    sudo apt-get install apt-transport-https
  2. Run sudo apt-get update

  3. Install the salt-minion, salt-master, or other Salt components:
    • sudo apt-get install salt-master
    • sudo apt-get install salt-minion
    • sudo apt-get install salt-ssh
    • sudo apt-get install salt-syndic
    • sudo apt-get install salt-cloud
    • sudo apt-get install salt-api
  4. (Upgrade only) Restart all upgraded services, for example:

    sudo systemctl restart salt-minion

Post-installation configuration


Installs a specific release. Updating doesn’t change the release that is installed.

  1. Run the following commands to import the SaltStack repository key, and to create /etc/apt/sources.list.d/salt.list:
    # Download key
    sudo curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/debian/10/armhf/archive/3001.6/salt-archive-keyring.gpg
    # Create apt sources list file
    echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg] https://repo.saltproject.io/py3/debian/10/armhf/archive/3001.6 buster main" | sudo tee /etc/apt/sources.list.d/salt.list
    # Download key
    sudo curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/debian/9/armhf/archive/3001.6/salt-archive-keyring.gpg
    # Create apt sources list file
    echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg] https://repo.saltproject.io/py3/debian/9/armhf/archive/3001.6 stretch main" | sudo tee /etc/apt/sources.list.d/salt.list

    Raspbian 9 also requires apt-transport-https due to the repo being an https endpoint. This is no longer required with Raspbian 10 and later.

    sudo apt-get update
    sudo apt-get install apt-transport-https
  2. Run sudo apt-get update

  3. Install the salt-minion, salt-master, or other Salt components:
    • sudo apt-get install salt-master
    • sudo apt-get install salt-minion
    • sudo apt-get install salt-ssh
    • sudo apt-get install salt-syndic
    • sudo apt-get install salt-cloud
    • sudo apt-get install salt-api
  4. (Upgrade only) Restart all upgraded services, for example:

    sudo systemctl restart salt-minion

Post-installation configuration


Create a Local Mirror of the Salt Project Package Repo

The Salt Project 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.saltproject.io 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.saltproject.io rclone sync --fast-list -c -v s3:s3/ ./fullrepo/

If you want to exclude the redhat version symlinks to save space, you can use an exclude:

RCLONE_CONFIG_S3_TYPE=s3 RCLONE_CONFIG_S3_PROVIDER=Other RCLONE_CONFIG_S3_ENV_AUTH=false RCLONE_CONFIG_S3_ENDPOINT=https://s3.repo.saltproject.io rclone sync --fast-list --use-server-modtime -v --exclude '**/redhat/???*/**' --delete-excluded s3:s3/ ./fullrepo/

aws-cli example:

aws --no-sign-request --endpoint-url https://s3.repo.saltproject.io s3 sync --delete --exact-timestamps s3://s3/ ./fullrepo/

For syncing https://archive.repo.saltproject.io, the endpoint url is https://s3.archive.repo.saltproject.io. Everything else is the same.

Other Platforms

For installation on other platforms and alternative installation methods, see the Salt Installation Instructions.