Use this information to optimize your SaltStack Config system performance.

Tuning processes on your RaaS node

When the RaaS service starts, it creates two types of processes:

  • Tornado processes - Allows connections from Salt masters and web browsers
  • Celery processes - Background workers

By default, the RaaS service sets the count for each process type to half the number of CPU cores.

In most cases this is optimal, as the RaaS node is dedicated to this task.

To deploy RaaS on a node that supports additional services, you can override the default behavior by adding the following to your RaaS service configuration file located at /etc/raas/raas:

num_processes:8
background_workers:
  concurrency:8

The following guides might be helpful for tuning:

Benchmarking guide

For help with benchmarking the performance of SaltStack Config, see Benchmarking Guide for SaltStack Config.

Tuning PostgreSQL

For a PostgreSQL tuning guide, see Tuning your PostgreSQL Server for SaltStack Config.

Generating default RaaS configuration files

SaltStack Config configuration files are used during initial setup to define fundamental settings to allow the API (RaaS) to communicate with the database and connected Salt masters.

You can customize your SaltStack Configdeployment during initial setup, or any time you want to improve performance, by modifying your RaaS or Salt master configuration files.

You can generate the default configuration files as needed. For example, you might find it useful to regenerate these files when upgrading SaltStack Config to take advantage of the latest features.

To generate the default RaaS configuration file, run this command on the RaaS server:

raas genconfig /path/to/default-raas-cfg.conf
Note:

The last argument of this command indicates where to save the generated file. Do not use the file path /etc/raas/raas, as it overwrites the current RaaS configuration file. Only use this file path if you have do not need to preserve an existing current RaaS configuration file.

The SaltStack Config configuration file is divided into the following sections:

  • The API (RaaS)
  • Network configuration
  • Salt masters and the Salt Master Plugin

The API (RaaS) settings are in the /etc/raas/raas configuration file. The following is a subset of frequently-used configuration settings.

Required settings

Setting Description
customer_id Your customer ID, or sample UUID.
sql

username, password, host, and port can be configured to match your database configuration. For more on storing credentials securely, see Securing credentials in your SaltStack Config configuration.

Other important settings

Setting Description
tls_crt Path to the crt file for encrypted communication. If this certificate is self-signed and should not be validated using a known CA, be sure to set the sseapi_validate_cert option to False in the Salt master configuration file.
tls_key Certificate key file.
port Port that is used for connections from the SaltStack Config user interface and Salt masters.
audit Include the API (RaaS) information in the Debug report for administrator accounts. If valid_logins is set to True, this information is also included in bug reports that are generated by non-admin users.
raas_presence_expiration Seconds of inactivity before a minion is considered not present. Default is 3600 seconds (one hour).

Network configuration

Communication with the API (RaaS) uses REST calls over HTTP(s) on standard web ports (80 or 443). Connections to RaaS are initiated by the SaltStack Config user interface or by the Salt master, so incoming ports do not need to be configured on those systems.