Sha256: 2326ef00219c24526947e16325a38f31bc00412310d1945519add1ef6a82227a
Contents?: true
Size: 842 Bytes
Versions: 2
Compression:
Stored size: 842 Bytes
Contents
class Kamal::Configuration::Ssh LOGGER = ::Logger.new(STDERR) def initialize(config:) @config = config.raw_config.ssh || {} end def user config.fetch("user", "root") end 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 options { user: user, proxy: proxy, auth_methods: [ "publickey" ], logger: logger, keepalive: true, keepalive_interval: 30 }.compact end def to_h options.except(:logger).merge(log_level: log_level) end private attr_accessor :config def logger LOGGER.tap { |logger| logger.level = log_level } end def log_level config.fetch("log_level", :fatal) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
kamal-0.16.1 | lib/kamal/configuration/ssh.rb |
kamal-0.16.0 | lib/kamal/configuration/ssh.rb |