diff --git a/dnsconfig.js b/dnsconfig.js index e9372bc..ac773de 100644 --- a/dnsconfig.js +++ b/dnsconfig.js @@ -9,6 +9,7 @@ var PDNS = NewDnsProvider( 'dnssec_on_create': true } ); +var CF = NewDnsProvider('cloudflare', 'CLOUDFLAREAPI'); ////////////////////////////////////////////////////////////////////////// // turn off cloudflare proxying by default diff --git a/domains/020-burble.com.js b/domains/020-burble.com.js index c942d9e..345b004 100644 --- a/domains/020-burble.com.js +++ b/domains/020-burble.com.js @@ -1,6 +1,96 @@ ////////////////////////////////////////////////////////////////////////// // define domains +domain='burble.com'; +cf_domain(domain); + +////////////////////////////////////////////////////////////////////////// +// 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:_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 + +D_EXTEND( + domain, + + // websites + ALIAS('@', 'uk-lon2.burble.com.', CF_PROXY_ON), + CNAME('www', 'uk-lon2.burble.com.', CF_PROXY_ON), + CNAME('dn42','fr-sbg1.burble.com.', CF_PROXY_ON), + + // status from uptime robot + CNAME('dn42.status', 'stats.uptimerobot.com.'), + + // DN42 services + + CNAME('explorer', 'fr-sbg1.burble.com.', CF_PROXY_ON), + CNAME('lg', 'fr-sbg1.burble.com.', CF_PROXY_ON), + CNAME('collector', 'fr-sbg1.burble.com.', CF_PROXY_ON), + CNAME('grc', 'fr-sbg1.burble.com.', CF_PROXY_ON), + CNAME('lg-grc', 'fr-sbg1.burble.com.', CF_PROXY_ON), + CNAME('git', 'fr-sbg1.burble.com.', CF_PROXY_ON), + CNAME('paste', 'fr-sbg1.burble.com.', CF_PROXY_ON), + CNAME('wiki', 'fr-sbg1.burble.com.', CF_PROXY_ON), + + CNAME('lounge', 'fr-rbx1.burble.com.', CF_PROXY_ON), + CNAME('grafana', 'de-fra1.burble.com.', CF_PROXY_ON) +); + + +////////////////////////////////////////////////////////////////////////// +// nodes + +// special cases / test servers + +D_EXTEND( + domain, + + A('uk-bri1', '151.226.93.18'), + A('bg-sof1', '94.72.143.236'), + AAAA('bg-sof1', '2a01:8740:1:b8::465a') +); + + +// normal nodes + +nodes.forEach(function(n) { + + // ipv4 + if (n[1] != 'undefined') { + D_EXTEND(domain,A(n[0], n[1])); + } + + // ipv6 + if (n[2] != 'undefined') { + D_EXTEND(domain,AAAA(n[0], n[2])); + } + + // DN42 public node + if (n[3] == 'true') { + D_EXTEND(domain,CNAME('dn42-'+n[0], n[0]+'.burble.com.')); + } + +}); ////////////////////////////////////////////////////////////////////////// // end of file