45 lines
811 B
Ruby
45 lines
811 B
Ruby
#!/usr/bin/env ruby
|
|
|
|
def read_file(file_name)
|
|
File.readlines(file_name).map(&:strip).reject(&:empty?)
|
|
end
|
|
|
|
def generate_san_config(ips, domains, emails)
|
|
entries = []
|
|
|
|
ips.each_with_index do |ip, i|
|
|
entries << "IP.#{i} = #{ip}"
|
|
end
|
|
|
|
domains.each_with_index do |domain, i|
|
|
entries << "DNS.#{i} = #{domain}"
|
|
end
|
|
|
|
emails.each_with_index do |email, i|
|
|
entries << "email.#{i} = #{email}"
|
|
end
|
|
|
|
entries.join("\n")
|
|
end
|
|
|
|
def main
|
|
ip_file = "vars/ips"
|
|
domain_file = "vars/domains"
|
|
email_file = "vars/emails"
|
|
|
|
ips = read_file(ip_file)
|
|
domains = read_file(domain_file)
|
|
emails = read_file(email_file)
|
|
|
|
return if ips.empty? && domains.empty? && emails.empty?
|
|
|
|
san_config = generate_san_config(ips, domains, emails)
|
|
|
|
puts san_config
|
|
end
|
|
|
|
if __FILE__ == $PROGRAM_NAME
|
|
main
|
|
end
|
|
|