Puppet Class: openldap::server::access

Defined in:
manifests/server/access.pp

Overview

Class: openldap::server::access

This is a helper class for adding access control rules to /etc/openldap/slapd.access.

This whole thing needs to be rewritten as a native type.

Authors:

  • Trevor Vaughan <tvaughan@onyxpoint.com>



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'manifests/server/access.pp', line 13

class openldap::server::access {
  include '::openldap::server'

  $fragdir = fragmentdir('slapd_access')

  concat_build { 'slapd_access':
    order  => '*.inc',
    target => "${fragdir}_slapd.access",
    notify => Exec['postprocess_slapd.access']
  }

  exec { 'postprocess_slapd.access':
    command => "/usr/local/sbin/simp/build_slapd_access.rb ${fragdir}_slapd.access",
    unless  => "/usr/bin/diff -q ${fragdir}_slapd.access.out /etc/openldap/slapd.access",
    require => File['/usr/local/sbin/simp/build_slapd_access.rb']
  }

  file { '/usr/local/sbin/simp/build_slapd_access.rb':
    owner   => 'root',
    group   => 'root',
    mode    => '0750',
    content => template('openldap/build_slapd_access.rb.erb')
  }

  file { '/etc/openldap/slapd.access':
    ensure  => 'file',
    owner   => 'root',
    group   => 'ldap',
    mode    => '0640',
    require => Exec['postprocess_slapd.access'],
    notify  => Class['openldap::server::service'],
    source  => "file://${fragdir}_slapd.access.out"
  }
}