Add SSH port option

This commit is contained in:
Leon
2023-10-01 13:59:48 +02:00
parent 8f53104d00
commit 792aa1dbdf
3 changed files with 9 additions and 2 deletions

View File

@@ -9,6 +9,10 @@ class Kamal::Configuration::Ssh
config.fetch("user", "root") config.fetch("user", "root")
end end
def port
config.fetch("port", 22)
end
def proxy def proxy
if (proxy = config["proxy"]) if (proxy = config["proxy"])
Net::SSH::Proxy::Jump.new(proxy.include?("@") ? proxy : "root@#{proxy}") Net::SSH::Proxy::Jump.new(proxy.include?("@") ? proxy : "root@#{proxy}")
@@ -18,7 +22,7 @@ class Kamal::Configuration::Ssh
end end
def options def options
{ user: user, proxy: proxy, logger: logger, keepalive: true, keepalive_interval: 30 }.compact { user: user, port: port, proxy: proxy, logger: logger, keepalive: true, keepalive_interval: 30 }.compact
end end
def to_h def to_h

View File

@@ -22,6 +22,9 @@ class ConfigurationSshTest < ActiveSupport::TestCase
config = Kamal::Configuration.new(@deploy.tap { |c| c.merge!(ssh: { "log_level" => "debug" }) }) config = Kamal::Configuration.new(@deploy.tap { |c| c.merge!(ssh: { "log_level" => "debug" }) })
assert_equal 0, config.ssh.options[:logger].level assert_equal 0, config.ssh.options[:logger].level
config = Kamal::Configuration.new(@deploy.tap { |c| c.merge!(ssh: { "port" => 2222 }) })
assert_equal 2222, config.ssh.options[:port]
end end
test "ssh options with proxy host" do test "ssh options with proxy host" do

View File

@@ -227,7 +227,7 @@ class ConfigurationTest < ActiveSupport::TestCase
:repository=>"dhh/app", :repository=>"dhh/app",
:absolute_image=>"dhh/app:missing", :absolute_image=>"dhh/app:missing",
:service_with_version=>"app-missing", :service_with_version=>"app-missing",
:ssh_options=>{ :user=>"root", log_level: :fatal, keepalive: true, keepalive_interval: 30 }, :ssh_options=>{ :user=>"root", port: 22, log_level: :fatal, keepalive: true, keepalive_interval: 30 },
:sshkit=>{}, :sshkit=>{},
:volume_args=>["--volume", "/local/path:/container/path"], :volume_args=>["--volume", "/local/path:/container/path"],
:builder=>{}, :builder=>{},