Module: Proxy::RemoteExecution::Ssh
- Defined in:
- lib/smart_proxy_remote_execution_ssh/version.rb,
lib/smart_proxy_remote_execution_ssh/dispatcher.rb,
lib/smart_proxy_remote_execution_ssh/log_filter.rb,
lib/smart_proxy_remote_execution_ssh/actions/run_script.rb,
lib/smart_proxy_remote_execution_ssh/runners.rb,
lib/smart_proxy_remote_execution_ssh/plugin.rb,
lib/smart_proxy_remote_execution_ssh/api.rb,
lib/smart_proxy_remote_execution_ssh.rb
Defined Under Namespace
Modules: Actions, Runners
Classes: Api, Dispatcher, LogFilter, Plugin
Constant Summary
collapse
- VERSION =
'0.4.0'
Class Method Summary
collapse
Class Method Details
.private_key_file ⇒ Object
27
28
29
|
# File 'lib/smart_proxy_remote_execution_ssh.rb', line 27
def private_key_file
File.expand_path(Plugin.settings.ssh_identity_key_file)
end
|
.public_key_file ⇒ Object
31
32
33
|
# File 'lib/smart_proxy_remote_execution_ssh.rb', line 31
def public_key_file
File.expand_path("#{private_key_file}.pub")
end
|
.validate! ⇒ Object
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# File 'lib/smart_proxy_remote_execution_ssh.rb', line 10
def validate!
unless private_key_file
raise "settings for `ssh_identity_key` not set"
end
unless File.exist?(private_key_file)
raise "Ssh public key file #{private_key_file} doesn't exist.\n"\
"You can generate one with `ssh-keygen -t rsa -b 4096 -f #{private_key_file} -N ''`"
end
unless File.exist?(public_key_file)
raise "Ssh public key file #{public_key_file} doesn't exist"
end
validate_ssh_log_level!
end
|
.validate_ssh_log_level! ⇒ Object
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
# File 'lib/smart_proxy_remote_execution_ssh.rb', line 35
def validate_ssh_log_level!
wanted_level = Plugin.settings.ssh_log_level.to_s
levels = Plugin::SSH_LOG_LEVELS
unless levels.include? wanted_level
raise "Wrong value '#{Plugin.settings.ssh_log_level}' for ssh_log_level, must be one of #{levels.join(', ')}"
end
current = ::Proxy::SETTINGS.log_level.to_s.downcase
ssh, regular = [wanted_level, current].map do |wanted|
levels.each_with_index.find { |value, _index| value == wanted }.last
end
if ssh < regular
raise 'ssh_log_level cannot be more verbose than regular log level'
end
Plugin.settings.ssh_log_level = Plugin.settings.ssh_log_level.to_sym
end
|