diff --git a/ldap/manifests/init.pp b/ldap/manifests/init.pp index d4eb1a8..62335ca 100644 --- a/ldap/manifests/init.pp +++ b/ldap/manifests/init.pp @@ -87,8 +87,34 @@ class ldap::client::ruby inherits ldap::client { # Install OpenLDAP server. # +# $ldap_datadir: +# Directory for LDAP databases. Defaults to /srv/ldap. +# class ldap::server { + if $ldap_datadir { + file { "${ldap_datadir}": + ensure => directory, + mode => 0700, + owner => ldap, + group => ldap, + require => Package["openldap-servers"], + } + file { "/srv/ldap": + ensure => link, + target => "${ldap_datadir}", + require => File["${ldap_datadir}"], + } + } else { + file { "/srv/ldap": + ensure => directory, + mode => 0700, + owner => ldap, + group => ldap, + require => Package["openldap-servers"], + } + } + package { [ "openldap-servers", "openldap-servers-overlays", ]: ensure => installed, } @@ -110,7 +136,7 @@ class ldap::server { require => Package["openldap-servers"], } - file { "/var/lib/ldap/DB_CONFIG": + file { "/srv/ldap/DB_CONFIG": ensure => present, source => [ "puppet:///files/ldap/DB_CONFIG.${fqdn}", "puppet:///files/ldap/DB_CONFIG",