Client Registration with Salt Bundle

The registration method with the Salt bundle is the recommended registration method as long as it covers your use case. This section explains the advantages and limitations of the current implementation. The Salt bundle is provided as the venv-salt-minion that consists of Salt, Python, and the Python modules Salt depends on. Bootstrapping with Web UI still requires Python to be installed on the client.

If you bootstrap new clients, registration with the Salt bundle is the default method. You can switch existing clients to the Salt bundle method. If you switch, the salt-minion package and its Python version and the Python modules will stay installed.

The Salt state util.mgr_switch_to_venv_minion is available to switch from salt-minion to venv-salt-minion. It is recommended to switch to venv-salt-minion in two steps to avoid trouble with shifting processes:

Procedure: Switching with util.mgr_switch_to_venv_minion state to venv-salt-minion
  1. Apply util.mgr_switch_to_venv_minion with no pillar specified first. This will result in the switch to venv-salt-minion with copying configuration files etc. It will not clean up the original salt-minion configurations and its packages.

  2. Apply util.mgr_switch_to_venv_minion with mgr_purge_non_venv_salt set to True to remove salt-minion and with mgr_purge_non_venv_salt_files set to True to remove all the files related to salt-minion. This second step repeats the first step, and then removes the old configuration files and the now obsolete salt-minion package.

On the other hand, it is also possible to avoid installing the Salt bundle and keep using salt-minion instead. In this case specify one of these options:

  • Execute mgr-bootstrap with --no-bundle option.

  • Set AVOID_VENV_SALT_MINION to 1 in the generated bootstrap script.

  • For bootstrap state set the mgr_avoid_venv_salt_minion pillar to True.