]> git.openstreetmap.org Git - dns.git/blob - src/osmfoundation.js
d64efe0634018de5dbbcee612e60df00cdd4e0c9
[dns.git] / src / osmfoundation.js
1 D(DOMAIN, REGISTRAR, DnsProvider(PROVIDER),
2
3   // Publish CAA records indicating that only letsencrypt should issue certificates
4
5   CAA_BUILDER({
6     label: "@",
7     iodef: "mailto:hostmaster@openstreetmap.org",
8     issue: [
9       "letsencrypt.org",
10     ],
11     issuewild: [
12       "letsencrypt.org",
13     ],
14   }),
15
16   // Let mailbox.org handle email
17
18   MX("@", 10, "mxext1.mailbox.org."),
19   MX("@", 10, "mxext2.mailbox.org."),
20   MX("@", 20, "mxext3.mailbox.org."),
21
22   // Handle mail for the join subdomain ourselves
23
24   MX("join", 10, "a.mx.openstreetmap.org."),
25
26   // SPF policy
27
28   SPF_BUILDER({
29     label: "@",
30     parts: [
31       "v=spf1",
32       "include:mailbox.org",     // mailbox.org
33       "include:_spf.google.com", // Google GSuite
34       "ip4:184.104.226.98",      // fafnir ipv4
35       "ip6:2001:470:1:b3b::2",   // fafnir ipv6
36       "ip4:193.60.236.0/24",     // ucl external
37       "ip4:184.104.179.128/27",  // amsterdam external
38       "ip6:2001:470:1:fa1::/64", // amsterdam external
39       "ip4:184.104.226.96/27",   // dublin external
40       "ip6:2001:470:1:b3b::/64", // dublin external
41       "-all"
42     ]
43   }),
44
45   SPF_BUILDER({
46     label: "wiki",
47     parts: [
48       "v=spf1",
49       "ip4:184.104.226.98",      // fafnir ipv4
50       "ip6:2001:470:1:b3b::2",   // fafnir ipv6
51       "ip4:193.60.236.0/24",     // ucl external
52       "ip4:184.104.179.128/27",  // amsterdam external
53       "ip6:2001:470:1:fa1::/64", // amsterdam external
54       "ip4:184.104.226.96/27",   // dublin external
55       "ip6:2001:470:1:b3b::/64", // dublin external
56       "-all"
57     ]
58   }),
59
60   // Apple Business Manager verification
61   TXT("@", "apple-domain-verification=ZzBG2msRtUDehTMW"),
62
63   // Mailbox.org registration verification
64   TXT("d00f46a3fde45d06c53f3cd5b21f213ea384e7f5", "4a229bebe41606a1f7d909507846729a73998c31"),
65
66   // Publish DMARC report-only policy
67
68   DMARC_BUILDER({
69     policy: "none",
70     rua: [
71       "mailto:openstreetmap-d@dmarc.report-uri.com"
72     ],
73     failureOptions: 1
74   }),
75
76   // DKIM keys
77
78   TXT("google._domainkey", "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCJmTBAkYRCocCCNtVsdRNMlQel8kNfjPYJpjEm7woEgZh9yZeDzxImtz+u73oUF4+7bXzrNYbP946WNQIwAba1J69he8L1qfPBJLd3Z/fgmuaGdWcxpDno2EY4cQ8PrzvI6Vfm+6YAFANl8w09CIg41ykdlzH4iUJXD35k3SIl3wIDAQAB"),
79   TXT("20201112._domainkey", "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz4OyJc77mpW5djxVfZm18HcmJHQLpo7B2Z8Og8byICjDiG91Tpkv5ws3xIbMsi/tVA6p5L76uL0TGKlo4ayewYvJUTC22+hBWARUuWA0DgeMwBpW/dNUOJHBABCTouolvXLKRTPTefA177Y5jYbD7ZeJAR4ZnFbZX6spimXCT66AyhqCBSrOCXYXFm3ons5ANkkQBNZ/jMYczYs9T1ijNEbBNTJmLO+whOrYLyGd3iZ9X9iOmuNFBCgXp0tsN//FBsOyTl559/XY25r3GZhiKXMbrZ1IJewqJlG0+hN1y9qwWGgq5YpZPt5YJ1KGjIrcFX59/PhNQX4khPOaD5g7ZQIDAQAB", AUTOSPLIT),
80
81   // https://kb.mailbox.org/en/private/custom-domains/spf-dkim-and-dmarc-how-to-improve-spam-reputation-and-avoid-bounces
82   CNAME("MBO0001._domainkey", "MBO0001._domainkey.mailbox.org."),
83   CNAME("MBO0002._domainkey", "MBO0002._domainkey.mailbox.org."),
84   CNAME("MBO0003._domainkey", "MBO0003._domainkey.mailbox.org."),
85   CNAME("MBO0004._domainkey", "MBO0004._domainkey.mailbox.org."),
86
87   // Google postmaster tools verification
88
89   CNAME("uaqn4jv2xaoe", "gv-jun5dginqysxph.dv.googlehosted.com."),
90
91   // Aliases for google services
92
93   CNAME("login", "ghs.googlehosted.com."),
94   CNAME("docs", "ghs.googlehosted.com."),
95   CNAME("mail", "ghs.googlehosted.com."),
96   CNAME("calendar", "ghs.googlehosted.com."),
97   CNAME("sites", "ghs.googlehosted.com."),
98
99   // Aliases for mailbox.org services
100
101   CNAME("autoconfig", "mailbox.org."),
102   SRV("_hkps._tcp", 1, 1, 443, "pgp.mailbox.org."),
103
104   // Main web server and it's aliases
105
106   A("@", RIDLEY_IPV4),
107   A("www", RIDLEY_IPV4),
108   A("wiki", RIDLEY_IPV4),
109   A("blog", RIDLEY_IPV4),
110   A("crm", RIDLEY_IPV4),
111   A("join", RIDLEY_IPV4),
112   A("support", RIDLEY_IPV4),
113   A("supporting", RIDLEY_IPV4),
114   A("donate", RIDLEY_IPV4),
115
116   A("board", RIDLEY_IPV4),
117   A("dwg", RIDLEY_IPV4),
118   A("mwg", RIDLEY_IPV4),
119   A("operations", NAGA_IPV4),
120   AAAA("operations", NAGA_IPV6),
121
122   // HTTPS / SVCB records
123   HTTPS("www", 1, ".", "alpn=h2"),
124   HTTPS("wiki", 1, ".", "alpn=h2"),
125   HTTPS("blog", 1, ".", "alpn=h2"),
126   HTTPS("crm", 1, ".", "alpn=h2"),
127   HTTPS("join", 1, ".", "alpn=h2"),
128   HTTPS("support", 1, ".", "alpn=h2"),
129   HTTPS("supporting", 1, ".", "alpn=h2"),
130   HTTPS("donate", 1, ".", "alpn=h2"),
131   HTTPS("board", 1, ".", "alpn=h2"),
132   HTTPS("dwg", 1, ".", "alpn=h2"),
133   HTTPS("mwg", 1, ".", "alpn=h2"),
134   HTTPS("operations", 1, ".", "alpn=h2"),
135
136   // Nextcloud instance
137
138   CNAME("files", "nextcloud-openstreetmapfoundation.cloud68.systems."),
139
140   // Staging Blog
141   A("staging.blog", TABALUGA_IPV4),
142   AAAA("staging.blog", TABALUGA_IPV6),
143   // HTTPS / SVCB records
144   HTTPS("staging.blog", 1, ".", "alpn=h2"),
145
146   A("hardware", IDRIS_IPV4),
147
148   // HTTPS / SVCB records
149   HTTPS("hardware", 1, ".", "alpn=h2")
150
151 );