move dns back to zone files
This commit is contained in:
parent
e47c8ce341
commit
9c41d73f93
20 changed files with 131 additions and 24 deletions
|
@ -2,13 +2,14 @@ from datetime import datetime
|
||||||
from os import listdir
|
from os import listdir
|
||||||
from os.path import isfile, join
|
from os.path import isfile, join
|
||||||
from subprocess import check_output
|
from subprocess import check_output
|
||||||
|
from textwrap import dedent
|
||||||
|
|
||||||
from bundlewrap.utils.ui import io
|
from bundlewrap.utils.ui import io
|
||||||
|
|
||||||
zone_path = join(repo.path, 'data', 'powerdns', 'files', 'bind-zones')
|
zone_path = join(repo.path, 'data', 'powerdns', 'files', 'bind-zones')
|
||||||
|
|
||||||
nameservers = set()
|
nameservers = set()
|
||||||
for rnode in sorted(repo.nodes_in_group('dns')):
|
for rnode in repo.nodes_in_group('dns'):
|
||||||
nameservers.add(rnode.metadata.get('powerdns/my_hostname', rnode.metadata.get('hostname')))
|
nameservers.add(rnode.metadata.get('powerdns/my_hostname', rnode.metadata.get('hostname')))
|
||||||
|
|
||||||
my_primary_servers = set()
|
my_primary_servers = set()
|
||||||
|
@ -75,25 +76,45 @@ actions = {
|
||||||
}
|
}
|
||||||
|
|
||||||
if node.metadata.get('powerdns/features/bind', False):
|
if node.metadata.get('powerdns/features/bind', False):
|
||||||
primary_zones = set()
|
|
||||||
for zone in listdir(zone_path):
|
|
||||||
if not isfile(join(zone_path, zone)) or zone.startswith(".") or zone.startswith("_"):
|
|
||||||
continue
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
output = check_output(['git', 'log', '-1', '--pretty=%ci']).decode('utf-8').strip()
|
output = check_output(['git', 'log', '-1', '--pretty=%ci']).decode('utf-8').strip()
|
||||||
serial = datetime.strptime(output, '%Y-%m-%d %H:%M:%S %z').strftime('%y%m%d%H%M')
|
serial = datetime.strptime(output, '%Y-%m-%d %H:%M:%S %z').strftime('%y%m%d%H%M')
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
io.stderr(f"Error while parsing commit time for {zone} serial: {e!r}")
|
io.stderr(f"{node.name} Error while parsing commit time for powerdns zone serial: {e!r}")
|
||||||
serial = datetime.now().strftime('%y%m%d0000')
|
serial = datetime.now().strftime('%y%m%d0000')
|
||||||
|
|
||||||
|
HEADER = dedent(f"""
|
||||||
|
$TTL 60
|
||||||
|
@ IN SOA ns-mephisto.kunbox.net. hostmaster.kunbox.net. (
|
||||||
|
{serial}
|
||||||
|
3600
|
||||||
|
600
|
||||||
|
86400
|
||||||
|
300
|
||||||
|
)
|
||||||
|
""").strip()
|
||||||
|
|
||||||
|
for ns in sorted(nameservers):
|
||||||
|
HEADER += f"\n@ IN NS {ns}."
|
||||||
|
|
||||||
|
primary_zones = set()
|
||||||
|
for zone in listdir(zone_path):
|
||||||
|
if (
|
||||||
|
not (
|
||||||
|
isfile(join(zone_path, zone))
|
||||||
|
or islink(join(zone_path, zone))
|
||||||
|
)
|
||||||
|
or zone.startswith(".")
|
||||||
|
or zone.startswith("_")
|
||||||
|
):
|
||||||
|
continue
|
||||||
|
|
||||||
primary_zones.add(zone)
|
primary_zones.add(zone)
|
||||||
|
|
||||||
files[f'/var/lib/powerdns/zones/{zone}'] = {
|
files[f'/var/lib/powerdns/zones/{zone}'] = {
|
||||||
'content_type': 'mako',
|
'content_type': 'mako',
|
||||||
'context': {
|
'context': {
|
||||||
'NAMESERVERS': '\n'.join(sorted({f'@ IN NS {ns}.' for ns in nameservers})),
|
'HEADER': HEADER + f"\n$ORIGIN {zone}.",
|
||||||
'SERIAL': serial,
|
|
||||||
'metadata_records': node.metadata.get(f'powerdns/bind-zones/{zone}/records', []),
|
'metadata_records': node.metadata.get(f'powerdns/bind-zones/{zone}/records', []),
|
||||||
},
|
},
|
||||||
'source': f'bind-zones/{zone}',
|
'source': f'bind-zones/{zone}',
|
||||||
|
|
2
data/powerdns/files/bind-zones/_mail_NULL
Normal file
2
data/powerdns/files/bind-zones/_mail_NULL
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
@ IN TXT "v=spf1 -all"
|
||||||
|
_dmarc IN TXT "v=DMARC1; p=reject"
|
11
data/powerdns/files/bind-zones/_mail_carlene
Normal file
11
data/powerdns/files/bind-zones/_mail_carlene
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
@ IN TXT "v=spf1 mx -all"
|
||||||
|
@ IN MX 10 mail.franzi.business.
|
||||||
|
_dmarc IN TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@kunbox.net; ruf=mailto:dmarc@kunbox.net; fo=0:d:s; adkim=s; aspf=s"
|
||||||
|
_mta-sts IN TXT "v=STSv1;id=20201111;"
|
||||||
|
_smtp._tls IN TXT "v=TLSRPTv1;rua=mailto:tlsrpt@kunbox.net"
|
||||||
|
|
||||||
|
mta-sts IN CNAME carlene.kunbox.net.
|
||||||
|
|
||||||
|
2019._domainkey IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwkg6UAcu3V98hal1UVf6yB0WT1CKDS0AK83CUlSP8bUwraPxkxK1nkQOUsmjbQs6a3FhdsKprMi32GeUaTVvZg81JIybPk3jNugfNWfSjs2TXPomYu+XD2pmmbR3cZlzC5NGR2nmBFt/P/S2ihPHj35KziiBIwK1TdvOi1M2+upCjK33Icco0ByCm0gJpD2O0cbqcBcUKqd6X440vYhNXH1ygp0e91P0iRnvS9sg6yD0xjD8kD6j/8GfxBY+9bpU3EvDoBgyJSbjw5b6PUVJbKMXzw1NIRNj0SXKs5BakjS8+7u62vR11IPCYRwy+yr0rDT0tNegM7gStIIgoTpOoQIDAQAB"
|
||||||
|
|
||||||
|
uo4anejdvvdw8bkne3kjiqavcqmj0416._domainkey IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnh5Ym9PO7r+wdOIKfopvHzn3KU3qT6IlCG/gvvbmIqoeFQfRbAe3gQmcG6RcLue55cJQGhI6y2r0lm59ZeoHR40aM+VabAOlplekM7xWmoXb/9vG2OZLIqAyF4I+7GQmTN6B9keBHp9SWtDUkI0B0G9neZ5MkXJP705M0duxritqQlb4YvCZwteHiyckKcg9aE9j+GF2EEawBoVDpoveoB3+wgde3lWEUjjwKFtXNXxuN354o6jgXgPNWtIEdPMLfK/o0CaCjZNlzaLTsTegY/+67hdHFqDmm8zXO9s+Xiyfq7CVq21t7wDhQ2W1agj+up6lH82FMh5rZNxJ6XB0yQIDAQAB"
|
3
data/powerdns/files/bind-zones/_parked
Normal file
3
data/powerdns/files/bind-zones/_parked
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
${HEADER}
|
||||||
|
|
||||||
|
<%include file="bind-zones/_mail_NULL" />
|
6
data/powerdns/files/bind-zones/afra.berlin
Normal file
6
data/powerdns/files/bind-zones/afra.berlin
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
${HEADER}
|
||||||
|
|
||||||
|
@ IN AAAA 2a0a:51c0:0:225::2
|
||||||
|
@ IN A 193.135.9.29
|
||||||
|
|
||||||
|
<%include file="bind-zones/_mail_NULL" />
|
1
data/powerdns/files/bind-zones/die-brontosaurier-waren-es.org
Symbolic link
1
data/powerdns/files/bind-zones/die-brontosaurier-waren-es.org
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
_parked
|
1
data/powerdns/files/bind-zones/emails.sexy
Symbolic link
1
data/powerdns/files/bind-zones/emails.sexy
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
_parked
|
3
data/powerdns/files/bind-zones/eskalation.jetzt
Normal file
3
data/powerdns/files/bind-zones/eskalation.jetzt
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
${HEADER}
|
||||||
|
|
||||||
|
<%include file="bind-zones/_mail_NULL" />
|
3
data/powerdns/files/bind-zones/felix-kunsmann.de
Normal file
3
data/powerdns/files/bind-zones/felix-kunsmann.de
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
${HEADER}
|
||||||
|
|
||||||
|
<%include file="bind-zones/_mail_carlene" />
|
8
data/powerdns/files/bind-zones/flauschehorn.sexy
Normal file
8
data/powerdns/files/bind-zones/flauschehorn.sexy
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
${HEADER}
|
||||||
|
|
||||||
|
@ IN AAAA 2a03:4000:4d:5e::1
|
||||||
|
@ IN A 194.36.145.49
|
||||||
|
|
||||||
|
<%include file="bind-zones/_mail_carlene" />
|
||||||
|
|
||||||
|
_acme-challenge IN CNAME 63bc37c61bda3c1f4fa1f270f8890c7f89c24353.acme.ctu.cx.
|
29
data/powerdns/files/bind-zones/franzi.business
Normal file
29
data/powerdns/files/bind-zones/franzi.business
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
${HEADER}
|
||||||
|
|
||||||
|
@ IN AAAA 2a0a:51c0:0:225::2
|
||||||
|
@ IN A 193.135.9.29
|
||||||
|
|
||||||
|
<%include file="bind-zones/_mail_carlene" />
|
||||||
|
|
||||||
|
_atproto IN TXT "did=did:plc:d762mg6wvvmpeu66zojntlof"
|
||||||
|
_token._dnswl IN TXT "gg3mbwjx9bbuo5osvh7oz6bc881wcmc"
|
||||||
|
_matrix._tcp IN SRV 10 10 443 matrix.franzi.business.
|
||||||
|
|
||||||
|
; carlene
|
||||||
|
git IN CNAME carlene.kunbox.net.
|
||||||
|
irc IN CNAME carlene.kunbox.net.
|
||||||
|
mail IN CNAME carlene.kunbox.net.
|
||||||
|
matrix IN CNAME carlene.kunbox.net.
|
||||||
|
matrix-stickers IN CNAME carlene.kunbox.net.
|
||||||
|
netbox IN CNAME carlene.kunbox.net.
|
||||||
|
ntfy IN CNAME carlene.kunbox.net.
|
||||||
|
postfixadmin IN CNAME carlene.kunbox.net.
|
||||||
|
rss IN CNAME carlene.kunbox.net.
|
||||||
|
travelynx IN CNAME carlene.kunbox.net.
|
||||||
|
|
||||||
|
; icinga2
|
||||||
|
icinga IN CNAME icinga2.kunbox.net.
|
||||||
|
status IN CNAME icinga2.kunbox.net.
|
||||||
|
|
||||||
|
; pretix
|
||||||
|
tickets IN CNAME franzi-business.cname.pretix.eu.
|
|
@ -1,16 +1,4 @@
|
||||||
$TTL 60
|
${HEADER}
|
||||||
@ IN SOA ns-mephisto.kunbox.net. hostmaster.kunbox.net. (
|
|
||||||
${SERIAL}
|
|
||||||
3600
|
|
||||||
600
|
|
||||||
86400
|
|
||||||
300
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
${NAMESERVERS}
|
|
||||||
|
|
||||||
$ORIGIN kunbox.net.
|
|
||||||
|
|
||||||
; ends up on carlene.kunbox.net
|
; ends up on carlene.kunbox.net
|
||||||
@ IN A 193.135.9.29
|
@ IN A 193.135.9.29
|
||||||
|
|
1
data/powerdns/files/bind-zones/kunsi.scot
Symbolic link
1
data/powerdns/files/bind-zones/kunsi.scot
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
_parked
|
6
data/powerdns/files/bind-zones/kunsitracker.de
Normal file
6
data/powerdns/files/bind-zones/kunsitracker.de
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
${HEADER}
|
||||||
|
|
||||||
|
@ IN AAAA 2a0a:51c0:0:225::2
|
||||||
|
@ IN A 193.135.9.29
|
||||||
|
|
||||||
|
<%include file="bind-zones/_mail_carlene" />
|
14
data/powerdns/files/bind-zones/kunsmann.eu
Normal file
14
data/powerdns/files/bind-zones/kunsmann.eu
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
${HEADER}
|
||||||
|
|
||||||
|
@ IN AAAA 2a0a:51c0:0:225::2
|
||||||
|
@ IN A 193.135.9.29
|
||||||
|
|
||||||
|
<%include file="bind-zones/_mail_carlene" />
|
||||||
|
|
||||||
|
@ IN TXT "google-site-verification=Xl-OBZpTL1maD2Qr8QmQ2aKRXZLnCmvddpFdrTT8L34"
|
||||||
|
|
||||||
|
_token._dnswl IN TXT "5mx0rv9ru8s1zz4tf4xlt48osh09czmg"
|
||||||
|
|
||||||
|
git IN CNAME git.franzi.business.
|
||||||
|
grafana IN CNAME influxdb.htz-cloud.kunbox.net.
|
||||||
|
influxdb IN CNAME influxdb.htz-cloud.kunbox.net.
|
1
data/powerdns/files/bind-zones/raptor.events
Symbolic link
1
data/powerdns/files/bind-zones/raptor.events
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
_parked
|
1
data/powerdns/files/bind-zones/trans-agenda.de
Symbolic link
1
data/powerdns/files/bind-zones/trans-agenda.de
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
_parked
|
1
data/powerdns/files/bind-zones/trans-agenda.eu
Symbolic link
1
data/powerdns/files/bind-zones/trans-agenda.eu
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
_parked
|
6
data/powerdns/files/bind-zones/warnochwas.de
Normal file
6
data/powerdns/files/bind-zones/warnochwas.de
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
${HEADER}
|
||||||
|
|
||||||
|
@ IN AAAA 2a0a:51c0:0:225::2
|
||||||
|
@ IN A 193.135.9.29
|
||||||
|
|
||||||
|
<%include file="bind-zones/_mail_carlene" />
|
1
data/powerdns/files/bind-zones/winkeeinhorn.de
Symbolic link
1
data/powerdns/files/bind-zones/winkeeinhorn.de
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
_parked
|
Loading…
Add table
Add a link
Reference in a new issue