]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - 3rdparty/modules/apache/manifests/mod/event.pp
try again, with puppetforge modules, correctly included now
[dsa-puppet.git] / 3rdparty / modules / apache / manifests / mod / event.pp
diff --git a/3rdparty/modules/apache/manifests/mod/event.pp b/3rdparty/modules/apache/manifests/mod/event.pp
new file mode 100644 (file)
index 0000000..389120c
--- /dev/null
@@ -0,0 +1,71 @@
+class apache::mod::event (
+  $startservers           = '2',
+  $maxclients             = '150',
+  $minsparethreads        = '25',
+  $maxsparethreads        = '75',
+  $threadsperchild        = '25',
+  $maxrequestsperchild    = '0',
+  $serverlimit            = '25',
+  $apache_version         = $::apache::apache_version,
+  $threadlimit            = '64',
+  $listenbacklog          = '511',
+  $maxrequestworkers      = '250',
+  $maxconnectionsperchild = '0',
+) {
+  if defined(Class['apache::mod::itk']) {
+    fail('May not include both apache::mod::event and apache::mod::itk on the same node')
+  }
+  if defined(Class['apache::mod::peruser']) {
+    fail('May not include both apache::mod::event and apache::mod::peruser on the same node')
+  }
+  if defined(Class['apache::mod::prefork']) {
+    fail('May not include both apache::mod::event and apache::mod::prefork on the same node')
+  }
+  if defined(Class['apache::mod::worker']) {
+    fail('May not include both apache::mod::event and apache::mod::worker on the same node')
+  }
+  File {
+    owner => 'root',
+    group => $::apache::params::root_group,
+    mode  => '0644',
+  }
+
+  # Template uses:
+  # - $startservers
+  # - $maxclients
+  # - $minsparethreads
+  # - $maxsparethreads
+  # - $threadsperchild
+  # - $maxrequestsperchild
+  # - $serverlimit
+  file { "${::apache::mod_dir}/event.conf":
+    ensure  => file,
+    content => template('apache/mod/event.conf.erb'),
+    require => Exec["mkdir ${::apache::mod_dir}"],
+    before  => File[$::apache::mod_dir],
+    notify  => Class['apache::service'],
+  }
+
+  case $::osfamily {
+    'redhat': {
+      if versioncmp($apache_version, '2.4') >= 0 {
+        apache::mpm{ 'event':
+          apache_version => $apache_version,
+        }
+      }
+    }
+    'debian','freebsd' : {
+      apache::mpm{ 'event':
+        apache_version => $apache_version,
+      }
+    }
+    'gentoo': {
+      ::portage::makeconf { 'apache2_mpms':
+        content => 'event',
+      }
+    }
+    default: {
+      fail("Unsupported osfamily ${::osfamily}")
+    }
+  }
+}