New in version 2015.8.0.
Salt Engines are long-running, external system processes that leverage Salt.
__opts__
, __salt__
, and __runners__
).Salt engines enhance and replace the external 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.
engines:
- logstash:
host: log.my_network.com
port: 5959
proto: tcp
New in version 3000.
Multiple copies of a particular Salt engine can be configured by including the engine_module
parameter in the engine configuration.
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:
engines_dirs:
- /home/bob/engines
An example Salt engine, https://github.com/saltstack/salt/blob/master/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.