Install/Test a Salt Release Candidate

When it's time for a new feature release of Salt, follow the instructions below to install the latest release candidate of Salt, and try all the shiny new features! Be sure to report any bugs you find on Github.

Install using packages

Builds for a few platforms are available as part of the RC at: https://repo.saltproject.io/salt_rc/

The builds include the latest version of the operating system that is currently available. Older versions of operating systems will not get an RC release.

Note

Beginning with the 3005 (Phosphorus) release of Salt, the Salt Project is changing its packaging system to Tiamat. Any new operating systems added in 3005 will only have Tiamat packages. The Salt Project will phase out the old Salt package builds for currently supported operating systems by 3007. See What is Tiamat? for more information.

To install release candidate packages:

Follow the instructions for your operating system on https://repo.saltproject.io/, but insert salt_rc/ into the URL between the hostname and the remainder of the file path.

Tiamat packages

For RedHat, replace:

  • The <os_version> variable with number of the RedHat version

  • The <salt version & release number> variable with the Salt version and release

Note

Beginning with the release of RHEL 9, RedHat dropped support for SHA-1 and now only accepts SHA-256 public keys. For that reason, any release candidates for RedHat 9 and later need to import the SALTSTACK-GPG-KEY2.pub key instead of the standard key.

sudo rpm --import https://repo.saltproject.io/salt/py3/redhat/<os-version>/x86_64/minor/<salt version>/SALTSTACK-GPG-KEY.pub
baseurl=https://repo.saltproject.io/salt_rc/salt/py3/redhat/$releasever/$basearch/minor/<salt version and release number>

For example, for the 3005 release of RC 1-2:

sudo rpm --import https://repo.saltproject.io/salt/py3/redhat/9/x86_64/latest/3005/SALTSTACK-GPG-KEY2.pub
baseurl=https://repo.saltproject.io/salt_rc/salt/py3/redhat/$releasever/$basearch/minor/3005rc1-2

For Ubuntu, replace:

  • The <os_version> variable with number of the Ubuntu version

  • The <codename> variable for the Ubuntu release codename

  • The <salt version & release number> variable with the Salt version and release

deb https://repo.saltproject.io/salt_rc/salt/py3/ubuntu/<os_version>/amd64/minor/<salt version and release number> <codename> main

For example, for the 22.04 release of Ubuntu, codename Jammy Jellyfish and the 3005 release of RC 1-2:

deb https://repo.saltproject.io/salt_rc/salt/py3/ubuntu/22.04/amd64/minor/3005rc1-2 jammy main

For Debian, the syntax is identical to Ubuntu. For example, for the version 10 (Buster) release:

deb https://repo.saltproject.io/salt_rc/salt/py3/debian/10/amd64/minor/3005rc1-2 buster main

Classic packages

For RedHat:

baseurl=https://repo.saltproject.io/salt_rc/py3/redhat/$releasever/$basearch/

For Ubuntu, replace the <os_version> variable with number of the Ubuntu version and <codename> for the release codename.

deb https://repo.saltproject.io/salt_rc/py3/ubuntu/<os_version>/amd64 <codename> main

For example, for the 20.04 release of Ubuntu, codename Focal Fosse:

deb https://repo.saltproject.io/salt_rc/py3/ubuntu/20.04/amd64 focal main

For Debian, the syntax is identical to Ubuntu. For example, for the version 10 (Buster) release:

deb https://repo.saltproject.io/salt_rc/py3/debian/10/amd64 buster main

Install using bootstrap

You can install a release candidate of Salt using Salt Bootstrap:

For example for the 3003rc1 release:

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

If you want to also install a master using Salt Bootstrap, use the -M flag:

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

If you want to install only a master and not a minion using Salt Bootstrap, use the -M and -N flags:

curl -o install_salt.sh -L https://bootstrap.saltproject.io
sudo sh install_salt.sh -P -M -N -x python3 git v3003rc1

Install using PyPI

Installing from the source archive on PyPI is fairly straightforward.

Note

On RHEL derivatives you also need to install the epel-release package first.

sudo yum install epel-release

First install the build dependencies.

  • Debian-based systems:

    sudo apt-get install python-pip python-dev gcc g++
    
  • RedHat-based systems:

    sudo yum install python-pip python-devel gcc gcc-c++
    
  • other systems:

    You will need to install:

    • pip

    • python header libraries

    • C and C++ compilers

Then install salt using the following command:

sudo pip install salt==$rc_tag_version

For example for the 3005rc1 release:

sudo pip install salt==3005rc1