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("act-imagery", 1, ".", "alpn=h2"),
375 HTTPS("a.act-imagery", 1, ".", "alpn=h2"),
376 HTTPS("b.act-imagery", 1, ".", "alpn=h2"),
377 HTTPS("c.act-imagery", 1, ".", "alpn=h2"),
379 A("act-imagery", IPV4["lockheed"]),
380 AAAA("act-imagery", IPV6["lockheed"]),
381 A("a.act-imagery", IPV4["lockheed"]),
382 AAAA("a.act-imagery", IPV6["lockheed"]),
383 A("b.act-imagery", IPV4["lockheed"]),
384 AAAA("b.act-imagery", IPV6["lockheed"]),
385 A("c.act-imagery", IPV4["lockheed"]),
386 AAAA("c.act-imagery", IPV6["lockheed"]),
388 HTTPS("os", 1, ".", "alpn=h2"),
389 HTTPS("a.os", 1, ".", "alpn=h2"),
390 HTTPS("b.os", 1, ".", "alpn=h2"),
391 HTTPS("c.os", 1, ".", "alpn=h2"),
393 A("os", IPV4["lockheed"]),
394 AAAA("os", IPV6["lockheed"]),
395 A("a.os", IPV4["lockheed"]),
396 AAAA("a.os", IPV6["lockheed"]),
397 A("b.os", IPV4["lockheed"]),
398 AAAA("b.os", IPV6["lockheed"]),
399 A("c.os", IPV4["lockheed"]),
400 AAAA("c.os", IPV6["lockheed"]),
402 HTTPS("tiler", 1, ".", "alpn=h2"),
403 HTTPS("us-imagery", 1, ".", "alpn=h2"),
404 HTTPS("a.us-imagery", 1, ".", "alpn=h2"),
405 HTTPS("b.us-imagery", 1, ".", "alpn=h2"),
406 HTTPS("c.us-imagery", 1, ".", "alpn=h2"),
408 A("tiler", IPV4["lockheed"]),
409 AAAA("tiler", IPV6["lockheed"]),
410 A("us-imagery", IPV4["lockheed"]),
411 AAAA("us-imagery", IPV6["lockheed"]),
412 A("a.us-imagery", IPV4["lockheed"]),
413 AAAA("a.us-imagery", IPV6["lockheed"]),
414 A("b.us-imagery", IPV4["lockheed"]),
415 AAAA("b.us-imagery", IPV6["lockheed"]),
416 A("c.us-imagery", IPV4["lockheed"]),
417 AAAA("c.us-imagery", IPV6["lockheed"]),
419 // Prometheus server and munin redirect
421 HTTPS("prometheus", 1, ".", "alpn=h2"),
422 HTTPS("munin", 1, ".", "alpn=h2"),
424 A("prometheus", IPV4["stormfly-03"]),
425 AAAA("prometheus", IPV6["stormfly-03"]),
426 A("munin", IPV4["stormfly-03"]),
427 AAAA("munin", IPV6["stormfly-03"]),
431 HTTPS("acme", 1, ".", "alpn=h2"),
432 HTTPS("chef", 1, ".", "alpn=h2"),
433 HTTPS("dns", 1, ".", "alpn=h2"),
434 HTTPS("git", 1, ".", "alpn=h2"),
435 HTTPS("hardware", 1, ".", "alpn=h2"),
437 A("acme", IPV4["idris.he"]),
438 AAAA("acme", IPV6["idris.he"]),
439 A("apt", IPV4["idris.he"]),
440 AAAA("apt", IPV6["idris.he"]),
441 A("chef", IPV4["idris.he"]),
442 AAAA("chef", IPV6["idris.he"]),
443 A("dns", IPV4["idris.he"]),
444 AAAA("dns", IPV6["idris.he"]),
445 A("git", IPV4["idris.he"]),
446 AAAA("git", IPV6["idris.he"]),
447 A("hardware", IPV4["idris.he"]),
448 AAAA("hardware", IPV6["idris.he"]),
450 // Bytemark machine, and the services which operate from it
452 HTTPS("lists", 1, ".", "alpn=h2"),
453 HTTPS("help", 1, ".", "alpn=h2"),
455 A("lists", IPV4["shenron"]),
456 AAAA("lists", IPV6["shenron"]),
457 A("help", IPV4["shenron"]),
458 AAAA("help", IPV6["shenron"]),
462 HTTPS("svn", 1, ".", "alpn=h2"),
463 HTTPS("trac", 1, ".", "alpn=h2"),
464 HTTPS("irc", 1, ".", "alpn=h2"),
465 HTTPS("blogs", 1, ".", "alpn=h2"),
466 HTTPS("welcome", 1, ".", "alpn=h2"),
467 HTTPS("operations", 1, ".", "alpn=h2"),
468 HTTPS("hot", 1, ".", "alpn=h2"),
469 HTTPS("dmca", 1, ".", "alpn=h2"),
470 // HTTPS("otrs", 1, ".", "alpn=h2"), - OTRS is not available using HTTPS/2
471 HTTPS("birthday20", 1, ".", "alpn=h2"),
473 A("svn", IPV4["naga.he"]),
474 AAAA("svn", IPV6["naga.he"]),
475 A("trac", IPV4["naga.he"]),
476 AAAA("trac", IPV6["naga.he"]),
477 A("irc", IPV4["naga.he"]),
478 AAAA("irc", IPV6["naga.he"]),
479 A("blogs", IPV4["naga.he"]),
480 AAAA("blogs", IPV6["naga.he"]),
481 A("welcome", IPV4["naga.he"]),
482 AAAA("welcome", IPV6["naga.he"]),
483 A("operations", IPV4["naga.he"]),
484 AAAA("operations", IPV6["naga.he"]),
485 A("hot", IPV4["naga.he"]),
486 AAAA("hot", IPV6["naga.he"]),
487 A("dmca", IPV4["naga.he"]),
488 AAAA("dmca", IPV6["naga.he"]),
489 A("otrs", IPV4["naga.he"]),
490 AAAA("otrs", IPV6["naga.he"]),
491 A("birthday20", IPV4["naga.he"]),
492 AAAA("birthday20", IPV6["naga.he"]),
496 HTTPS("wiki", 1, ".", "alpn=h2"),
498 A("wiki", IPV4["konqi.he"]),
499 AAAA("wiki", IPV6["konqi.he"]),
503 HTTPS("query", 1, ".", "alpn=h2"),
505 A("query", IPV4["grisu.he"]),
506 AAAA("query", IPV6["grisu.he"]),
510 HTTPS("gps-tile", 1, ".", "alpn=h2"),
511 HTTPS("a.gps-tile", 1, ".", "alpn=h2"),
512 HTTPS("b.gps-tile", 1, ".", "alpn=h2"),
513 HTTPS("c.gps-tile", 1, ".", "alpn=h2"),
514 HTTPS("gps-a.tile", 1, ".", "alpn=h2"),
515 HTTPS("gps-b.tile", 1, ".", "alpn=h2"),
516 HTTPS("gps-c.tile", 1, ".", "alpn=h2"),
518 A("gps-tile", IPV4["muirdris.he"]),
519 AAAA("gps-tile", IPV6["muirdris.he"]),
520 A("a.gps-tile", IPV4["muirdris.he"]),
521 AAAA("a.gps-tile", IPV6["muirdris.he"]),
522 A("b.gps-tile", IPV4["muirdris.he"]),
523 AAAA("b.gps-tile", IPV6["muirdris.he"]),
524 A("c.gps-tile", IPV4["muirdris.he"]),
525 AAAA("c.gps-tile", IPV6["muirdris.he"]),
526 A("gps.tile", IPV4["muirdris.he"]),
527 AAAA("gps.tile", IPV6["muirdris.he"]),
528 A("gps-a.tile", IPV4["muirdris.he"]),
529 AAAA("gps-a.tile", IPV6["muirdris.he"]),
530 A("gps-b.tile", IPV4["muirdris.he"]),
531 AAAA("gps-b.tile", IPV6["muirdris.he"]),
532 A("gps-c.tile", IPV4["muirdris.he"]),
533 AAAA("gps-c.tile", IPV6["muirdris.he"]),
535 // Donation site and new OSMF crm site
537 HTTPS("donate", 1, ".", "alpn=h2"),
538 HTTPS("support", 1, ".", "alpn=h2"),
539 HTTPS("supporting", 1, ".", "alpn=h2"),
541 A("donate", IPV4["ridley"]),
542 A("support", IPV4["ridley"]),
543 A("supporting", IPV4["ridley"]),
545 // Discourse server ("community")
547 HTTPS("community", 1, ".", "alpn=h2"),
548 HTTPS("communities", 1, ".", "alpn=h2"),
549 HTTPS("c", 1, ".", "alpn=h2"),
551 A("community", IPV4["fume.he"]),
552 A("communities", IPV4["fume.he"]),
553 A("c", IPV4["fume.he"]),
554 AAAA("community", IPV6["fume.he"]),
555 AAAA("communities", IPV6["fume.he"]),
556 AAAA("c", IPV6["fume.he"]),
558 CNAME("community-cdn", "dualstack.n.sni.global.fastly.net."),
559 TXT("community", "google-site-verification=hQ8GZyj4KwnPqAX2oAzpbLrh6I5dfR08PSdL3icVkfg"),
561 HTTPS("forum", 1, ".", "alpn=h2"),
563 A("forum", IPV4["fume.he"]),
564 AAAA("forum", IPV6["fume.he"]),
566 // Taginfo and Staging Blog Server
568 HTTPS("taginfo", 1, ".", "alpn=h2"),
570 A("taginfo", IPV4["tabaluga"]),
571 AAAA("taginfo", IPV6["tabaluga"]),
573 HTTPS("staging.blog", 1, ".", "alpn=h2"),
575 A("staging.blog", IPV4["tabaluga"]),
576 AAAA("staging.blog", IPV6["tabaluga"])