6a119d4c59939f84d06d127ac78fd64c5b247699
[mirror/dsa-puppet.git] / modules / roles / manifests / sso.pp
1 # Debian SSO class.
2 #
3 # This sets up the web service as well as the LDAP backend for ftmg
4 class roles::sso {
5   include apache2
6   include roles::sso_rp
7
8   ssl::service { 'sso.debian.org':
9     notify => Exec['service apache2 reload'],
10     key    => true,
11   }
12   ssl::service { 'ftmg.sso.debian.org':
13     notify => Exec['service apache2 reload'],
14     key    => true,
15   }
16
17   $ftmg_dsa_root_password = hkdf('/etc/puppet/secret', "roles::sso::slapd-ftmg::${::fqdn}")
18
19   ensure_packages ( [
20     'slapd',
21     ], {
22     ensure => 'installed',
23   })
24   service { 'slapd':
25     ensure  => running,
26   }
27   file { '/etc/ldap/slapd.d':
28     ensure => absent,
29     force  => true,
30     notify => Service['slapd'],
31   }
32   file { '/etc/ldap/slapd.conf':
33     source => 'puppet:///modules/roles/sso/slapd.conf',
34     notify => Service['slapd'],
35   }
36   file { '/etc/ldap/slapd-ftmg.conf':
37     content => template('roles/sso/slapd-ftmg.conf.erb'),
38     notify  => Service['slapd'],
39   }
40   file { '/etc/default/slapd':
41     source => 'puppet:///modules/roles/sso/default-slapd',
42     notify => Service['slapd'],
43   }
44   file { '/var/lib/ldap-ftmg':
45     ensure => directory,
46     mode   => '0700',
47     owner  => 'openldap',
48     group  => 'openldap',
49     notify => Service['slapd'],
50   }
51
52   file { '/etc/ldap/schema/openssh-ldap.schema':
53     source => 'puppet:///modules/roles/sso/openssh-ldap.schema',
54     notify => Service['slapd'],
55   }
56 }