class Kamal::Configuration::Ssh
def initialize(config:)
def initialize(config:) @config = config.raw_config.ssh || {} end
def log_level
def log_level config.fetch("log_level", :fatal) end
def logger
def logger LOGGER.tap { |logger| logger.level = log_level } end
def options
def options { user: user, port: port, proxy: proxy, logger: logger, keepalive: true, keepalive_interval: 30 }.compact end
def port
def port config.fetch("port", 22) end
def proxy
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
def to_h
def to_h options.except(:logger).merge(log_level: log_level) end
def user
def user config.fetch("user", "root") end