]> git.openstreetmap.org Git - dns.git/blob - dnsconfig.js
c566da3cbc8e901d01b0e8445d10f933e902b41c
[dns.git] / dnsconfig.js
1 var REG_NONE = NewRegistrar("none");
2 var REG_GANDI = NewRegistrar("gandi_v5");
3 var PROVIDER = NewDnsProvider("cloudflare");
4
5 var DOMAIN;
6 var REGISTRAR;
7 var DYNAMIC_RECORDS;
8
9 var QUALIFY = function (name) {
10   return name + "." + DOMAIN + ".";
11 };
12
13 function loadTemplate(template) {
14   return function (domain, registrar) {
15     DOMAIN = domain;
16     REGISTRAR = registrar;
17     DYNAMIC_RECORDS = [];
18
19     for (var i = 2; i < arguments.length; i++) {
20       DYNAMIC_RECORDS = DYNAMIC_RECORDS.concat(arguments[i]);
21     }
22
23     require("src/" + template + ".js");
24   };
25 }
26
27 require("src/hosts.js");
28
29 var OPENSTREETMAP = loadTemplate("openstreetmap");
30
31 require("include/sshfp.js");
32 require("include/nominatim.js");
33
34 try {
35   require("include/geo.js");
36 } catch (e) {
37   var GEO_NS_RECORDS = [];
38 }
39
40 OPENSTREETMAP_ORG_RECORDS = [
41   CNAME("_acme-challenge.tile", "bxve5ryiwwv7woiraq.fastly-validations.com.", TTL("10m"))
42 ]
43
44 OSM_ORG_RECORDS = [
45   CNAME("_acme-challenge.tile", "21gvdfyyxjoc4lmsem.fastly-validations.com.", TTL("10m"))
46 ]
47
48 OPENSTREETMAP("openstreetmap.org", REG_GANDI, OPENSTREETMAP_ORG_RECORDS, SSHFP_RECORDS, GEO_NS_RECORDS, NOMINATIM_RECORDS);
49 OPENSTREETMAP("openstreetmap.com", REG_GANDI);
50 OPENSTREETMAP("openstreetmap.net", REG_GANDI);
51 OPENSTREETMAP("openstreetmap.ca", REG_GANDI);
52 OPENSTREETMAP("openstreetmap.eu", REG_NONE);
53 OPENSTREETMAP("openstreetmap.pro", REG_GANDI);
54 OPENSTREETMAP("openstreetmap.gay", REG_GANDI);
55 OPENSTREETMAP("openstreetmaps.org", REG_GANDI);
56 OPENSTREETMAP("osm.org", REG_GANDI, OSM_ORG_RECORDS, SSHFP_RECORDS);
57 OPENSTREETMAP("openmaps.org", REG_GANDI);
58 OPENSTREETMAP("openstreetmap.io", REG_GANDI);
59 OPENSTREETMAP("osm.io", REG_GANDI);
60 OPENSTREETMAP("openstreetmap.li", REG_GANDI);
61 OPENSTREETMAP("openworldmap.org", REG_GANDI);
62 OPENSTREETMAP("freeosm.org", REG_GANDI);
63 OPENSTREETMAP("open-maps.org", REG_GANDI);
64 OPENSTREETMAP("open-maps.com", REG_GANDI);
65 OPENSTREETMAP("osmbugs.org", REG_GANDI);
66 OPENSTREETMAP("openstreetmap.ai", REG_GANDI);
67 OPENSTREETMAP("openstreetmap.am", REG_GANDI);
68 OPENSTREETMAP("openstreetmap.fi", REG_GANDI);
69 OPENSTREETMAP("openstreetmap.gr", REG_GANDI);
70 OPENSTREETMAP("openstreetmap.me", REG_GANDI);
71 OPENSTREETMAP("openstreetmap.mg", REG_GANDI);
72 OPENSTREETMAP("openstreetmap.mx", REG_GANDI);
73 OPENSTREETMAP("openstreetmap.nz", REG_GANDI);
74 OPENSTREETMAP("openstreetmap.pe", REG_GANDI);
75 OPENSTREETMAP("openstreetmap.ph", REG_GANDI);
76 OPENSTREETMAP("openstreetmap.sg", REG_GANDI);
77 OPENSTREETMAP("openstreetmap.tv", REG_GANDI);
78 OPENSTREETMAP("openstreetmap.wales", REG_GANDI);
79 OPENSTREETMAP("openstreetmapdata.org", REG_GANDI);
80
81 // Disable due to registration issue
82 // OPENSTREETMAP("openstreetmap.al", REG_NONE);
83
84 // Mastodon redirects to en.osm.town
85 var OPENSTREETMAP_TOWN = loadTemplate("openstreetmap-town");
86 OPENSTREETMAP_TOWN("openstreetmap.town", REG_GANDI);
87
88 // Domain owned by Amanda McCann
89 // osm.town
90
91 // Managed independently by Guillaume Rischard
92 // openstreetmap.lu
93 // osm.lu
94
95 var OSM_LI = loadTemplate("osm-li");
96
97 OSM_LI("osm.li", REG_GANDI);
98
99 var OPENSTREETMAP_UK = loadTemplate("openstreetmap-uk");
100
101 OPENSTREETMAP_UK("openstreetmap.uk", REG_GANDI);
102 OPENSTREETMAP_UK("openstreetmap.org.uk", REG_GANDI);
103 OPENSTREETMAP_UK("openstreetmap.co.uk", REG_GANDI);
104
105 var OPENSTREETMAP_ZA = loadTemplate("openstreetmap-za");
106
107 OPENSTREETMAP_ZA("openstreetmap.org.za", REG_NONE);
108 OPENSTREETMAP_ZA("osm.org.za", REG_NONE);
109
110 var OSMFOUNDATION = loadTemplate("osmfoundation");
111
112 OSMFOUNDATION("osmfoundation.org", REG_GANDI);
113
114 var STATEOFTHEMAP = loadTemplate("stateofthemap");
115
116 STATEOFTHEMAP("stateofthemap.org", REG_GANDI);
117 STATEOFTHEMAP("stateofthemap.com", REG_GANDI);
118 STATEOFTHEMAP("sotm.org", REG_GANDI);
119
120 // The domain is registation is managed by FOSSGIS.de
121 var STATEOFTHEMAP_EU = loadTemplate("stateofthemap-eu");
122 STATEOFTHEMAP_EU("stateofthemap.eu", REG_NONE);
123
124 var OPENGEODATA = loadTemplate("opengeodata");
125 OPENGEODATA("opengeodata.org", REG_GANDI);
126
127 var SWITCH2OSM = loadTemplate("switch2osm");
128
129 SWITCH2OSM("switch2osm.org", REG_GANDI);
130 SWITCH2OSM("switch2osm.com", REG_GANDI);
131
132 var OSM2PGSQL = loadTemplate("osm2pgsql");
133
134 OSM2PGSQL("osm2pgsql.org", REG_GANDI);
135 OSM2PGSQL("osm2pgsql.com", REG_GANDI);
136
137 var IDEDITOR = loadTemplate("ideditor");
138
139 IDEDITOR("ideditor.com", REG_GANDI);
140
141 var OSMWIKI = loadTemplate("osm-wiki");
142 OSMWIKI("osm.wiki", REG_GANDI);
143
144 var PTR_EQUINIX_AMS_IPV4 = loadTemplate("ptr_equinix_ams_ipv4");
145
146 PTR_EQUINIX_AMS_IPV4("128-27.179.104.184.in-addr.arpa", REG_NONE);
147
148 var PTR_EQUINIX_AMS_IPV6 = loadTemplate("ptr_equinix_ams_ipv6");
149
150 PTR_EQUINIX_AMS_IPV6(REV("2001:470:1:fa1::/64"), REG_NONE);
151
152 var PTR_EQUINIX_DUB_IPV4 = loadTemplate("ptr_equinix_dub_ipv4");
153
154 PTR_EQUINIX_DUB_IPV4("96-27.226.104.184.in-addr.arpa", REG_NONE);
155
156 var PTR_EQUINIX_DUB_IPV6 = loadTemplate("ptr_equinix_dub_ipv6");
157
158 PTR_EQUINIX_DUB_IPV6(REV("2001:470:1:b3b::/64"), REG_NONE);
159
160 // No immediate plans
161 // External DNS and hosting still up
162 // freethepostcode.org
163
164 // External DNS and hosting
165 // openstreetmap.cymru