]> git.openstreetmap.org Git - dns.git/blob - dnsconfig.js
Ensure consistent line endings in IPv4 and IPv6 files
[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
18     require("src/" + template + ".js");
19   };
20 }
21
22 // Ensure that the reverse DNS records are in RFC 4183 notation
23 REVCOMPAT("rfc4183");
24
25 var IPV4 = require("src/ipv4.json");
26 var IPV6 = require("src/ipv6.json");
27
28 var HOST_RECORDS = [];
29
30 for (var name in IPV4) {
31   HOST_RECORDS.push(A(name, IPV4[name]));
32 }
33
34 for (var name in IPV6) {
35   HOST_RECORDS.push(AAAA(name, IPV6[name]));
36 }
37
38 var OPENSTREETMAP = loadTemplate("openstreetmap");
39
40 require("include/sshfp.js");
41 require("include/nominatim.js");
42
43 try {
44   require("include/geo.js");
45 } catch (e) {
46   var GEO_NS_RECORDS = [];
47 }
48
49 OPENSTREETMAP("openstreetmap.org", REG_GANDI);
50 OPENSTREETMAP("openstreetmap.com", REG_GANDI);
51 OPENSTREETMAP("openstreetmap.net", REG_GANDI);
52 OPENSTREETMAP("openstreetmap.ca", REG_GANDI);
53 OPENSTREETMAP("openstreetmap.eu", REG_NONE);
54 OPENSTREETMAP("openstreetmap.pro", REG_GANDI);
55 OPENSTREETMAP("openstreetmap.gay", REG_GANDI);
56 OPENSTREETMAP("openstreetmaps.org", REG_GANDI);
57 OPENSTREETMAP("osm.org", REG_GANDI);
58 OPENSTREETMAP("openmaps.org", REG_GANDI);
59 OPENSTREETMAP("openstreetmap.io", REG_GANDI);
60 OPENSTREETMAP("osm.io", REG_GANDI);
61 OPENSTREETMAP("openstreetmap.li", REG_GANDI);
62 OPENSTREETMAP("openworldmap.org", REG_GANDI);
63 OPENSTREETMAP("freeosm.org", REG_GANDI);
64 OPENSTREETMAP("open-maps.org", REG_GANDI);
65 OPENSTREETMAP("open-maps.com", REG_GANDI);
66 OPENSTREETMAP("osmbugs.org", REG_GANDI);
67 OPENSTREETMAP("openstreetmap.ai", REG_GANDI);
68 OPENSTREETMAP("openstreetmap.am", REG_GANDI);
69 OPENSTREETMAP("openstreetmap.fi", REG_GANDI);
70 OPENSTREETMAP("openstreetmap.gr", REG_GANDI);
71 OPENSTREETMAP("openstreetmap.me", REG_GANDI);
72 OPENSTREETMAP("openstreetmap.mx", REG_GANDI);
73 OPENSTREETMAP("openstreetmap.pe", REG_GANDI);
74 OPENSTREETMAP("openstreetmap.ph", REG_GANDI);
75 OPENSTREETMAP("openstreetmap.sg", REG_GANDI);
76 OPENSTREETMAP("openstreetmap.tv", REG_GANDI);
77 OPENSTREETMAP("openstreetmap.wales", REG_GANDI);
78 OPENSTREETMAP("openstreetmapdata.org", REG_GANDI);
79
80 // Disable due to registration issue
81 // OPENSTREETMAP("openstreetmap.al", REG_NONE);
82
83 D_EXTEND("openstreetmap.org",
84   CNAME("_acme-challenge.tile", "bxve5ryiwwv7woiraq.fastly-validations.com.", TTL("10m")),
85
86   // Uptime site at StatusCake
87   CNAME("uptime", "uptimessl-new.statuscake.com."),
88
89   HOST_RECORDS,
90   SSHFP_RECORDS,
91   GEO_NS_RECORDS,
92   NOMINATIM_RECORDS
93 );
94
95 D_EXTEND("osm.org",
96   CNAME("_acme-challenge.tile", "21gvdfyyxjoc4lmsem.fastly-validations.com.", TTL("10m")),
97
98   HOST_RECORDS,
99   SSHFP_RECORDS
100 );
101
102 // Mastodon redirects to en.osm.town
103 var OPENSTREETMAP_TOWN = loadTemplate("openstreetmap-town");
104 OPENSTREETMAP_TOWN("openstreetmap.town", REG_GANDI);
105
106 // Domain owned by Amanda McCann
107 // osm.town
108
109 // Managed independently by Guillaume Rischard
110 // openstreetmap.lu
111 // osm.lu
112
113 var OSM_LI = loadTemplate("osm-li");
114
115 OSM_LI("osm.li", REG_GANDI);
116
117 var OPENSTREETMAP_NZ = loadTemplate("openstreetmap-nz");
118
119 OPENSTREETMAP_NZ("openstreetmap.nz", REG_GANDI);
120 OPENSTREETMAP_NZ("openstreetmap.org.nz", REG_GANDI);
121
122 var OPENSTREETMAP_UK = loadTemplate("openstreetmap-uk");
123
124 OPENSTREETMAP_UK("openstreetmap.uk", REG_GANDI);
125 OPENSTREETMAP_UK("openstreetmap.org.uk", REG_GANDI);
126 OPENSTREETMAP_UK("openstreetmap.co.uk", REG_GANDI);
127
128 var OPENSTREETMAP_ZA = loadTemplate("openstreetmap-za");
129
130 OPENSTREETMAP_ZA("openstreetmap.org.za", REG_NONE);
131 OPENSTREETMAP_ZA("osm.org.za", REG_NONE);
132
133 var OSMFOUNDATION = loadTemplate("osmfoundation");
134
135 OSMFOUNDATION("osmfoundation.org", REG_GANDI);
136
137 var STATEOFTHEMAP = loadTemplate("stateofthemap");
138
139 STATEOFTHEMAP("stateofthemap.org", REG_GANDI);
140 STATEOFTHEMAP("stateofthemap.com", REG_GANDI);
141 STATEOFTHEMAP("sotm.org", REG_GANDI);
142
143 // The domain is registation is managed by FOSSGIS.de
144 var STATEOFTHEMAP_EU = loadTemplate("stateofthemap-eu");
145 STATEOFTHEMAP_EU("stateofthemap.eu", REG_NONE);
146
147 // State of the Map Madagascar
148 var OPENSTREETMAP_MG = loadTemplate("openstreetmap-mg");
149 OPENSTREETMAP_MG("openstreetmap.mg", REG_GANDI);
150
151 var OPENGEODATA = loadTemplate("opengeodata");
152 OPENGEODATA("opengeodata.org", REG_GANDI);
153
154 var SWITCH2OSM = loadTemplate("switch2osm");
155
156 SWITCH2OSM("switch2osm.org", REG_GANDI);
157 SWITCH2OSM("switch2osm.com", REG_GANDI);
158
159 var OSM2PGSQL = loadTemplate("osm2pgsql");
160
161 OSM2PGSQL("osm2pgsql.org", REG_GANDI);
162 OSM2PGSQL("osm2pgsql.com", REG_GANDI);
163
164 var IDEDITOR = loadTemplate("ideditor");
165
166 IDEDITOR("ideditor.com", REG_GANDI);
167
168 var OSMWIKI = loadTemplate("osm-wiki");
169 OSMWIKI("osm.wiki", REG_GANDI);
170
171 var PTR_HE_AMS_IPV4 = loadTemplate("ptr_he_ams_ipv4");
172
173 PTR_HE_AMS_IPV4(REV("184.104.179.128/27"), REG_NONE);
174
175 var PTR_HE_AMS_IPV6 = loadTemplate("ptr_he_ams_ipv6");
176
177 PTR_HE_AMS_IPV6(REV("2001:470:1:fa1::/64"), REG_NONE);
178
179 var PTR_HE_DUB_IPV4 = loadTemplate("ptr_he_dub_ipv4");
180
181 PTR_HE_DUB_IPV4(REV("184.104.226.96/27"), REG_NONE);
182
183 var PTR_HE_DUB_IPV6 = loadTemplate("ptr_he_dub_ipv6");
184
185 PTR_HE_DUB_IPV6(REV("2001:470:1:b3b::/64"), REG_NONE);
186
187 var PTR_EQUINIX_AMS_IPV4 = loadTemplate("ptr_equinix_ams_ipv4");
188
189 PTR_EQUINIX_AMS_IPV4(REV("82.199.86.96/27"), REG_NONE);
190
191 var PTR_EQUINIX_AMS_IPV6 = loadTemplate("ptr_equinix_ams_ipv6");
192
193 PTR_EQUINIX_AMS_IPV6(REV("2001:4d78:500:5e3::/64"), REG_NONE);
194
195 var PTR_EQUINIX_DUB_IPV4 = loadTemplate("ptr_equinix_dub_ipv4");
196
197 PTR_EQUINIX_DUB_IPV4(REV("87.252.214.96/27"), REG_NONE);
198
199 var PTR_EQUINIX_DUB_IPV6 = loadTemplate("ptr_equinix_dub_ipv6");
200
201 PTR_EQUINIX_DUB_IPV6(REV("2001:4d78:fe03:1c::/64"), REG_NONE);
202
203 // No immediate plans
204 // External DNS and hosting still up
205 // freethepostcode.org
206
207 // External DNS and hosting
208 // openstreetmap.cymru