bundlewrap/bundles/sysctl/items.py

50 lines
1.2 KiB
Python

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())
},
}