Class: Kamal::Configuration::Ssh
- Inherits:
-
Object
- Object
- Kamal::Configuration::Ssh
- Defined in:
- lib/kamal/configuration/ssh.rb
Constant Summary collapse
- LOGGER =
::Logger.new(STDERR)
Instance Method Summary collapse
-
#initialize(config:) ⇒ Ssh
constructor
A new instance of Ssh.
- #options ⇒ Object
- #port ⇒ Object
- #proxy ⇒ Object
- #to_h ⇒ Object
- #user ⇒ Object
Constructor Details
#initialize(config:) ⇒ Ssh
Returns a new instance of Ssh.
4 5 6 |
# File 'lib/kamal/configuration/ssh.rb', line 4 def initialize(config:) @config = config.raw_config.ssh || {} end |
Instance Method Details
#options ⇒ Object
24 25 26 |
# File 'lib/kamal/configuration/ssh.rb', line 24 def { user: user, port: port, proxy: proxy, logger: logger, keepalive: true, keepalive_interval: 30 }.compact end |
#port ⇒ Object
12 13 14 |
# File 'lib/kamal/configuration/ssh.rb', line 12 def port config.fetch("port", 22) end |
#proxy ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/kamal/configuration/ssh.rb', line 16 def proxy if (proxy = config["proxy"]) Net::SSH::Proxy::Jump.new(proxy.include?("@") ? proxy : "root@#{proxy}") elsif (proxy_command = config["proxy_command"]) Net::SSH::Proxy::Command.new(proxy_command) end end |
#to_h ⇒ Object
28 29 30 |
# File 'lib/kamal/configuration/ssh.rb', line 28 def to_h .except(:logger).merge(log_level: log_level) end |
#user ⇒ Object
8 9 10 |
# File 'lib/kamal/configuration/ssh.rb', line 8 def user config.fetch("user", "root") end |