Class: Proxy::RemoteExecution::Ssh::Plugin

Inherits:
Plugin
  • Object
show all
Defined in:
lib/smart_proxy_remote_execution_ssh/plugin.rb

Constant Summary collapse

SSH_LOG_LEVELS =
%w[debug info error fatal].freeze
MODES =
%i[ssh ssh-async pull pull-mqtt].freeze
SOCKET_PATH_MAX_LENGTH =

Unix domain socket path length is limited to 104 (on some platforms) characters Socket path is composed of custom path (max 49 characters) + job id (37 characters) + offset(17 characters) + null terminator

49

Class Method Summary collapse

Class Method Details

.runner_classObject



61
62
63
64
65
66
67
68
69
# File 'lib/smart_proxy_remote_execution_ssh/plugin.rb', line 61

def self.runner_class
  @runner_class ||= if simulate?
                      Runners::FakeScriptRunner
                    elsif settings.mode == :'ssh-async'
                      Runners::PollingScriptRunner
                    else
                      Runners::ScriptRunner
                    end
end

.simulate?Boolean

Returns:

  • (Boolean)


57
58
59
# File 'lib/smart_proxy_remote_execution_ssh/plugin.rb', line 57

def self.simulate?
  @simulate ||= %w[yes true 1].include? ENV.fetch('REX_SIMULATE', '').downcase
end