slapdconf.pp 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. # A description of what this class does
  2. #
  3. # @summary A short summary of the purpose of this class
  4. #
  5. # @example
  6. # include openldap::server::slapdconf
  7. class openldap::server::slapdconf {
  8. # Ensure the main server class has been defined
  9. if !defined(Class['openldap::server']) {
  10. fail 'Class openldap::server not defined'
  11. }
  12. # Create a location for configuration to live
  13. case $openldap::server::provider {
  14. 'augeas': {
  15. file { $openldap::server::config_file:
  16. ensure => file,
  17. owner => $openldap::server::owner,
  18. group => $openldap::server::group,
  19. mode => '0640',
  20. }
  21. }
  22. 'olc': {
  23. file { $openldap::server::config_dir:
  24. ensure => directory,
  25. owner => $openldap::server::owner,
  26. group => $openldap::server::group,
  27. mode => '0750',
  28. force => true,
  29. }
  30. }
  31. default: {
  32. fail "Invalid config provider ${openldap::server::provider}"
  33. }
  34. }
  35. # TODO: SSL cert stuff
  36. # TODO: Remove default database on Debian
  37. # TODO: Create databases
  38. }