Skip to content

Latest commit

 

History

History
37 lines (31 loc) · 1.77 KB

File metadata and controls

37 lines (31 loc) · 1.77 KB

Transport modes for remote execution

You can configure {Project} to use push-based (SSH) or pull-based (MQTT) transport for remote job execution. Each {SmartProxy} uses one mode. Choose push for slightly better scalability in larger deployments or pull if your organization restricts the ports needed for SSH.

Push-based transport

On {SmartProxies} in ssh mode, remote execution uses the SSH service to transport job details. This is the default transport mode. The SSH service must be enabled and active on the target hosts. The remote execution {SmartProxy} must have access to the SSH port on the target hosts. Unless you have a different setting, the standard SSH port is 22.

This transport mode supports both Script and Ansible providers.

Pull-based transport

On {SmartProxies} in pull-mqtt mode, remote execution uses Message Queueing Telemetry Transport (MQTT) to initiate the job execution it receives from {ProjectServer}. The host subscribes to the MQTT broker on {SmartProxy} for job notifications by using the yggdrasil pull client. After the host receives a notification from the MQTT broker, it pulls job details from {SmartProxy} over HTTPS, runs the job, and reports results back to {SmartProxy}.

This transport mode supports the Script provider only.

To use the pull-mqtt mode, you must enable it on {SmartProxyServer} and configure the pull client on hosts.

Note

If your {SmartProxy} already uses the pull-mqtt mode and you want to switch back to the ssh mode, run this {foreman-installer} command:

# {foreman-installer} --foreman-proxy-plugin-remote-execution-script-mode ssh