# # SPDX-FileCopyrightText: 2019 Kirill Elagin # # SPDX-License-Identifier: MPL-2.0 or MIT # let dns = import ./.; util = dns.util.${builtins.currentSystem}; testZone = with dns.lib.combinators; { SOA = { nameServer = "ns.test.com."; adminEmail = "admin@test.com"; serial = 2019030800; }; NS = [ "ns.test.com." "ns2.test.com." ]; A = [ { address = "203.0.113.1"; ttl = 60 * 60; } "203.0.113.2" (ttl (60 * 60) (a "203.0.113.3")) ]; AAAA = [ "4321:0:1:2:3:4:567:89ab" ]; MX = mx.google; TXT = [ (with spf; strict ["a:mail.example.com" google]) ]; DMARC = [ (dmarc.postmarkapp "mailto:re+abcdefghijk@dmarc.postmarkapp.com") ]; CAA = letsEncrypt "admin@example.com"; SRV = [ { service = "sip"; proto = "tcp"; port = 5060; target = "sip.example.com"; } ]; subdomains = rec { www.A = [ "203.0.113.4" ]; www2 = host "203.0.113.5" "4321:0:1:2:3:4:567:89bb"; www3 = host "203.0.113.6" null; www4 = www3; staging = delegateTo [ "ns1.another.com." "ns2.another.com." ]; foo.subdomains.www.CNAME = [ "foo.test.com." ]; }; }; in util.writeZone "test.com" testZone