////////////////////////////////////////////////////////////////////////// // 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'); service('rproxy', 'fd42:4242:2601:acf0::1', '172.20.129.7'); 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.'), // 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