main
 1# DNS zone for demeester.fr
 2# Managed via Gandi LiveDNS API (tools/update-gandi-dns.sh)
 3{ dns, globals, ... }:
 4with dns.lib.combinators;
 5{
 6  SOA = {
 7    nameServer = "ns1.gandi.net.";
 8    adminEmail = "hostmaster.gandi.net";
 9    serial = 1;
10    refresh = 10800;
11    retry = 3600;
12    expire = 604800;
13    minimum = 10800;
14  };
15
16  NS = [
17    "ns1.gandi.net."
18  ];
19
20  # Root domain points to carthage (public endpoint)
21  A = [ "46.224.100.116" ];
22
23  # iCloud Mail
24  MX = [
25    {
26      preference = 10;
27      exchange = "mx01.mail.icloud.com.";
28    }
29    {
30      preference = 10;
31      exchange = "mx02.mail.icloud.com.";
32    }
33  ];
34
35  TXT = [
36    "apple-domain=vML1eiTPb5VpQ5rc"
37    "v=spf1 include:icloud.com ~all"
38  ];
39
40  subdomains = {
41    # Wildcard for public endpoint (carthage)
42    "*".A = [ "46.224.100.116" ];
43
44    # Website
45    www.A = [ "46.224.100.116" ];
46    vincent.A = [ "46.224.100.116" ];
47
48    # Shortcuts
49    carthage.A = [ "46.224.100.116" ];
50    p.A = [ "46.224.100.116" ];
51
52    # Wildcard under www
53    "*.www".A = [ "46.224.100.116" ];
54
55    # iCloud DKIM
56    _domainkey.subdomains.sig1.CNAME = [ "sig1.dkim.demeester.fr.at.icloudmailadmin.com." ];
57
58    # ATProto PDS
59    pds.A = [ "46.224.100.116" ];
60
61    # ATProto handle verification
62    vincent.subdomains._atproto.TXT = [ "did=did:plc:q4ernihrsd4rdu4sedrm3vwa" ];
63  };
64}