Puppet Class: sysctl::base

Inherits:
sysctl::params
Defined in:
manifests/base.pp

Summary

Common part for the sysctl definition. Not meant to be used on its own.

Overview

Parameters:

  • purge (Boolean) (defaults to: false)

    Boolean to choose if $sysctl_dir_path should get purged.

  • values (Hash) (defaults to: {})

    Hash of sysctl keys and their values to managed.

  • hiera_merge_values (Boolean) (defaults to: false)

    Boolean to choose if $values to be used should be searched in hiera.

  • symlink99 (Boolean) (defaults to: $sysctl::params::symlink99)

    Boolean to choose if 99-sysctl.conf should be created.

  • sysctl_dir (Boolean) (defaults to: true)

    Boolean to choose if $sysctl_dir_path should be managed.

  • sysctl_dir_path (Stdlib::Absolutepath) (defaults to: '/etc/sysctl.d')

    Absolute path of sysctl directory.

  • sysctl_dir_owner (String[1]) (defaults to: 'root')

    Owner for sysctl directory.

  • sysctl_dir_group (String[1]) (defaults to: 'root')

    Group for sysctl directory.

  • sysctl_dir_mode (Stdlib::Filemode) (defaults to: '0755')

    Mode for sysctl directory.



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'manifests/base.pp', line 31

class sysctl::base (
  Boolean              $purge              = false,
  Hash                 $values             = {},
  Boolean              $hiera_merge_values = false,
  Boolean              $symlink99          = $sysctl::params::symlink99,
  Boolean              $sysctl_dir         = true,
  Stdlib::Absolutepath $sysctl_dir_path    = '/etc/sysctl.d',
  String[1]            $sysctl_dir_owner   = 'root',
  String[1]            $sysctl_dir_group   = 'root',
  Stdlib::Filemode     $sysctl_dir_mode    = '0755',
) inherits sysctl::params {
  # Hiera support
  if $hiera_merge_values == true {
    $values_real = lookup('sysctl::base::values', {})
  } else {
    $values_real = $values
  }

  create_resources(sysctl,$values_real)

  if $sysctl_dir {
    file { $sysctl_dir_path:
      ensure  => 'directory',
      owner   => $sysctl_dir_owner,
      group   => $sysctl_dir_group,
      mode    => $sysctl_dir_mode,
      # Magic hidden here
      purge   => $purge,
      recurse => $purge,
    }
    if $symlink99 and $sysctl_dir_path =~ /^\/etc\/[^\/]+$/ {
      file { "${sysctl_dir_path}/99-sysctl.conf":
        ensure => link,
        owner  => $sysctl_dir_owner,
        group  => $sysctl_dir_group,
        target => '../sysctl.conf',
      }
    }
  }
}