New tool: write a (basic) template zone.
This commit is contained in:
parent
809b34c571
commit
316fa6a0b7
35
tools/write-template-zone-file.cr
Normal file
35
tools/write-template-zone-file.cr
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
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
|
||||||
|
3600.to_u32, # TTL
|
||||||
|
"ns0.arn-fai.net.", # Master Name Server for the zone
|
||||||
|
"dnsmaster.arn-fai.net.", # admin email address
|
||||||
|
2023070100.to_u64, # serial
|
||||||
|
3600.to_u64, # refresh
|
||||||
|
600.to_u64, # retry
|
||||||
|
2419200.to_u64, # expire
|
||||||
|
600.to_u64 # minimum TTL
|
||||||
|
|
||||||
|
zone << DSZ::NS.new "#{domain}.", 3600.to_u32, "ns0.arn-fai.net."
|
||||||
|
zone << DSZ::NS.new "#{domain}.", 3600.to_u32, "alsace.tetaneutral.net."
|
||||||
|
|
||||||
|
File.write("#{domain}.json", zone.to_json)
|
Loading…
Reference in New Issue
Block a user