Ship an initial ftmg slapd config
authorPeter Palfrader <peter@palfrader.org>
Mon, 16 Sep 2019 11:39:59 +0000 (13:39 +0200)
committerPeter Palfrader <peter@palfrader.org>
Mon, 16 Sep 2019 11:39:59 +0000 (13:39 +0200)
modules/roles/files/sso/slapd-ftmg.conf [deleted file]
modules/roles/manifests/sso.pp
modules/roles/templates/sso/slapd-ftmg.conf.erb [new file with mode: 0644]

diff --git a/modules/roles/files/sso/slapd-ftmg.conf b/modules/roles/files/sso/slapd-ftmg.conf
deleted file mode 100644 (file)
index e69de29..0000000
index 052ddc1..6a119d4 100644 (file)
@@ -1,3 +1,6 @@
+# Debian SSO class.
+#
+# This sets up the web service as well as the LDAP backend for ftmg
 class roles::sso {
   include apache2
   include roles::sso_rp
@@ -11,6 +14,8 @@ class roles::sso {
     key    => true,
   }
 
+  $ftmg_dsa_root_password = hkdf('/etc/puppet/secret', "roles::sso::slapd-ftmg::${::fqdn}")
+
   ensure_packages ( [
     'slapd',
     ], {
@@ -29,13 +34,20 @@ class roles::sso {
     notify => Service['slapd'],
   }
   file { '/etc/ldap/slapd-ftmg.conf':
-    source => 'puppet:///modules/roles/sso/slapd-ftmg.conf',
-    notify => Service['slapd'],
+    content => template('roles/sso/slapd-ftmg.conf.erb'),
+    notify  => Service['slapd'],
   }
   file { '/etc/default/slapd':
     source => 'puppet:///modules/roles/sso/default-slapd',
     notify => Service['slapd'],
   }
+  file { '/var/lib/ldap-ftmg':
+    ensure => directory,
+    mode   => '0700',
+    owner  => 'openldap',
+    group  => 'openldap',
+    notify => Service['slapd'],
+  }
 
   file { '/etc/ldap/schema/openssh-ldap.schema':
     source => 'puppet:///modules/roles/sso/openssh-ldap.schema',
diff --git a/modules/roles/templates/sso/slapd-ftmg.conf.erb b/modules/roles/templates/sso/slapd-ftmg.conf.erb
new file mode 100644 (file)
index 0000000..dd03f10
--- /dev/null
@@ -0,0 +1,27 @@
+# slapd configuration for SSO's user management DB, ftmg
+
+moduleload      back_mdb
+database   mdb
+directory  "/var/lib/ldap-ftmg"
+suffix     "dc=ftmg,dc=sso,dc=debian,dc=org"
+
+rootdn     "cn=root,dc=ftmg,dc=sso,dc=debian,dc=org"
+rootpw     "<%= @ftmg_dsa_root_password %>"
+
+maxsize    134217728
+checkpoint 131072 5
+
+index cn,sn,uid pres,eq,approx,sub
+index objectClass eq
+
+access to *
+        by dn="cn=admin,dc=ftmg,dc=sso,dc=debian,dc=org" write
+        by * break
+
+access to attrs=userPassword
+        by self write
+        by * break
+
+access to *
+        by anonymous auth
+        by * break