Single-node installation

Overview

This topic explains how to install SaltStack Enterprise on a single node (server) using the SaltStack Enterprise installer. After installation, a Salt Master, SaltStack Enterprise, a Redis database, and a PostgreSQL database all run on this same node.

As it runs, the SaltStack Enterprise installer:

  • Installs Python 3.6 on the node (if it wasn’t previously installed).
  • Installs Salt and its necessary dependencies (if it wasn’t previously installed).
  • Makes this server a Salt Master.
  • Applies the Salt states needed to install SaltStack Enterprise.
  • Installs the required versions of PostgreSQL, Redis, PyOpenSSL, and Python Setuptools on the server.

Package key IDs

The SaltStack Enterprise installer supports situations where target machines might not be connected to the internet. In addition, some machines might be configured to validate RPM package signatures, but might not be able to connect to the Internet to automatically retrieve the correct public keys.

These keys are included in the installer .zip file for easy import on such machines. However, we strongly recommend validating that the keys provided by SaltStack match the official ones. For specific instructions, see Verify the installation files.

The key IDs are as follows, along with the canonical location of each:

Key Name Key ID Location
Fedora EPEL 352C64E5 https://getfedora.org/static/keys/352C64E5.txt
IUS Community Project 9CD4953F https://dl.iuscommunity.org/pub/IUS-COMMUNITY-GPG-KEY
PostgreSQL Global Dev Group 442DF0F8 https://download.postgresql.org/pub/repos/yum/RPM-GPG-KEY-PGDG-96
SaltStack Packaging Team DE57BFBE https://repo.saltstack.com/yum/redhat/7/x86_64/3000/SALTSTACK-GPG-KEY.pub

Prerequisites

Before you begin the installation process, ensure you have read and completed the steps in all pre-installation topics:

Danger

For a single-node installation, it is especially important to follow all the steps listed in the Install or upgrade Salt topic. The exception is if you are installing SaltStack Enterprise in an air-gapped environment. For more information, see Do you need to install Salt prior to installation?.

Run installation script

After completing the steps listed in the previous sections, you can now run the installer on your node:

  1. In the terminal, run the command:

    sudo ./setup_single_node.sh
    
  2. As the script runs, verify that your terminal displays the message:

    Installing SaltStack Enterprise...
    

    While installing, the terminal may display this message for several minutes.

    As this script runs, it installs the latest stable version of Python and Salt if they have not already been installed. It also configures this node as a Salt Master and Salt Minion.

    Note

    If both the Salt Master and Salt Minion are installed, the script skips this step and proceeds with the setup of SaltStack Enterprise.

    If either the Salt Master or the Salt Minion packages are installed, but not both, the script will terminate. The script terminates as a safeguard to prevent the user from accidentally disrupting an existing installation.

    After installing Python and Salt, the script installs:

    • A PostgreSQL database
    • A Redis database
    • The Enterprise API (also sometimes referred to as RaaS)

If you encounter an error while running the installer, refer to the Troubleshooting topic or Contact Support.

Firewall permissions

For single-node installations:

  • The setup_single_node.sh script on the installer does not modify firewall rules.
  • Ensure that access is allowed to port 443 in your firewall rules for all appropriate systems (Salt Masters, web-based interface users, remote systems calling the Enterprise API, etc).

Next steps

Once the single-node installation process is complete, you must complete several post-installation steps:

The first post-installation step is to install the license key. To begin the next post-installation step, see Install the license key.