|
@@ -0,0 +1,42 @@
|
|
|
+# A description of what this class does
|
|
|
+#
|
|
|
+# @summary A short summary of the purpose of this class
|
|
|
+#
|
|
|
+# @example
|
|
|
+# include openldap::server::slapdconf
|
|
|
+class openldap::server::slapdconf {
|
|
|
+ # Ensure the main server class has been defined
|
|
|
+ if !defined(Class['openldap::server']) {
|
|
|
+ fail 'Class openldap::server not defined'
|
|
|
+ }
|
|
|
+
|
|
|
+ # Create a location for configuration to live
|
|
|
+ case $openldap::server::provider {
|
|
|
+ 'augeas': {
|
|
|
+ file { $openldap::server::config_file:
|
|
|
+ ensure => file,
|
|
|
+ owner => $openldap::server::owner,
|
|
|
+ group => $openldap::server::group,
|
|
|
+ mode => '0640',
|
|
|
+ }
|
|
|
+ }
|
|
|
+ 'olc': {
|
|
|
+ file { $openldap::server::config_dir:
|
|
|
+ ensure => directory,
|
|
|
+ owner => $openldap::server::owner,
|
|
|
+ group => $openldap::server::group,
|
|
|
+ mode => '0750',
|
|
|
+ force => true,
|
|
|
+ }
|
|
|
+ }
|
|
|
+ default: {
|
|
|
+ fail "Invalid config provider ${openldap::server::provider}"
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ # TODO: SSL cert stuff
|
|
|
+
|
|
|
+ # TODO: Remove default database on Debian
|
|
|
+
|
|
|
+ # TODO: Create databases
|
|
|
+}
|