bundles/powerdns: rework zone file generation
This commit is contained in:
parent
264ea3e8a7
commit
ef16a2d081
2 changed files with 18 additions and 21 deletions
|
@ -5,26 +5,12 @@ from subprocess import check_output
|
||||||
|
|
||||||
zone_path = join(repo.path, 'data', 'powerdns', 'files', 'bind-zones')
|
zone_path = join(repo.path, 'data', 'powerdns', 'files', 'bind-zones')
|
||||||
|
|
||||||
ZONE_HEADER = """
|
nameservers = set()
|
||||||
; _ ____ _ _ _____ _ _ _ _ ____
|
|
||||||
; / \\ / ___| | | |_ _| | | | \\ | |/ ___|
|
|
||||||
; / _ \\| | | |_| | | | | | | | \\| | | _
|
|
||||||
; / ___ \\ |___| _ | | | | |_| | |\\ | |_| |
|
|
||||||
; /_/ \\_\\____|_| |_| |_| \\___/|_| \\_|\\____|
|
|
||||||
;
|
|
||||||
; --> Diese Datei wird von BundleWrap verwaltet! <--
|
|
||||||
|
|
||||||
$TTL 60
|
|
||||||
@ IN SOA ns-1.kunbox.net. hostmaster.kunbox.net. (
|
|
||||||
{serial}
|
|
||||||
3600
|
|
||||||
600
|
|
||||||
86400
|
|
||||||
300
|
|
||||||
)
|
|
||||||
"""
|
|
||||||
for rnode in sorted(repo.nodes_in_group('dns')):
|
for rnode in sorted(repo.nodes_in_group('dns')):
|
||||||
ZONE_HEADER += '@ IN NS {}.\n'.format(rnode.metadata.get('powerdns/my_hostname', rnode.metadata.get('hostname')))
|
if not rnode.metadata.get('powerdns/is_secondary'):
|
||||||
|
# hide the primary nameserver from auto-generated nameserver lists
|
||||||
|
continue
|
||||||
|
nameservers.add(rnode.metadata.get('powerdns/my_hostname', rnode.metadata.get('hostname')))
|
||||||
|
|
||||||
directories = {
|
directories = {
|
||||||
'/etc/powerdns/pdns.d': {
|
'/etc/powerdns/pdns.d': {
|
||||||
|
@ -102,7 +88,8 @@ if node.metadata.get('powerdns/features/bind', False):
|
||||||
files[f'/var/lib/powerdns/zones/{zone}'] = {
|
files[f'/var/lib/powerdns/zones/{zone}'] = {
|
||||||
'content_type': 'mako',
|
'content_type': 'mako',
|
||||||
'context': {
|
'context': {
|
||||||
'header': ZONE_HEADER.format(serial=serial),
|
'NAMESERVERS': '\n'.join(sorted({f'@ IN NS {ns}.' for ns in nameservers})),
|
||||||
|
'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}',
|
||||||
|
|
|
@ -1,4 +1,14 @@
|
||||||
${header}
|
$TTL 60
|
||||||
|
@ IN SOA ns-primary.kunbox.net. hostmaster.kunbox.net. (
|
||||||
|
${SERIAL}
|
||||||
|
3600
|
||||||
|
600
|
||||||
|
86400
|
||||||
|
300
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
${NAMESERVERS}
|
||||||
|
|
||||||
$ORIGIN kunbox.net.
|
$ORIGIN kunbox.net.
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue