Report abuse

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
not all of our LDAP servers were under supervision, so we wrapped it in the following define:

    define ldap_service($supervise=false) {
        if($supervise) {
            # let daemontools handle it
            service { "${name}":
                provider => daemontools,
                require => [ File["service-${name}"], File["slapd.conf"], File["ldap-${fqdn}.cert"], ],
                ensure => running,
                enable => true,
            }

            # create our link in <tt>/service</tt>            
            supervise::link { "slapd":
                target => "/etc/service.d/slapd",
            }
        } else {
            # normal management by +rc+
            service{ "slapd":
                ensure => running,
                enable => true,
                hasrestart => true,
                require => [ File["slapd.conf"], File["ldap-${fqdn}.cert"], ],
            }
        }    
    }

and then called it like:

    ldap_service{ "slapd": 
        supervise => true,
        require => File["/etc/service.d/slapd"],
    }