Version information
released Jun 25th 2024
This version is compatible with:
- Puppet Enterprise 2023.8.x, 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x
- Puppet >= 7.0.0 < 9.0.0
- , , , , ,
Start using this module
Add this module to your Puppetfile:
mod 'deric-sysctl_conf', '1.0.0'
Learn more about managing modules with a PuppetfileDocumentation
deric/sysctl_conf — version 1.0.0 Jun 25th 2024
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
Changelog
Release 1.0.0 [2023-06-25]
- PDK update
- Drop Puppet 6
- Test agains ruby 3.2
Release 0.4.0 [2023-06-22]
- Use
puppet-augeasproviders_core
andpuppet-augeasproviders_sysctl
dependecies instead ofherculesteam-augeasproviders_core
andherculesteam-augeasproviders_sysctl
(#7) - Don't quote integers
Release 0.3.0 [2022-05-05]
- Allow passing values as
Integer
(#3, #5)
Release 0.2.1
- Allow newer augeas dependencies
- Updated supported systems
Release 0.2.0
- Include default merge options (#2)
Release 0.1.1
- Use semantic version formatting for module dependencies (#1)
Release 0.1.0
Features
Initial version
Bugfixes
Known Issues
Dependencies
- puppet-augeasproviders_core (>= 3.2.0 < 5.0.0)
- puppet-augeasproviders_sysctl (>= 3.0.0 < 4.0.0)