bundlewrap/bundles/unbound/items.py

64 lines
1.6 KiB
Python

files = {
'/etc/unbound/unbound.conf': {
'content_type': 'mako',
'context': node.metadata['unbound'],
'triggers': {
'svc_systemd:unbound:restart',
},
},
'/usr/local/sbin/unbound-auto-restart': {
'mode': '0755',
},
}
actions = {
'unbound_generate_certificates': {
'command': 'unbound-control-setup && chmod 0644 /etc/unbound/unbound_control.*',
'unless': 'test -f /etc/unbound/unbound_server.key',
'needs': {
'pkg_apt:unbound',
'pkg_apt:unbound-anchor',
},
},
'unbound_download_root_hints': {
'command': 'wget -O/etc/unbound/root-hints.txt https://www.internic.net/domain/named.root',
'unless': 'test -f /etc/unbound/root-hints.txt',
'needs': {
'pkg_apt:unbound',
},
},
}
svc_systemd = {
'unbound': {
'needs': {
'action:unbound_generate_certificates',
'action:unbound_download_root_hints',
'file:/etc/unbound/unbound.conf',
'pkg_apt:unbound',
'pkg_apt:unbound-anchor',
},
},
}
directories['/usr/share/dns'] = {
'before': {
'pkg_apt:unbound',
'pkg_apt:unbound-anchor',
},
}
if node.has_bundle('systemd-networkd'):
svc_systemd['unbound']['needed_by'] = {
'file:/etc/resolv.conf',
}
if node.has_bundle('pppd'):
files['/etc/systemd/system/unbound.service.d/bundlewrap.conf'] = {
'source': 'override.conf',
'triggers': {
'action:systemd-reload',
'svc_systemd:unbound:restart',
},
}