Sha256: 9aa0ad42b112794e136361f7a122b0a10600a0e0519373da1ea49307b9ac1818

Contents?: true

Size: 541 Bytes

Versions: 3

Compression:

Stored size: 541 Bytes

Contents

require 'resolv'

SRV_RECORDS = %w[
  _rubyapps._tcp.live.lkp.primelabs.se
  _rubyapps._tcp.sth.twingly.network
]

resolver = Resolv::DNS.new

servers = SRV_RECORDS.map do |srv_record|
  resolver.getresources(srv_record, Resolv::DNS::Resource::IN::SRV)
end.flatten.map(&:target).map(&:to_s)

raise "Can't find any servers, no records for #{SRV_RECORDS}" if servers.empty?

set :servers_from_srv_record, servers

namespace :list do
  desc 'List servers from SRV records'
  task :servers do
    servers.each { |server| puts server }
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
capistrano-twingly-2.4.1 lib/capistrano/twingly/tasks/servers_from_srv_record.rake
capistrano-twingly-2.4.0 lib/capistrano/twingly/tasks/servers_from_srv_record.rake
capistrano-twingly-2.3.0 lib/capistrano/twingly/tasks/servers_from_srv_record.rake