dns/domains/030-burble.dn42.js
Simon Marsh 2a19d96119
All checks were successful
continuous-integration/drone/push Build is passing
move svc
2023-10-01 14:19:27 +01:00

201 lines
7.6 KiB
JavaScript

//////////////////////////////////////////////////////////////////////////
// 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.'),
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