|
@@ -0,0 +1,38 @@
|
|
|
+# A description of what this class does
|
|
|
+#
|
|
|
+# @summary A short summary of the purpose of this class
|
|
|
+#
|
|
|
+# @example
|
|
|
+# include openldap::server::install
|
|
|
+class openldap::server::install {
|
|
|
+ # Ensure the main server class has been defined
|
|
|
+ if !defined(Class['openldap::server']) {
|
|
|
+ fail 'Class openldap::server not defined'
|
|
|
+ }
|
|
|
+
|
|
|
+ # Include utility programs if using olc
|
|
|
+ if $openldap::server::provider == 'olc' {
|
|
|
+ contain openldap::utils
|
|
|
+ }
|
|
|
+
|
|
|
+ # Declare answer file if on a Debian-like system
|
|
|
+ if $::osfamily == 'Debian' {
|
|
|
+ $answerfile = '/var/cache/debconf/slapd.preseed'
|
|
|
+ file { $answerfile:
|
|
|
+ ensure => file,
|
|
|
+ mode => '0644',
|
|
|
+ owner => 'root',
|
|
|
+ group => 'root',
|
|
|
+ source => 'puppet:///modules/darkmorford-openldap/slapd.preseed',
|
|
|
+ before => Package[$openldap::server::server_package],
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ $answerfile = undef
|
|
|
+ }
|
|
|
+
|
|
|
+ # Install the server package
|
|
|
+ package { $openldap::server::server_package:
|
|
|
+ ensure => installed,
|
|
|
+ responsefile => $answerfile,
|
|
|
+ }
|
|
|
+}
|