4da64ebd298ac540221b19e882922c6170368772
[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     group   => 'openldap',
40     mode    => '0440',
41   }
42   file { '/etc/default/slapd':
43     source => 'puppet:///modules/roles/sso/default-slapd',
44     notify => Service['slapd'],
45   }
46   file { '/var/lib/ldap-ftmg':
47     ensure => directory,
48     mode   => '0700',
49     owner  => 'openldap',
50     group  => 'openldap',
51     notify => Service['slapd'],
52   }
53
54   file { '/etc/ldap/schema/openssh-ldap.schema':
55     source => 'puppet:///modules/roles/sso/openssh-ldap.schema',
56     notify => Service['slapd'],
57   }
58 }