Version information
released Oct 26th 2020
This version is compatible with:
- Puppet Enterprise 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2016.4.x
- Puppet >= 4.10.0 < 7.0.0
- , , , , ,
Start using this module
Add this module to your Puppetfile:
mod 'deric-sysctl_conf', '0.2.0'
Learn more about managing modules with a PuppetfileDocumentation
deric/sysctl_conf — version 0.2.0 Oct 26th 2020
Puppet sysctl_conf
Configure Linux kernel parameters at runtime via Puppet's Hiera based sysctl.conf
management.
Description
By default for each key (e.g. net.ipv4.ip_forward
) creates a corresponding configuration file (e.g. /etc/sysctl.d/net.ipv4.ip_forward.conf
) with given value (net.ipv4.ip_forward = 1
). sysctl
configuration is applied immediately.
sysctl_conf::values:
net.ipv4.ip_forward:
value: '1'
Setup
Either include sysctl_conf
directly in your node's definition:
include sysctl_conf
or via Hiera call, e.g.:
lookup('classes', {merge => unique}).include
then make sure to include sysctl_conf
in classes
definition:
classes:
- sysctl_conf
Merge behavior
Cofigure merge behavior suitable for you needs:
lookup_options:
sysctl_conf::values:
merge: deep
Usage
- set simple value:
sysctl_conf::values:
vm.overcommit_memory:
value: '1'
- ignore non-activated configuration option
sysctl_conf::values:
"net.ipv6.conf.%{networking.primary}.disable_ipv6":
value: '1'
silent: true
- delete entry
sysctl_conf::values:
kernel.keys.root_maxkeys:
ensure: absent
- don't persist configuration on disk
sysctl_conf::values:
net.ipv6.conf.all.disable_ipv6:
value: '1'
persist: false
- add comment
sysctl_conf::values:
vm.swappiness:
value: '0'
comment: 'disable swap'
- don't apply changes with
sysctl
command (will be applied upon next reboot)
sysctl_conf::values:
kernel.sem:
value: '250 32000 256 256'
apply: false
- custom configuration file
net.ipv4.ip_forward:
kernel.sem:
value: '1'
target: '/etc/sysctl.d/forwarding.conf'
Documentation
Generate documentation:
$ rake strings:generate
in markdown:
$ puppet strings generate --format markdown --out sysctl_conf.md
Dependencies
- herculesteam-augeasproviders_core (>= 2.0.0 < 3.0.0)
- herculesteam-augeasproviders_sysctl (>= 2.0.0 < 3.0.0)