Mercurial > repos > other > Puppet
view modules/apache/manifests/mod/itk.pp @ 275:d9352a684e62
Mass update of modules to remove deprecation warnings
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sun, 26 Jan 2020 11:36:07 +0000 |
parents | 675c1cc61eaf |
children | b8d6ada284dd |
line wrap: on
line source
# @summary # Installs MPM `mod_itk`. # # @param startservers # Number of child server processes created on startup. # # @param minspareservers # Minimum number of idle child server processes. # # @param maxspareservers # Maximum number of idle child server processes. # # @param serverlimit # Maximum configured value for `MaxRequestWorkers` for the lifetime of the Apache httpd process. # # @param maxclients # Limit on the number of simultaneous requests that will be served. # # @param maxrequestsperchild # Limit on the number of connections that an individual child server process will handle. # # @param enablecapabilities # Drop most root capabilities in the parent process, and instead run as the user given by the User/Group directives with some extra # capabilities (in particular setuid). Somewhat more secure, but can cause problems when serving from filesystems that do not honor # capabilities, such as NFS. # # @param apache_version # Used to verify that the Apache version you have requested is compatible with the module. # # @see http://mpm-itk.sesse.net for additional documentation. # class apache::mod::itk ( $startservers = '8', $minspareservers = '5', $maxspareservers = '20', $serverlimit = '256', $maxclients = '256', $maxrequestsperchild = '4000', $enablecapabilities = undef, $apache_version = undef, ) { include ::apache $_apache_version = pick($apache_version, $apache::apache_version) if defined(Class['apache::mod::event']) { fail('May not include both apache::mod::itk and apache::mod::event on the same node') } if defined(Class['apache::mod::peruser']) { fail('May not include both apache::mod::itk and apache::mod::peruser on the same node') } if versioncmp($_apache_version, '2.4') < 0 { if defined(Class['apache::mod::prefork']) { fail('May not include both apache::mod::itk and apache::mod::prefork on the same node') } } else { # prefork is a requirement for itk in 2.4; except on FreeBSD and Gentoo, which are special if $::osfamily =~ /^(FreeBSD|Gentoo)/ { if defined(Class['apache::mod::prefork']) { fail('May not include both apache::mod::itk and apache::mod::prefork on the same node') } } else { if ! defined(Class['apache::mod::prefork']) { include ::apache::mod::prefork } } } if defined(Class['apache::mod::worker']) { fail('May not include both apache::mod::itk and apache::mod::worker on the same node') } File { owner => 'root', group => $::apache::params::root_group, mode => $::apache::file_mode, } # Template uses: # - $startservers # - $minspareservers # - $maxspareservers # - $serverlimit # - $maxclients # - $maxrequestsperchild file { "${::apache::mod_dir}/itk.conf": ensure => file, mode => $::apache::file_mode, content => template('apache/mod/itk.conf.erb'), require => Exec["mkdir ${::apache::mod_dir}"], before => File[$::apache::mod_dir], notify => Class['apache::service'], } case $::osfamily { 'redhat': { package { 'httpd-itk': ensure => present, } if versioncmp($_apache_version, '2.4') >= 0 { ::apache::mpm{ 'itk': apache_version => $_apache_version, } } else { file_line { '/etc/sysconfig/httpd itk enable': ensure => present, path => '/etc/sysconfig/httpd', line => 'HTTPD=/usr/sbin/httpd.itk', match => '#?HTTPD=/usr/sbin/httpd.itk', require => Package['httpd'], notify => Class['apache::service'], } } } 'debian', 'freebsd': { apache::mpm{ 'itk': apache_version => $_apache_version, } } 'gentoo': { ::portage::makeconf { 'apache2_mpms': content => 'itk', } } default: { fail("Unsupported osfamily ${::osfamily}") } } }