files = { '/usr/local/sbin/apply-sysctl': { 'content': '#!/bin/sh\n' '\n' 'cat /etc/sysctl.d/*.conf | sysctl -e -p -', 'mode': '0700', }, '/etc/sysctl.d/98-sysctl.conf': { 'content_type': 'mako', 'triggers': { 'action:apply-sysctl-settings', }, }, '/etc/sysctl.conf': { 'delete': True, 'triggers': { 'action:apply-sysctl-settings', }, }, } if node.os == 'debian': # debian insists on creating that file during almost every # unattended-upgrades run. Make it known to bundlewrap, so # it does not get removed during applies. symlinks['/etc/sysctl.d/99-sysctl.conf'] = { 'target': '../sysctl.conf', } directories = { '/etc/sysctl.d': { 'purge': True, 'triggers': { 'action:apply-sysctl-settings', }, }, } actions = { 'apply-sysctl-settings': { 'command': '/usr/local/sbin/apply-sysctl', 'triggered': True, 'needs': { 'file:/usr/local/sbin/apply-sysctl', }, 'triggers': node.metadata.get('sysctl/reload_triggers', set()) }, }