Single-node installation

Overview

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

Note

As part of VMware’s initiative to remove problematic terminology, the term Salt master will be replaced with Salt controller in SaltStack Config and related products and documentation. This terminology update may take a few release cycles before it is fully complete.

As it runs, the SaltStack Config 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 master.
  • Applies the Salt states needed to install SaltStack Config.
  • Installs the required versions of PostgreSQL, Redis, and Python Setuptools on the server.

Warning

Do not use the single-node installer to upgrade SaltStack Config. Using the installer for upgrades could potentially destroy your original installation. Follow the upgrade instructions instead. See Upgrade from a previous version for more information.

Tip

SaltStack Config is powered by Salt. Consult these guides to ensure your environment is following best practices when implementing Salt in your infrastructure:

Package key IDs

The SaltStack Config 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.saltproject.io/py3/redhat/7/x86_64/latest/SALTSTACK-GPG-KEY.pub

Prerequisites

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

Danger

For a single-node installation, it is especially important to follow all the steps listed on the Install or upgrade Salt page. The exception is if you are installing SaltStack Config 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 master and minion.

    Note

    If both the Salt master service and minion service are installed, the script skips this step and proceeds with the setup of SaltStack Config.

    If either the Salt master service or the minion service 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
    • RaaS, also known as SaltStack Config

If you encounter an error while running the installer, refer to the Troubleshooting page 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 (masters, web-based interface users, remote systems calling the API (RaaS), 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.