instance method
forward_ports
Ruby on Rails 2.9.0
Since v2.8.2 Last seen in v2.11.0 PrivateSignature
forward_ports()
No documentation comment.
Source
# File lib/kamal/cli/build/port_forwarding.rb, line 27
def forward_ports
ready = Concurrent::CountDownLatch.new(hosts.size)
@threads = hosts.map do |host|
Thread.new do
begin
Net::SSH.start(host, ssh_options[:user], **ssh_options.except(:user)) do |ssh|
ssh.forward.remote(port, "localhost", port, "127.0.0.1") do |remote_port, bind_address|
if remote_port == :error
raise "Failed to establish port forward on #{host}"
else
ready.count_down
end
end
ssh.loop(0.1) do
if @done
ssh.forward.cancel_remote(port, "127.0.0.1")
break
else
true
end
end
end
rescue Exception => e
error "Error setting up port forwarding to #{host}: #{e.class}: #{e.message}"
error e.backtrace.join("\n")
raise
end
end
end
raise "Timed out waiting for port forwarding to be established" unless ready.wait(30)
end
Defined in lib/kamal/cli/build/port_forwarding.rb line 27
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in Kamal::Cli::Build::PortForwarding