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/iptables-rules.d/90-pppd': { 'content_type': 'any', }, '/etc/ppp/chap-secrets': { 'source': 'secrets', 'content_type': 'mako', 'context': node.metadata['pppd'], 'mode': '0400', 'triggers': { 'svc_systemd:pppoe:restart', }, }, '/etc/ppp/pap-secrets': { 'source': 'secrets', 'content_type': 'mako', 'context': node.metadata['pppd'], 'mode': '0400', 'triggers': { 'svc_systemd:pppoe:restart', }, }, '/etc/ppp/ip-down.d/iptables': { 'source': 'ip-down', 'mode': '0755', }, '/etc/ppp/ip-up.d/iptables': { 'source': 'ip-up', 'mode': '0755', }, '/etc/ppp/peers/provider': { 'content_type': 'mako', 'context': node.metadata['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/systemd/system/pppoe.service': { 'triggers': { 'action:systemd-reload', 'svc_systemd:pppoe:restart', }, }, '/usr/local/bin/restart-pppoe-if-no-public-ip': { 'mode': '0755', }, '/usr/local/share/icinga/plugins/check_dyndns_update': { 'mode': '0755', }, } if 'dyndns' in node.metadata['pppd']: files['/etc/ppp/ip-up.d/dyndns'] = { 'content_type': 'mako', 'context': node.metadata['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', }, }, }