2021-02-05 07:09:31 -05:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2017-12-06 04:39:25 -05:00
|
|
|
namespace :gitlab do
|
|
|
|
desc "GitLab | Check TCP connectivity to a specific host and port"
|
|
|
|
task :tcp_check, [:host, :port] => :environment do |_t, args|
|
|
|
|
unless args.host && args.port
|
|
|
|
puts "Please specify a host and port: `rake gitlab:tcp_check[example.com,80]`".color(:red)
|
|
|
|
exit 1
|
|
|
|
end
|
|
|
|
|
|
|
|
checker = Gitlab::TcpChecker.new(args.host, args.port)
|
|
|
|
|
|
|
|
if checker.check
|
|
|
|
puts "TCP connection from #{checker.local} to #{checker.remote} succeeded".color(:green)
|
|
|
|
else
|
|
|
|
puts "TCP connection to #{checker.remote} failed: #{checker.error}".color(:red)
|
|
|
|
puts
|
|
|
|
puts 'Check that host and port are correct, and that the traffic is permitted through any firewalls.'
|
|
|
|
exit 1
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|