////////////////////////////////////////////////////////////////////////// // define domains domain='burble.dn42'; pdns_domain(domain); ////////////////////////////////////////////////////////////////////////// // special records D_EXTEND( domain, TXT('canary', "It's Alive!", TTL(1)) ); ////////////////////////////////////////////////////////////////////////// // services // IPv4 service names service('ns1', 'fd42:4242:2601:ac53::1', '172.20.129.1'); service('dns', 'fd42:4242:2601:ac53::53', '172.20.129.2'); service('@', 'fd42:4242:2601:ac80::1', '172.20.129.3'); service('grc', 'fd42:4242:2601:ac12::1', '172.20.129.4'); service('pingable', 'fd42:4242:2601:ac05::1', '172.20.129.5'); service('nats', 'fd42:4242:2601:ac06::1', '172.20.129.6'); // 7 was rproxy service('whois', 'fd42:4242:2601:ac43::1', '172.20.129.8'); service('asterisk.fr-par1', 'fd42:4242:2601:36:216:3eff:fe8f:6211', '172.20.129.9'); service('shell', 'fd42:4242:2601:ac22::1', '172.20.129.10'); // 11 was envoy service('traefik', 'fd42:4242:2601:ac82::1', '172.20.129.12'); service('traefik-eu', 'fd42:4242:2601:ac83::1', '172.20.129.13'); service('traefik-na', 'fd42:4242:2601:ac84::1', '172.20.129.14'); // services 172.20.129.15 -> 172.20.129.25 are unassigned service('shell.us-nyc2', 'fd42:4242:2601:101d:216:3eff:fefc:722', '172.20.129.26'); service('shell.us-lax1', 'fd42:4242:2601:100a:216:3eff:fe5c:30b2', '172.20.129.27'); service('shell.fr-par1', 'fd42:4242:2601:1016:216:3eff:fe01:2f1f', '172.20.129.28'); service('shell.ca-bhs2', 'fd42:4242:2601:100d:216:3eff:fed7:2ceb', '172.20.129.30'); // internal anycasts service('rpki', 'fd42:4242:2601:ac10::1'); service('dns64', 'fd42:4242:2601:ac53::64'); service('dns-slave', 'fd42:4242:2601:ac00::53:1'); service('ldap', 'fd42:4242:2601:acf0::60:1'); service('traefik-tier2', 'fd42:4242:2601:acf0::70:1'); service('traefik-eu-tier2', 'fd42:4242:2601:acf0::75:1'); service('traefik-na-tier2', 'fd42:4242:2601:acf0::76:1'); // proxied services //proxied('tasks'); //proxied('svc'); // docker services D_EXTEND( domain, CNAME('drone.tier2.fr-par1', 'docker.tier2.fr-par1.burble.dn42.') ); // nomad container services D_EXTEND( domain, // global anycast CNAME('wiki', 'traefik.burble.dn42.'), CNAME('explorer', 'traefik.burble.dn42.'), CNAME('clicker', 'traefik.burble.dn42.'), CNAME('anycast', 'traefik.burble.dn42.'), CNAME('invidious', 'traefik.burble.dn42.'), CNAME('grafana', 'traefik.burble.dn42.'), CNAME('glass', 'traefik.burble.dn42.'), CNAME('lg', 'traefik.burble.dn42.'), CNAME('lounge', 'traefik.burble.dn42.'), CNAME('paste', 'traefik.burble.dn42.'), CNAME('whoami', 'traefik.burble.dn42.'), CNAME('minio', 'traefik.burble.dn42.'), CNAME('s3', 'traefik.burble.dn42.'), CNAME('acme', 'traefik.burble.dn42.'), CNAME('svc', 'traefik.burble.dn42.'), // eu services CNAME('wiki-sync-uk-lon1', 'traefik-eu.burble.dn42.'), // na services CNAME('wiki-sync-us-lax1', 'traefik-na.burble.dn42.'), CNAME('wiki-sync-us-nyc1', 'traefik-na.burble.dn42.'), // internal services CNAME('ci', 'traefik-tier2.burble.dn42.'), CNAME('ldap-admin', 'traefik-tier2.burble.dn42.'), CNAME('nomad', 'traefik-tier2.burble.dn42.'), CNAME('prometheus', 'traefik-tier2.burble.dn42.'), CNAME('prometheus-ingest', 'traefik-tier2.burble.dn42.'), CNAME('vault', 'traefik-tier2.burble.dn42.'), CNAME('wdev', 'traefik-tier2.burble.dn42.'), // special cases CNAME('dialup', 'traefik-t1.fr-par1.burble.dn42.') ); // other service cnames D_EXTEND( domain, // temporary CNAME('new-nats', 'nats.burble.dn42.'), // evpn subdomain NS('evpn', 'ns.de-fra1.evpn.burble.dn42.'), NS('evpn', 'ns.ca-bhs2.evpn.burble.dn42.'), AAAA('ns.de-fra1.evpn', 'fd42:4242:2601:331:72e8:bff:fe58:b51b'), AAAA('ns.ca-bhs2.evpn', 'fd42:4242:2601:32d:72e8:bff:fe58:b51b'), // DS('evpn', 46501,13,2,'ba25a8ee27c9fcc9595b60aab43aad60fd30fad073861159e157e7edf7239fc0'), // global service aliases CNAME('www', 'burble.dn42.'), CNAME('git', 'git.de-fra1.burble.dn42.'), // host aliases CNAME('repo', 'repo.tier2.fr-par1.burble.dn42.'), CNAME('borg', 'borg.tier2.fr-par2.burble.dn42.'), // grc SSHFP SSHFP('grc', 4, 1, 'ff61153c18334e89df3b4b4e4696306eeb5ffe9c'), SSHFP('grc', 4, 2, 'c3a2470309cb1e6fba252231a6504a096ffd8b6f92442493f762e7512c515e76'), // shell servers SSHFP SSHFP('shell.us-nyc2', 4, 1, 'f72242c44f4cd3a734f51e8923c962a54894fad2'), SSHFP('shell.us-nyc2', 4, 2, 'ad2ddbb2cb7435ec796ac83ed52ea55c1fde71e01f101ac5225d2626139b3d5f'), SSHFP('shell.ca-bhs2', 4, 1, '7588864eb1671c566a6ef6693429fd9602b5ea3a'), SSHFP('shell.ca-bhs2', 4, 2, 'b0df1cd91e178e6145998c5e2c588f708b2f6ff49b158abcc6e04c8b7ed240fb'), SSHFP('shell.fr-par1', 4, 1, 'c7646462dc6a4652aa4bb5fea1c150a6bfffb0ff'), SSHFP('shell.fr-par1', 4, 2, '3055c3839ca6c51eef5d0aa7e1b2ba4747465063ab04e6330fd2b2ee377f31e8'), SSHFP('shell.us-lax1', 4, 1, '845e037ac07088a250ade9e190d0dc23baf42ad4'), SSHFP('shell.us-lax1', 4, 2, '9ef63f071aeac1081a72eda5bdbca5ecd612a8678c893331c2e87f583ac90465'), // dn42.dev mail MX('mail-dn42dev', 10, 'mail-dn42dev.tier2.de-fra1.burble.dn42.'), MX('mail-dn42dev', 10, 'mail-dn42dev.tier2.ca-bhs2.burble.dn42.'), // speedtest CNAME('speedtest.fr-par1', 'nginx.fr-par1.burble.dn42.'), CNAME('speedtest.ca-bhs2', 'nginx.ca-bhs2.burble.dn42.'), // registry docker alias AAAA('docker.registry.ca-bhs2', 'fd42:180:3de0:100:42e6:9ff:fe09:bfc0'), // ping challenge starting address AAAA('ping', 'fd42:4242:2601:31f0::1'), CNAME('sip', 'asterisk.fr-par1.burble.dn42.'), CNAME('voip', 'asterisk.fr-par1.burble.dn42.'), A('svcs.voip', '192.168.20.10'), A('asterisk.voip', '192.168.20.11'), A('sol.voip', '192.168.20.13'), A('pap2t.voip', '192.168.20.20'), A('gstream.voip', '192.168.20.21'), A('proxy.voip', '192.168.20.200') ); ////////////////////////////////////////////////////////////////////////// // hosts D_EXTEND( domain, // dmz special config AAAA('dmz.uk-lon1', '2a04:92c5:2:1::1'), AAAA('dmz.de-fra1', '2a0d:5941:1:17c::4e2a'), AAAA('dmz.ca-bhs2', '2607:5300:120:81a::1') ); // main nodes nodes.forEach(function(n) { var hex = (n[4] + 32).toString(16); var ip4 = (n[5] == 'undefined' ? undefined : n[5]); // main IP host(n[0],'fd42:4242:2601:'+hex+'::1', ip4); // subnet IPs host('tier1.'+n[0], 'fd42:4242:2601:'+hex+'::1'); host('tier2.'+n[0], 'fd42:4242:2601:'+hex+'02::1'); // create dn42-xxx CNAME for dn42 nodes if (n[3] == 'true') { D_EXTEND(domain,CNAME('dn42-'+n[0], n[0]+'.burble.dn42.')); } }); // containers and VMs virtual.forEach(function(v) { host(v[0], v[1], v[2]); }); ////////////////////////////////////////////////////////////////////////// // end of file