]> git.openstreetmap.org Git - dns.git/blob - dnsconfig.js
Don't write an entry to the weighted lookup when all servers are down
[dns.git] / dnsconfig.js
1 var REG_NONE = NewRegistrar("none", "NONE");
2 var REG_GANDI = NewRegistrar("gandi_v5", "GANDI_V5");
3 var PROVIDER = NewDnsProvider("cloudflare", "CLOUDFLAREAPI");
4
5 var CF_TTL_ANY = TTL(1);
6
7 DEFAULTS(DefaultTTL("24h"));
8
9 var DOMAIN;
10 var REGISTRAR;
11 var DYNAMIC_RECORDS;
12
13 var QUALIFY = function (name) {
14   return name + "." + DOMAIN + ".";
15 };
16
17 function loadTemplate(template) {
18   return function (domain, registrar) {
19     DOMAIN = domain;
20     REGISTRAR = registrar;
21     DYNAMIC_RECORDS = [];
22
23     for (var i = 2; i < arguments.length; i++) {
24       DYNAMIC_RECORDS = DYNAMIC_RECORDS.concat(arguments[i]);
25     }
26
27     require("src/" + template + ".js");
28   };
29 }
30
31 require("src/hosts.js");
32
33 var OPENSTREETMAP = loadTemplate("openstreetmap");
34
35 require("include/sshfp.js");
36 require("include/tile.js");
37 require("include/render.js");
38 require("include/nominatim.js");
39
40 OPENSTREETMAP("openstreetmap.org", REG_GANDI, SSHFP_RECORDS, TILE_RECORDS, RENDER_RECORDS, NOMINATIM_RECORDS);
41 OPENSTREETMAP("openstreetmap.com", REG_GANDI);
42 OPENSTREETMAP("openstreetmap.net", REG_GANDI);
43 OPENSTREETMAP("openstreetmap.ca", REG_GANDI);
44 OPENSTREETMAP("openstreetmap.eu", REG_NONE);
45 OPENSTREETMAP("openstreetmap.pro", REG_GANDI);
46 OPENSTREETMAP("openstreetmaps.org", REG_GANDI);
47 OPENSTREETMAP("osm.org", REG_GANDI);
48 OPENSTREETMAP("openmaps.org", REG_GANDI);
49 OPENSTREETMAP("openstreetmap.io", REG_GANDI);
50 OPENSTREETMAP("osm.io", REG_GANDI);
51 OPENSTREETMAP("openstreetmap.li", REG_GANDI);
52 OPENSTREETMAP("openworldmap.org", REG_GANDI);
53 OPENSTREETMAP("freeosm.org", REG_GANDI);
54 OPENSTREETMAP("open-maps.org", REG_GANDI);
55 OPENSTREETMAP("open-maps.com", REG_GANDI);
56 OPENSTREETMAP("osmbugs.org", REG_GANDI);
57
58 var OSM_LI = loadTemplate("osm-li");
59
60 OSM_LI("osm.li", REG_GANDI);
61
62 var OPENSTREETMAP_UK = loadTemplate("openstreetmap-uk");
63
64 OPENSTREETMAP_UK("openstreetmap.uk", REG_GANDI);
65 OPENSTREETMAP_UK("openstreetmap.org.uk", REG_GANDI);
66 OPENSTREETMAP_UK("openstreetmap.co.uk", REG_GANDI);
67
68 var OPENSTREETMAP_ZA = loadTemplate("openstreetmap-za");
69
70 OPENSTREETMAP_ZA("openstreetmap.org.za", REG_NONE);
71 OPENSTREETMAP_ZA("osm.org.za", REG_NONE);
72
73 var OSMFOUNDATION = loadTemplate("osmfoundation");
74
75 OSMFOUNDATION("osmfoundation.org", REG_GANDI);
76
77 var STATEOFTHEMAP = loadTemplate("stateofthemap");
78
79 STATEOFTHEMAP("stateofthemap.org", REG_GANDI);
80 STATEOFTHEMAP("stateofthemap.com", REG_GANDI);
81 STATEOFTHEMAP("sotm.org", REG_GANDI);
82
83 var STATEOFTHEMAP_EU = loadTemplate("stateofthemap-eu");
84
85 STATEOFTHEMAP_EU("stateofthemap.eu", REG_GANDI);
86
87 var OPENGEODATA = loadTemplate("opengeodata");
88
89 OPENGEODATA("opengeodata.org", REG_GANDI);
90
91 var SWITCH2OSM = loadTemplate("switch2osm");
92
93 SWITCH2OSM("switch2osm.org", REG_GANDI);
94 SWITCH2OSM("switch2osm.com", REG_GANDI);