summaryrefslogtreecommitdiff
path: root/manifests/managesieve.pp
blob: 95167d0510930db2bd018557e8e85cd7e61a420d (plain)
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
class dovecot::managesieve(
  $type = 'some_unknown_type',
  $manage_shorewall = true,
  $nagios_checks = {
    'sieve-hostname' => $fqdn,
  }
) {

  $managesieve_package = $operatingsystem ? {
    debian => managesieved,
    default => managesieve
  }

  package { $managesieve_package:
    ensure => installed,
    before => Service['dovecot'],
  }

  if $dovecot::managesieve::manage_shorewall {
    include shorewall::rules::managesieve
    if $dovecot::managesieve::type == 'proxy' {
      include shorewall::rules::out::managesieve
    }
  }

  if $dovecot::managesieve::nagios_checks {
    nagios::service { "managesieve":
      check_command => "check_managesieve!${dovecot::managesieve::nagios_checks['sieve-hostname']}";
    }
  }
}