summaryrefslogtreecommitdiff
path: root/manifests/base.pp
blob: ffdd5107b14c81c6aaef3cf17175707f552869f6 (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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
class dovecot::base {
  file{'/etc/dovecot.conf':
    source  => [ "puppet:///modules/site_dovecot/config/${::fqdn}/dovecot.conf",
                 "puppet:///modules/site_dovecot/config/${::dovecot::type}/dovecot.conf",
                 'puppet:///modules/site_dovecot/config/dovecot.conf',
                 "puppet:///modules/dovecot/config/${::operatingsystem}/dovecot.conf",
                 'puppet:///modules/dovecot/config/dovecot.conf' ],
    require => Package['dovecot'],
    notify => Service['dovecot'],
    owner   => root,
    group   => mail,
    mode    => '0644';
  }

  file { 'dovecot_config_dir':
    ensure => directory,
    path    => '/etc/dovecot/conf.d',
    require => Package['dovecot'],
    owner   => dovecot,
    group   => 0,
    mode    => '0755';
  }

  if !$dovecot::use_syslog {
    file{
      '/var/log/dovecot':
        ensure  => directory,
        require => Package['dovecot'],
        before  => Service['dovecot'],
        owner   => dovecot,
        group   => $dovecot::shared_group,
        mode    => '0660';
      [ '/var/log/dovecot/error.log',
        '/var/log/dovecot/infos.log' ]:
        require => Package['dovecot'],
        before  => Service['dovecot'],
        owner   => root,
        group   => $dovecot::shared_group,
        mode    => '0660';
    }

    include dovecot::logrotate
  }

  file {
    '/var/log/dovecot':
      ensure  => directory,
      require => Package['dovecot'],
      before => Service['dovecot'],
      owner   => dovecot,
      group   => dovecot,
      mode    => '0750';

    [ '/var/log/dovecot/error.log',
      '/var/log/dovecot/dovecot.log' ]:
        require => Package['dovecot'],
        before  => Service['dovecot'],
        owner   => root,
        group   => dovecot,
        mode    => '0660';
  }

  package { 'dovecot':
    ensure => installed,
    alias  => 'dovecot'
  }

  service{'dovecot':
    ensure => running,
    enable => true,
  }
}