bundlewrap/bundles/pppd/items.py
Franzi bd10dc578f
Some checks failed
kunsi/bundlewrap/pipeline/head There was a failure building this commit
bundles/pppd: refactor check_dyndns_update
We don't care about what the DNS provider said when updating the ip
address. The only thing we care about is wether the current external ip
of the system matches the resolved ip address.
2021-08-14 08:00:43 +02:00

114 lines
2.6 KiB
Python

directories = {
'/etc/ppp/ip-up.d': {
'purge': True,
'needs': {
'pkg_apt:ppp',
},
},
'/etc/ppp/ip-down.d': {
'purge': True,
'needs': {
'pkg_apt:ppp',
},
},
'/etc/ppp/ipv6-up.d': {
'purge': True,
'needs': {
'pkg_apt:ppp',
},
},
'/etc/ppp/ipv6-down.d': {
'purge': True,
'needs': {
'pkg_apt:ppp',
},
},
'/etc/ppp/peers': {
'purge': True,
'needs': {
'pkg_apt:ppp',
},
},
}
files = {
'/etc/nftables-rules.d/90-pppd': {
'content_type': 'any',
},
'/etc/ppp/chap-secrets': {
'source': 'secrets',
'content_type': 'mako',
'context': node.metadata.get('pppd'),
'mode': '0400',
'triggers': {
'svc_systemd:pppoe:restart',
},
},
'/etc/ppp/pap-secrets': {
'source': 'secrets',
'content_type': 'mako',
'context': node.metadata.get('pppd'),
'mode': '0400',
'triggers': {
'svc_systemd:pppoe:restart',
},
},
'/etc/ppp/ip-down.d/nftables': {
'source': 'ip-down',
'mode': '0755',
},
'/etc/ppp/ip-up.d/nftables': {
'source': 'ip-up',
'mode': '0755',
},
'/etc/ppp/peers/provider': {
'content_type': 'mako',
'context': node.metadata.get('pppd'),
'triggers': {
'svc_systemd:pppoe:restart',
},
},
'/etc/ppp/wait-until-stopped': {
'content_type': 'mako',
'context': {
'services': node.metadata.get('pppd/wait-until-stopped', set()),
},
'mode': '0700',
},
'/etc/sysctl.d/90-pppd.conf': {
'content_type': 'any',
},
'/etc/systemd/system/pppoe.service': {
'triggers': {
'action:systemd-reload',
'svc_systemd:pppoe:restart',
},
},
'/usr/local/bin/restart-pppoe-if-no-public-ip': {
'mode': '0755',
},
}
if node.metadata.get('pppd/dyndns', {}):
files['/etc/ppp/ip-up.d/dyndns'] = {
'content_type': 'mako',
'context': node.metadata.get('pppd/dyndns'),
'mode': '0755',
}
files['/usr/local/share/icinga/plugins/check_dyndns_update'] = {
'content_type': 'mako',
'context': node.metadata.get('pppd/dyndns'),
'mode': '0755',
}
svc_systemd = {
'pppoe': {
'needs': {
'file:/etc/ppp/chap-secrets',
'file:/etc/ppp/pap-secrets',
'file:/etc/ppp/peers/provider',
'file:/etc/systemd/system/pppoe.service',
},
},
}