]> git.donarmstrong.com Git - dsa-puppet.git/blob - 3rdparty/modules/apache/manifests/mod/ssl.pp
add Openstack modules to 3rdparty
[dsa-puppet.git] / 3rdparty / modules / apache / manifests / mod / ssl.pp
1 class apache::mod::ssl (
2   $ssl_compression         = false,
3   $ssl_cryptodevice        = 'builtin',
4   $ssl_options             = [ 'StdEnvVars' ],
5   $ssl_cipher              = 'HIGH:MEDIUM:!aNULL:!MD5',
6   $ssl_honorcipherorder    = 'On',
7   $ssl_protocol            = [ 'all', '-SSLv2', '-SSLv3' ],
8   $ssl_pass_phrase_dialog  = 'builtin',
9   $ssl_random_seed_bytes   = '512',
10   $ssl_sessioncachetimeout = '300',
11   $apache_version          = $::apache::apache_version,
12   $package_name            = undef,
13 ) {
14   $session_cache = $::osfamily ? {
15     'debian'  => "\${APACHE_RUN_DIR}/ssl_scache(512000)",
16     'redhat'  => '/var/cache/mod_ssl/scache(512000)',
17     'freebsd' => '/var/run/ssl_scache(512000)',
18     'gentoo'  => '/var/run/ssl_scache(512000)',
19   }
20
21   case $::osfamily {
22     'debian': {
23       if versioncmp($apache_version, '2.4') >= 0 {
24         $ssl_mutex = 'default'
25       } elsif $::operatingsystem == 'Ubuntu' and $::operatingsystemrelease == '10.04' {
26         $ssl_mutex = 'file:/var/run/apache2/ssl_mutex'
27       } else {
28         $ssl_mutex = "file:\${APACHE_RUN_DIR}/ssl_mutex"
29       }
30     }
31     'redhat': {
32       $ssl_mutex = 'default'
33     }
34     'freebsd': {
35       $ssl_mutex = 'default'
36     }
37     'gentoo': {
38       $ssl_mutex = 'default'
39     }
40     default: {
41       fail("Unsupported osfamily ${::osfamily}")
42     }
43   }
44
45   ::apache::mod { 'ssl':
46     package => $package_name,
47   }
48
49   if versioncmp($apache_version, '2.4') >= 0 {
50     ::apache::mod { 'socache_shmcb': }
51   }
52
53   # Template uses
54   #
55   # $ssl_compression
56   # $ssl_cryptodevice
57   # $ssl_cipher
58   # $ssl_honorcipherorder
59   # $ssl_options
60   # $session_cache
61   # $ssl_mutex
62   # $ssl_random_seed_bytes
63   # $ssl_sessioncachetimeout
64   # $apache_version
65   #
66   file { 'ssl.conf':
67     ensure  => file,
68     path    => "${::apache::mod_dir}/ssl.conf",
69     content => template('apache/mod/ssl.conf.erb'),
70     require => Exec["mkdir ${::apache::mod_dir}"],
71     before  => File[$::apache::mod_dir],
72     notify  => Class['apache::service'],
73   }
74 }