doc/topics/engines/index.rst
.. _engines:
.. versionadded:: 2015.8.0
Salt Engines are long-running, external system processes that leverage Salt.
__opts__, __salt__, and __runners__).Salt engines enhance and replace the :ref:external processes <ext-processes> functionality.
Salt engines are configured under an engines top-level section in your Salt master or Salt minion configuration. Provide a list of engines and parameters under this section.
.. code-block:: yaml
engines: - logstash: host: log.my_network.com port: 5959 proto: tcp
.. versionadded:: 3000
Multiple copies of a particular Salt engine can be configured by including the engine_module parameter in the engine configuration.
.. code-block:: yaml
engines: - production_logstash: host: production_log.my_network.com port: 5959 proto: tcp engine_module: logstash - develop_logstash: host: develop_log.my_network.com port: 5959 proto: tcp engine_module: logstash
Salt engines must be in the Salt path, or you can add the engines_dirs option in your Salt master configuration with a list of directories under which Salt attempts to find Salt engines. This option should be formatted as a list of directories to search, such as:
.. code-block:: yaml
engines_dirs:
- /home/bob/engines
An example Salt engine, :blob:salt/engines/test.py, is available in the Salt source. To develop an engine, the only requirement is that your module implement the start() function.