dns/domains/020-burble.com.js
Simon Marsh 693079113d
All checks were successful
continuous-integration/drone/push Build is passing
major refactor
2025-01-16 09:34:11 +00:00

104 lines
3.3 KiB
JavaScript

//////////////////////////////////////////////////////////////////////////
// define domains
domain='burble.com';
D(domain, REG_NONE, DnsProvider(CLOUDFLARE))
//////////////////////////////////////////////////////////////////////////
// email via gmail, and keybase auth
D_EXTEND(
domain,
// MX records
MX('@', 1, 'aspmx.l.google.com.'),
MX('@', 5, 'alt2.aspmx.l.google.com.'),
MX('@', 5, 'alt1.aspmx.l.google.com.'),
MX('@', 10, 'aspmx3.googlemail.com.'),
MX('@', 10, 'aspmx2.googlemail.com.'),
// SPF and DMARC
TXT('@', 'v=spf1 include:mxlogin.com include:_spf.google.com ~all'),
TXT('_dmarc', 'v=DMARC1; p=reject'),
TXT('google._domainkey', 'v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCClWMiLTcb8z420zEocWjRmlGwOH/Edpfk1e2T5S4rE12BeGt2dFk3YA4edeiNlc9E2sJSMepKeGx5mI3jOGfM7LPiL56bCPTvNH6JrHDZCvQuWysHxuXemigPo88DHwOT3N+LAlFdaQSP4ByaBomAPDh6hVEJQfhXS1cMH4RkeQIDAQAB'),
// keybase verification
TXT('@', 'keybase-site-verification=ONX4nkgR0mO-sRKbQ9druzvm1PC_iAvMq-1P3pCGFA8')
);
//////////////////////////////////////////////////////////////////////////
// services
// CF tunnels
cf_pages_burble_com = 'sites-burble-com.pages.dev.'
cf_pages_dn42_burble_com = 'sites-dn42-burble-com.pages.dev.'
cf_tun_ch_zur1 = 'b276fbd1-d19d-45ef-a3f8-e3463410d2b7.cfargotunnel.com.'
cf_tun_de_fra1 = 'ac79fe6f-be91-4f20-aae3-35cccee29bbd.cfargotunnel.com.'
cf_tun_fr_par1 = '2778e8d1-ca30-4c42-8886-b22c8325468b.cfargotunnel.com.'
cf_tun_uk_lon1 = '3752ed5a-72c3-425a-9543-861c7e95e335.cfargotunnel.com.'
cf_tun_se_sto1 = '4660a675-1804-490f-b4e1-7b30659eb04d.cfargotunnel.com.'
D_EXTEND(
domain,
// websites
ALIAS('@', cf_pages_burble_com, CF_PROXY_ON),
CNAME('www', cf_pages_burble_com, CF_PROXY_ON),
CNAME('dn42', cf_pages_dn42_burble_com, CF_PROXY_ON),
// status from uptime robot
CNAME('dn42.status', 'stats.uptimerobot.com.'),
// DN42 services
CNAME('git', cf_tun_de_fra1, CF_PROXY_ON),
CNAME('grafana', cf_tun_se_sto1, CF_PROXY_ON),
CNAME('send', cf_tun_fr_par1, CF_PROXY_ON),
CNAME('explorer', cf_tun_uk_lon1, CF_PROXY_ON),
CNAME('paste', cf_tun_uk_lon1, CF_PROXY_ON),
CNAME('lg', cf_tun_uk_lon1, CF_PROXY_ON),
CNAME('lounge', cf_tun_uk_lon1, CF_PROXY_ON),
CNAME('wiki', cf_tun_uk_lon1, CF_PROXY_ON)
)
//////////////////////////////////////////////////////////////////////////
// add entries for each node
nodes.forEach(function(node) {
var name = node[0]
var ipv4 = node[1]
var ipv6 = node[2]
var pub = node[3]
// ipv4 forward records
if (typeof ipv4 !== 'undefined') {
// <node>.burble.com
D_EXTEND(domain, A(name, ipv4))
// ipv4.<node>.burble.com
D_EXTEND(domain, A('ipv4.' + name, ipv4))
}
// ipv4 forward records
if (typeof ipv6 !== 'undefined') {
// <node>.burble.com
D_EXTEND(domain, AAAA(name, ipv6))
// ipv6.<node>.burble.com
D_EXTEND(domain, AAAA('ipv6.' + name, ipv6))
}
// add dn42-<node>.burble.com for public nodes
if (pub == 'true') {
D_EXTEND(domain, CNAME('dn42-'+name, name+'.burble.com.'))
}
});
//////////////////////////////////////////////////////////////////////////
// end of file