Table of Contents
- Description
- Setup - The basics of getting started with sysctl
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
- License
- Authors
Description
This module manages the sysctl configuration (in /etc/sysctl.conf by default) and runtime values.
Setup
Beginning with sysctl
To set a sysctl value in the configuration file and the runtime value. By default
sets the configuration in /etc/sysctl.conf by can be customized with the target parameter.
sysctl::value { 'vm.nr_hugepages': value => '1583' }
Usage
Basic usage
The basic usage by setting the configuration file and runtime value.
sysctl::value { 'vm.nr_hugepages': value => '1583' }
Multiple tab-separated values
When setting a key that contains multiple values, use a tab to separate the values.
sysctl::value { 'net.ipv4.tcp_rmem': value => "4096\t131072\t131072", }
Custom target file
If another config file then the default /etc/sysctl.conf is required.
sysctl::value { 'vm.nr_hugepages': value => '1583', target => '/etc/sysctl.d/mysysctl.conf', }
Setting multiple sysctl keys
To avoid duplication the sysctl::value calls multiple settings can be managed with
the sysctl::values resource.
$my_sysctl_settings = { 'net.ipv4.ip_forward' => { value => 1 }, 'net.ipv6.conf.all.forwarding' => { value => 1 }, } # Specify defaults for all the sysctl::value to be created $my_sysctl_defaults = { require => Package['aa'] } create_resources(sysctl::value, $my_sysctl_settings, $my_sysctl_defaults) # or by using the sysctl::values resource sysctl::values { 'multiple': args => $my_sysctl_settings, defaults => $my_sysctl_defaults, }
Using hiera
You can configure hiera data and pass it to the sysctl::values resource.
sysctl::values:
net.ipv4.ip_forward:
value: 1
net.ipv6.conf.all.forwarding:
value: 1
Reference
Here, include a complete list of your module's classes, types, providers, facts, along with the parameters for each. Users refer to this section (thus the name "Reference") to find specific details; most users don't read it per se.
Limitations
For an extensive list of supported operating systems, see metadata.json
Puppet 3 support
The 0.0.12 release is the last version that supports Puppet 3.
License
Copyright (C) 2011 Immerda Project Group
sysctl is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.
sysctl is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with sysctl. If not, see http://www.gnu.org/licenses/.
Authors
This module is based on work by mh (mh@immerda.ch). The following contributors have contributed to this module, in alphabetical order.
- Artem Sidorenko (artem-sidorenko)
- Beefsalad (beefsalad)
- Decibelhertz (decibelhertz)
- Dominic (dol)
- Duncan Ward (ddub)
- Duritong (duritong)
- Emilien Macchi (EmilienM)
- Jason Hancock (jasonhancock)
- Merritt Krakowitzer (mkrakowitzer)
- Mh (mh@immerda.ch)
- Nicolas Zin (nicolas.zin@savoirfairelinux.com)
- Patrick Debois (jedi4ever)
- Sebastian Reitenbach (buzzdeee)
- Stefan Möding (smoeding)
- Thracky (Thracky)
- Tobias Urdin (tobias-urdin)
