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