1 D(DOMAIN, REGISTRAR, DnsProvider(PROVIDER),
3 // Publish CAA records indicating that only letsencrypt and globalsign (Fastly) should issue certificates
8 iodef: "mailto:hostmaster@openstreetmap.org",
11 "globalsign.com", // Used by Fastly for CDN certificates
15 "globalsign.com", // Used by Fastly for CDN certificates
21 MX("@", 10, QUALIFY("a.mx")),
22 MX("messages", 10, QUALIFY("a.mx")),
23 MX("noreply", 10, QUALIFY("a.mx")),
24 MX("otrs", 10, QUALIFY("a.mx")),
25 MX("community", 10, QUALIFY("a.mx")),
26 MX("supporting", 10, QUALIFY("a.mx")),
28 A("a.mx", IPV4["fafnir.he"]),
29 AAAA("a.mx", IPV6["fafnir.he"]),
30 A("mail", IPV4["fafnir.he"]),
31 AAAA("mail", IPV6["fafnir.he"]),
32 A("mta-sts", IPV4["fafnir.he"]),
33 AAAA("mta-sts", IPV6["fafnir.he"]),
35 // Publish SPF records indicating that only shenron sends mail
41 "ip4:184.104.226.98", // fafnir ipv4 (he.net)
42 "ip6:2001:470:1:b3b::2", // fafnir ipv6 (he.net)
43 "ip4:87.252.214.98", // fafnir ipv4 (equinix)
44 "ip6:2001:4d78:fe03:1c::2", // fafnir ipv6 (equinix)
45 "ip4:193.60.236.0/24", // ucl external
46 "ip4:82.199.86.96/27", // amsterdam external (equinix)
47 "ip6:2001:4d78:500:5e3::/64", // amsterdam external (equinix)
48 "ip4:87.252.214.96/27", // dublin external (equinix)
49 "ip6:2001:4d78:fe03:1c::/64", // dublin external (equinix)
50 "ip4:184.104.179.128/27", // amsterdam external (he.net)
51 "ip6:2001:470:1:fa1::/64", // amsterdam external (he.net)
52 "ip4:184.104.226.96/27", // dublin external (he.net)
53 "ip6:2001:470:1:b3b::/64", // dublin external (he.net)
54 "mx", // safety net if we change mx
63 "ip4:184.104.226.98", // fafnir ipv4 (he.net)
64 "ip6:2001:470:1:b3b::2", // fafnir ipv6 (he.net)
65 "ip4:87.252.214.98", // fafnir ipv4 (equinix)
66 "ip6:2001:4d78:fe03:1c::2", // fafnir ipv6 (equinix)
67 "ip4:193.60.236.0/24", // ucl external
68 "ip4:82.199.86.96/27", // amsterdam external (equinix)
69 "ip6:2001:4d78:500:5e3::/64", // amsterdam external (equinix)
70 "ip4:87.252.214.96/27", // dublin external (equinix)
71 "ip6:2001:4d78:fe03:1c::/64", // dublin external (equinix)
72 "ip4:184.104.179.128/27", // amsterdam external (he.net)
73 "ip6:2001:470:1:fa1::/64", // amsterdam external (he.net)
74 "ip4:184.104.226.96/27", // dublin external (he.net)
75 "ip6:2001:470:1:b3b::/64", // dublin external (he.net)
76 "mx", // safety net if we change mx
85 "ip4:184.104.226.98", // fafnir ipv4 (he.net)
86 "ip6:2001:470:1:b3b::2", // fafnir ipv6 (he.net)
87 "ip4:87.252.214.98", // fafnir ipv4 (equinix)
88 "ip6:2001:4d78:fe03:1c::2", // fafnir ipv6 (equinix)
89 "ip4:193.60.236.0/24", // ucl external
90 "ip4:82.199.86.96/27", // amsterdam external (equinix)
91 "ip6:2001:4d78:500:5e3::/64", // amsterdam external (equinix)
92 "ip4:87.252.214.96/27", // dublin external (equinix)
93 "ip6:2001:4d78:fe03:1c::/64", // dublin external (equinix)
94 "ip4:184.104.179.128/27", // amsterdam external (he.net)
95 "ip6:2001:470:1:fa1::/64", // amsterdam external (he.net)
96 "ip4:184.104.226.96/27", // dublin external (he.net)
97 "ip6:2001:470:1:b3b::/64", // dublin external (he.net)
98 "mx", // safety net if we change mx
107 "ip4:184.104.226.98", // fafnir ipv4 (he.net)
108 "ip6:2001:470:1:b3b::2", // fafnir ipv6 (he.net)
109 "ip4:87.252.214.98", // fafnir ipv4 (equinix)
110 "ip6:2001:4d78:fe03:1c::2", // fafnir ipv6 (equinix)
111 "ip4:193.60.236.0/24", // ucl external
112 "ip4:82.199.86.96/27", // amsterdam external (equinix)
113 "ip6:2001:4d78:500:5e3::/64", // amsterdam external (equinix)
114 "ip4:87.252.214.96/27", // dublin external (equinix)
115 "ip6:2001:4d78:fe03:1c::/64", // dublin external (equinix)
116 "ip4:184.104.179.128/27", // amsterdam external (he.net)
117 "ip6:2001:470:1:fa1::/64", // amsterdam external (he.net)
118 "ip4:184.104.226.96/27", // dublin external (he.net)
119 "ip6:2001:470:1:b3b::/64", // dublin external (he.net)
120 "mx", // safety net if we change mx
129 "ip4:184.104.226.98", // fafnir ipv4 (he.net)
130 "ip6:2001:470:1:b3b::2", // fafnir ipv6 (he.net)
131 "ip4:87.252.214.98", // fafnir ipv4 (equinix)
132 "ip6:2001:4d78:fe03:1c::2", // fafnir ipv6 (equinix)
133 "ip4:193.60.236.0/24", // ucl external
134 "ip4:82.199.86.96/27", // amsterdam external (equinix)
135 "ip6:2001:4d78:500:5e3::/64", // amsterdam external (equinix)
136 "ip4:87.252.214.96/27", // dublin external (equinix)
137 "ip6:2001:4d78:fe03:1c::/64", // dublin external (equinix)
138 "ip4:184.104.179.128/27", // amsterdam external (he.net)
139 "ip6:2001:470:1:fa1::/64", // amsterdam external (he.net)
140 "ip4:184.104.226.96/27", // dublin external (he.net)
141 "ip6:2001:470:1:b3b::/64", // dublin external (he.net)
142 "mx", // safety net if we change mx
151 "ip4:184.104.226.98", // fafnir ipv4 (he.net)
152 "ip6:2001:470:1:b3b::2", // fafnir ipv6 (he.net)
153 "ip4:87.252.214.98", // fafnir ipv4 (equinix)
154 "ip6:2001:4d78:fe03:1c::2", // fafnir ipv6 (equinix)
155 "ip4:193.60.236.0/24", // ucl external
156 "ip4:82.199.86.96/27", // amsterdam external (equinix)
157 "ip6:2001:4d78:500:5e3::/64", // amsterdam external (equinix)
158 "ip4:87.252.214.96/27", // dublin external (equinix)
159 "ip6:2001:4d78:fe03:1c::/64", // dublin external (equinix)
160 "ip4:184.104.179.128/27", // amsterdam external (he.net)
161 "ip6:2001:470:1:fa1::/64", // amsterdam external (he.net)
162 "ip4:184.104.226.96/27", // dublin external (he.net)
163 "ip6:2001:470:1:b3b::/64", // dublin external (he.net)
164 "mx", // safety net if we change mx
169 // Publish DKIM public key
171 TXT("20200301._domainkey", "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzvoNZVOGfw1V4A171hxHMhzVTAnIUQVJ8iX3wbqCld8A5iIaXeTGYvBmewymax/cYJS4QqzbpUzkgrrTA9avuZhd+QGJDgjADgx4VyMOaOS6FwAxS0uXtLrt+lsixRDx/feKyZHaxjzJAQy46ok77xXL4UXIaaovw6G6eZpIScMzZQ2zkKNJxTICzzSOduIilHhMWte4XP+/2PdRmD7Ge9jb0U4bZjswX0AqKSGzDKYw+yxVna9l53adeCnklqg2ofoXu+ResiH+kt05aCUOMo8en3em6yBnRCMalgi1E3Tt7I5BWcYFRkT/8agUGW4gGC6XMV9IskOsYL0emG0kGwIDAQAB", AUTOSPLIT),
173 // Publish DMARC report-only policy
178 "mailto:openstreetmap-d@dmarc.report-uri.com"
183 // Announce MTA-STS policy and TLSRPT policy for error reports
185 TXT("_mta-sts", "v=STSv1; id=202001291805Z"),
186 TXT("_smtp._tls", "v=TLSRPTv1; rua=mailto:openstreetmap-d@tlsrpt.report-uri.com"),
188 // Fastly cert domain ownership confirmation
190 TXT("@", "_globalsign-domain-verification=ps00GlW1BzY9c2_cwH_pFqRkvzZyaCVZ-3RLssRG6S"),
191 TXT("@", "_globalsign-domain-verification=W0buKB5ZmL-VwwHw2oQyQImk3I1q3hSemf2qmB1hjP"),
193 // Facebook Business domain verification
195 TXT("@", "facebook-domain-verification=j5hix5i8r0kortfugqf2p9wx9x9by0"),
197 // Bluesky domain verification
199 TXT("_atproto", "did=did:plc:i6llv7iwybeipknl57v4dalb"),
201 // Delegate MTA-STS policy for subdomains
203 CNAME("_mta-sts.messages", QUALIFY("_mta-sts")),
204 CNAME("_mta-sts.noreply", QUALIFY("_mta-sts")),
205 CNAME("_mta-sts.otrs", QUALIFY("_mta-sts")),
206 CNAME("_mta-sts.community", QUALIFY("_mta-sts")),
207 CNAME("_mta-sts.supporting", QUALIFY("_mta-sts")),
209 // Google postmaster tools verification
211 CNAME("af323lytato5", "gv-o4v3qh5pfayqex.dv.googlehosted.com."),
212 CNAME("irzdddnmh465", "gv-cwr6bvt7xsgact.dv.googlehosted.com."),
214 // Main web servers and their aliases
216 HTTPS("www", 1, ".", "alpn=h2"),
217 HTTPS("api", 1, ".", "alpn=h2"),
218 HTTPS("maps", 1, ".", "alpn=h2"),
219 HTTPS("mapz", 1, ".", "alpn=h2"),
221 // A("@", IPV4["spike-01.he"]),
222 // AAAA("@", IPV6["spike-01.he"]),
223 // A("www", IPV4["spike-01.he"]),
224 // AAAA("www", IPV6["spike-01.he"]),
225 // A("api", IPV4["spike-01.he"]),
226 // AAAA("api", IPV6["spike-01.he"]),
227 // A("maps", IPV4["spike-01.he"]),
228 // AAAA("maps", IPV6["spike-01.he"]),
229 // A("mapz", IPV4["spike-01.he"]),
230 // AAAA("mapz", IPV6["spike-01.he"]),
232 // A("@", IPV4["spike-02.he"]),
233 // AAAA("@", IPV6["spike-02.he"]),
234 // A("www", IPV4["spike-02.he"]),
235 // AAAA("www", IPV6["spike-02.he"]),
236 // A("api", IPV4["spike-02.he"]),
237 // AAAA("api", IPV6["spike-02.he"]),
238 // A("maps", IPV4["spike-02.he"]),
239 // AAAA("maps", IPV6["spike-02.he"]),
240 // A("mapz", IPV4["spike-02.he"]),
241 // AAAA("mapz", IPV6["spike-02.he"]),
243 // A("@", IPV4["spike-03.he"]),
244 // AAAA("@", IPV6["spike-03.he"]),
245 // A("www", IPV4["spike-03.he"]),
246 // AAAA("www", IPV6["spike-03.he"]),
247 // A("api", IPV4["spike-03.he"]),
248 // AAAA("api", IPV6["spike-03.he"]),
249 // A("maps", IPV4["spike-03.he"]),
250 // AAAA("maps", IPV6["spike-03.he"]),
251 // A("mapz", IPV4["spike-03.he"]),
252 // AAAA("mapz", IPV6["spike-03.he"]),
254 A("@", IPV4["spike-06"], CF_PROXY_ON),
255 AAAA("@", IPV6["spike-06"], CF_PROXY_ON),
256 A("www", IPV4["spike-06"], CF_PROXY_ON),
257 AAAA("www", IPV6["spike-06"], CF_PROXY_ON),
258 A("api", IPV4["spike-06"], CF_PROXY_ON),
259 AAAA("api", IPV6["spike-06"], CF_PROXY_ON),
260 A("maps", IPV4["spike-06"], CF_PROXY_ON),
261 AAAA("maps", IPV6["spike-06"], CF_PROXY_ON),
262 A("mapz", IPV4["spike-06"], CF_PROXY_ON),
263 AAAA("mapz", IPV6["spike-06"], CF_PROXY_ON),
265 A("@", IPV4["spike-07"], CF_PROXY_ON),
266 AAAA("@", IPV6["spike-07"], CF_PROXY_ON),
267 A("www", IPV4["spike-07"], CF_PROXY_ON),
268 AAAA("www", IPV6["spike-07"], CF_PROXY_ON),
269 A("api", IPV4["spike-07"], CF_PROXY_ON),
270 AAAA("api", IPV6["spike-07"], CF_PROXY_ON),
271 A("maps", IPV4["spike-07"], CF_PROXY_ON),
272 AAAA("maps", IPV6["spike-07"], CF_PROXY_ON),
273 A("mapz", IPV4["spike-07"], CF_PROXY_ON),
274 AAAA("mapz", IPV6["spike-07"], CF_PROXY_ON),
276 A("@", IPV4["spike-08"], CF_PROXY_ON),
277 AAAA("@", IPV6["spike-08"], CF_PROXY_ON),
278 A("www", IPV4["spike-08"], CF_PROXY_ON),
279 AAAA("www", IPV6["spike-08"], CF_PROXY_ON),
280 A("api", IPV4["spike-08"], CF_PROXY_ON),
281 AAAA("api", IPV6["spike-08"], CF_PROXY_ON),
282 A("maps", IPV4["spike-08"], CF_PROXY_ON),
283 AAAA("maps", IPV6["spike-08"], CF_PROXY_ON),
284 A("mapz", IPV4["spike-08"], CF_PROXY_ON),
285 AAAA("mapz", IPV6["spike-08"], CF_PROXY_ON),
289 CNAME("nominatim", "nominatim.geo.openstreetmap.org."),
290 CNAME("qgis.nominatim", "nominatim.geo.openstreetmap.org."),
291 CNAME("qa-tile.nominatim", "longma.openstreetmap.org."),
295 CNAME("tile", "dualstack.n.sni.global.fastly.net."),
296 CNAME("a.tile", "dualstack.n.sni.global.fastly.net."),
297 CNAME("b.tile", "dualstack.n.sni.global.fastly.net."),
298 CNAME("c.tile", "dualstack.n.sni.global.fastly.net."),
300 A("render", IPV4["culebre.he"]),
301 A("render", IPV4["nidhogg"]),
302 AAAA("render", IPV6["culebre.he"]),
303 AAAA("render", IPV6["nidhogg"]),
305 // Vector tile servers
307 CNAME("vector", "dualstack.n.sni.global.fastly.net."),
311 HTTPS("planet", 1, ".", "alpn=h2"),
313 A("backup", IPV4["norbert"]),
314 AAAA("backup", IPV6["norbert"]),
315 A("planet", IPV4["norbert"]),
316 AAAA("planet", IPV6["norbert"]),
318 // A("backup", IPV4["horntail.he"]),
319 // AAAA("backup", IPV6["horntail.he"]),
320 // A("planet", IPV4["horntail.he"]),
321 // AAAA("planet", IPV6["horntail.he"]),
323 // Development server with wildcard alias for user sites
325 A("dev", IPV4["faffy"]),
326 AAAA("dev", IPV6["faffy"]),
327 A("*.dev", IPV4["faffy"]),
328 AAAA("*.dev", IPV6["faffy"]),
329 A("ooc", IPV4["faffy"]),
330 AAAA("ooc", IPV6["faffy"]),
331 A("a.ooc", IPV4["faffy"]),
332 AAAA("a.ooc", IPV6["faffy"]),
333 A("b.ooc", IPV4["faffy"]),
334 AAAA("b.ooc", IPV6["faffy"]),
335 A("c.ooc", IPV4["faffy"]),
336 AAAA("c.ooc", IPV6["faffy"]),
337 A("npe", IPV4["faffy"]),
338 AAAA("npe", IPV6["faffy"]),
342 HTTPS("blog", 1, ".", "alpn=h2"),
343 HTTPS("foundation", 1, ".", "alpn=h2"),
345 A("blog", IPV4["ridley"]),
346 A("foundation", IPV4["ridley"]),
350 HTTPS("matomo", 1, ".", "alpn=h2"),
351 HTTPS("piwik", 1, ".", "alpn=h2"),
353 A("matomo", IPV4["smaug.he"]),
354 AAAA("matomo", IPV6["smaug.he"]),
355 A("piwik", IPV4["smaug.he"]),
356 AAAA("piwik", IPV6["smaug.he"]),
360 HTTPS("agri", 1, ".", "alpn=h2"),
361 HTTPS("a.agri", 1, ".", "alpn=h2"),
362 HTTPS("b.agri", 1, ".", "alpn=h2"),
363 HTTPS("c.agri", 1, ".", "alpn=h2"),
365 A("agri", IPV4["lockheed"]),
366 AAAA("agri", IPV6["lockheed"]),
367 A("a.agri", IPV4["lockheed"]),
368 AAAA("a.agri", IPV6["lockheed"]),
369 A("b.agri", IPV4["lockheed"]),
370 AAAA("b.agri", IPV6["lockheed"]),
371 A("c.agri", IPV4["lockheed"]),
372 AAAA("c.agri", IPV6["lockheed"]),
374 HTTPS("os", 1, ".", "alpn=h2"),
375 HTTPS("a.os", 1, ".", "alpn=h2"),
376 HTTPS("b.os", 1, ".", "alpn=h2"),
377 HTTPS("c.os", 1, ".", "alpn=h2"),
379 A("os", IPV4["lockheed"]),
380 AAAA("os", IPV6["lockheed"]),
381 A("a.os", IPV4["lockheed"]),
382 AAAA("a.os", IPV6["lockheed"]),
383 A("b.os", IPV4["lockheed"]),
384 AAAA("b.os", IPV6["lockheed"]),
385 A("c.os", IPV4["lockheed"]),
386 AAAA("c.os", IPV6["lockheed"]),
388 HTTPS("tiler", 1, ".", "alpn=h2"),
389 HTTPS("us-imagery", 1, ".", "alpn=h2"),
390 HTTPS("a.us-imagery", 1, ".", "alpn=h2"),
391 HTTPS("b.us-imagery", 1, ".", "alpn=h2"),
392 HTTPS("c.us-imagery", 1, ".", "alpn=h2"),
394 A("tiler", IPV4["lockheed"]),
395 AAAA("tiler", IPV6["lockheed"]),
396 A("us-imagery", IPV4["lockheed"]),
397 AAAA("us-imagery", IPV6["lockheed"]),
398 A("a.us-imagery", IPV4["lockheed"]),
399 AAAA("a.us-imagery", IPV6["lockheed"]),
400 A("b.us-imagery", IPV4["lockheed"]),
401 AAAA("b.us-imagery", IPV6["lockheed"]),
402 A("c.us-imagery", IPV4["lockheed"]),
403 AAAA("c.us-imagery", IPV6["lockheed"]),
405 // Prometheus server and munin redirect
407 HTTPS("prometheus", 1, ".", "alpn=h2"),
408 HTTPS("munin", 1, ".", "alpn=h2"),
410 A("prometheus", IPV4["stormfly-03"]),
411 AAAA("prometheus", IPV6["stormfly-03"]),
412 A("munin", IPV4["stormfly-03"]),
413 AAAA("munin", IPV6["stormfly-03"]),
417 HTTPS("acme", 1, ".", "alpn=h2"),
418 HTTPS("chef", 1, ".", "alpn=h2"),
419 HTTPS("dns", 1, ".", "alpn=h2"),
420 HTTPS("git", 1, ".", "alpn=h2"),
421 HTTPS("hardware", 1, ".", "alpn=h2"),
423 A("acme", IPV4["idris.he"]),
424 AAAA("acme", IPV6["idris.he"]),
425 A("apt", IPV4["idris.he"]),
426 AAAA("apt", IPV6["idris.he"]),
427 A("chef", IPV4["idris.he"]),
428 AAAA("chef", IPV6["idris.he"]),
429 A("dns", IPV4["idris.he"]),
430 AAAA("dns", IPV6["idris.he"]),
431 A("git", IPV4["idris.he"]),
432 AAAA("git", IPV6["idris.he"]),
433 A("hardware", IPV4["idris.he"]),
434 AAAA("hardware", IPV6["idris.he"]),
436 // Bytemark machine, and the services which operate from it
438 HTTPS("lists", 1, ".", "alpn=h2"),
439 HTTPS("help", 1, ".", "alpn=h2"),
441 A("lists", IPV4["shenron"]),
442 AAAA("lists", IPV6["shenron"]),
443 A("help", IPV4["shenron"]),
444 AAAA("help", IPV6["shenron"]),
448 HTTPS("svn", 1, ".", "alpn=h2"),
449 HTTPS("trac", 1, ".", "alpn=h2"),
450 HTTPS("irc", 1, ".", "alpn=h2"),
451 HTTPS("blogs", 1, ".", "alpn=h2"),
452 HTTPS("welcome", 1, ".", "alpn=h2"),
453 HTTPS("operations", 1, ".", "alpn=h2"),
454 HTTPS("hot", 1, ".", "alpn=h2"),
455 HTTPS("dmca", 1, ".", "alpn=h2"),
456 // HTTPS("otrs", 1, ".", "alpn=h2"), - OTRS is not available using HTTPS/2
457 HTTPS("birthday20", 1, ".", "alpn=h2"),
459 A("svn", IPV4["naga.he"]),
460 AAAA("svn", IPV6["naga.he"]),
461 A("trac", IPV4["naga.he"]),
462 AAAA("trac", IPV6["naga.he"]),
463 A("irc", IPV4["naga.he"]),
464 AAAA("irc", IPV6["naga.he"]),
465 A("blogs", IPV4["naga.he"]),
466 AAAA("blogs", IPV6["naga.he"]),
467 A("welcome", IPV4["naga.he"]),
468 AAAA("welcome", IPV6["naga.he"]),
469 A("operations", IPV4["naga.he"]),
470 AAAA("operations", IPV6["naga.he"]),
471 A("hot", IPV4["naga.he"]),
472 AAAA("hot", IPV6["naga.he"]),
473 A("dmca", IPV4["naga.he"]),
474 AAAA("dmca", IPV6["naga.he"]),
475 A("otrs", IPV4["naga.he"]),
476 AAAA("otrs", IPV6["naga.he"]),
477 A("birthday20", IPV4["naga.he"]),
478 AAAA("birthday20", IPV6["naga.he"]),
482 HTTPS("wiki", 1, ".", "alpn=h2"),
484 A("wiki", IPV4["konqi.he"]),
485 AAAA("wiki", IPV6["konqi.he"]),
489 HTTPS("query", 1, ".", "alpn=h2"),
491 A("query", IPV4["grisu.he"]),
492 AAAA("query", IPV6["grisu.he"]),
496 HTTPS("gps-tile", 1, ".", "alpn=h2"),
497 HTTPS("a.gps-tile", 1, ".", "alpn=h2"),
498 HTTPS("b.gps-tile", 1, ".", "alpn=h2"),
499 HTTPS("c.gps-tile", 1, ".", "alpn=h2"),
500 HTTPS("gps-a.tile", 1, ".", "alpn=h2"),
501 HTTPS("gps-b.tile", 1, ".", "alpn=h2"),
502 HTTPS("gps-c.tile", 1, ".", "alpn=h2"),
504 A("gps-tile", IPV4["muirdris.he"]),
505 AAAA("gps-tile", IPV6["muirdris.he"]),
506 A("a.gps-tile", IPV4["muirdris.he"]),
507 AAAA("a.gps-tile", IPV6["muirdris.he"]),
508 A("b.gps-tile", IPV4["muirdris.he"]),
509 AAAA("b.gps-tile", IPV6["muirdris.he"]),
510 A("c.gps-tile", IPV4["muirdris.he"]),
511 AAAA("c.gps-tile", IPV6["muirdris.he"]),
512 A("gps.tile", IPV4["muirdris.he"]),
513 AAAA("gps.tile", IPV6["muirdris.he"]),
514 A("gps-a.tile", IPV4["muirdris.he"]),
515 AAAA("gps-a.tile", IPV6["muirdris.he"]),
516 A("gps-b.tile", IPV4["muirdris.he"]),
517 AAAA("gps-b.tile", IPV6["muirdris.he"]),
518 A("gps-c.tile", IPV4["muirdris.he"]),
519 AAAA("gps-c.tile", IPV6["muirdris.he"]),
521 // Donation site and new OSMF crm site
523 HTTPS("donate", 1, ".", "alpn=h2"),
524 HTTPS("support", 1, ".", "alpn=h2"),
525 HTTPS("supporting", 1, ".", "alpn=h2"),
527 A("donate", IPV4["ridley"]),
528 A("support", IPV4["ridley"]),
529 A("supporting", IPV4["ridley"]),
531 // Discourse server ("community")
533 HTTPS("community", 1, ".", "alpn=h2"),
534 HTTPS("communities", 1, ".", "alpn=h2"),
535 HTTPS("c", 1, ".", "alpn=h2"),
537 A("community", IPV4["fume.he"]),
538 A("communities", IPV4["fume.he"]),
539 A("c", IPV4["fume.he"]),
540 AAAA("community", IPV6["fume.he"]),
541 AAAA("communities", IPV6["fume.he"]),
542 AAAA("c", IPV6["fume.he"]),
544 CNAME("community-cdn", "dualstack.n.sni.global.fastly.net."),
545 TXT("community", "google-site-verification=hQ8GZyj4KwnPqAX2oAzpbLrh6I5dfR08PSdL3icVkfg"),
547 HTTPS("forum", 1, ".", "alpn=h2"),
549 A("forum", IPV4["fume.he"]),
550 AAAA("forum", IPV6["fume.he"]),
552 // Taginfo and Staging Blog Server
554 HTTPS("taginfo", 1, ".", "alpn=h2"),
556 A("taginfo", IPV4["tabaluga"]),
557 AAAA("taginfo", IPV6["tabaluga"]),
559 HTTPS("staging.blog", 1, ".", "alpn=h2"),
561 A("staging.blog", IPV4["tabaluga"]),
562 AAAA("staging.blog", IPV6["tabaluga"]),
564 // Uptime site at StatusCake
566 CNAME("uptime", "uptimessl-new.statuscake.com.")