require "json" require "../src/storage/zone.cr" alias DSZ = DNSManager::Storage::Zone # # Create a zone file. # if ARGV.size < 1 puts "usage: domain" exit 0 end domain = ARGV[0] zone = DSZ.new domain # # Add some values. # zone << DSZ::SOA.new "#{domain}.", # name 60.to_u32, # TTL "ns0.some-example.com.", # Master Name Server for the zone "john\.doe.#{domain}" # admin email address zone << DSZ::NS.new "#{domain}.", 3600.to_u32, "ns1.some-example.com." zone << DSZ::NS.new "#{domain}.", 3600.to_u32, "ns0.some-example.com." zone << DSZ::A.new "www", 600.to_u32, "10.0.0.1" zone << DSZ::A.new "www2", 600.to_u32, "10.0.0.2" zone << DSZ::A.new "mail", 300.to_u32, "10.0.0.10" zone << DSZ::CNAME.new "mail2", 600.to_u32, "www" zone << DSZ::MX.new "mail", 300.to_u32, "mail", 10 zone << DSZ::MX.new "mail", 300.to_u32, "mail2", 5 File.write("#{domain}.json", zone.to_json)