Read helpful information and get links to articles you can use as you try to optimize yoiur SaltStack Config system.
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 should be dedicated to this task.
If you need 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
The last argument of the above command indicates where to save the generated file. You should not use the file path /etc/raas/raas
, as this will overwrite the current RaaS configuration file. Only use this file path if you have no need to preserve an existing current RaaS configuration file.
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 |
|
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.