|
@@ -0,0 +1,43 @@
|
|
|
|
+# A description of what this class does
|
|
|
|
+#
|
|
|
|
+# @summary A short summary of the purpose of this class
|
|
|
|
+#
|
|
|
|
+# @example
|
|
|
|
+# include openldap::server::config
|
|
|
|
+class openldap::server::config {
|
|
|
|
+ # Ensure the main server class has been defined
|
|
|
|
+ if !defined(Class['openldap::server']) {
|
|
|
|
+ fail 'Class openldap::server not defined'
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ # Generate interface lists for the three types of connections
|
|
|
|
+ $slapd_ldap_ifs = empty($openldap::server::ldap_ifs) ? {
|
|
|
|
+ true => '',
|
|
|
|
+ false => join(prefix($openldap::server::ldap_ifs, 'ldap://'), ' '),
|
|
|
|
+ }
|
|
|
|
+ $slapd_ldapi_ifs = empty($openldap::server::ldapi_ifs) ? {
|
|
|
|
+ true => '',
|
|
|
|
+ false => join(prefix($openldap::server::ldapi_ifs, 'ldapi://'), ' '),
|
|
|
|
+ }
|
|
|
|
+ $slapd_ldaps_ifs = empty($openldap::server::ldaps_ifs) ? {
|
|
|
|
+ true => '',
|
|
|
|
+ false => join(prefix($openldap::server::ldaps_ifs, 'ldaps://'), ' '),
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ # Concat into a single interface string
|
|
|
|
+ $slapd_ldap_urls = "${slapd_ldap_ifs} ${slapd_ldapi_ifs} ${slapd_ldaps_ifs}"
|
|
|
|
+
|
|
|
|
+ case $::osfamily {
|
|
|
|
+ 'Debian': {
|
|
|
|
+ shellvar { 'slapd':
|
|
|
|
+ ensure => present,
|
|
|
|
+ target => '/etc/default/slapd',
|
|
|
|
+ variable => 'SLAPD_SERVICES',
|
|
|
|
+ value => $slapd_ldap_urls,
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ default: {
|
|
|
|
+ fail "Operating-system family ${::osfamily} not yet supported"
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|