Puppet Class: duplicity::setup

Inherits:
duplicity
Defined in:
manifests/setup.pp

Overview

Class: duplicity::setup

Complete the installation.

Authors

Martin Meinhold <Martin.Meinhold@gmx.de>

Copyright 2014 Martin Meinhold, unless otherwise noted.



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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# File 'manifests/setup.pp', line 13

class duplicity::setup inherits duplicity {
  include duplicity::params

  file { $duplicity::params::duply_config_dir:
    ensure  => 'directory',
    owner   => 'root',
    group   => 'root',
    mode    => $duplicity::duply_config_dir_mode,
    backup  => false,
    purge   => $duplicity::duply_purge_config_dir,
    force   => true,
    recurse => true,
  }

  file { $duplicity::params::duply_key_dir:
    ensure  => 'directory',
    owner   => 'root',
    group   => 'root',
    mode    => '0644',
    backup  => false,
    purge   => $duplicity::duply_purge_key_dir,
    force   => true,
    recurse => true,
  }

  file { $duplicity::params::duply_public_key_dir:
    ensure => 'directory',
    owner  => 'root',
    group  => 'root',
    mode   => '0644',
  }

  file { $duplicity::params::duply_private_key_dir:
    ensure => 'directory',
    owner  => 'root',
    group  => 'root',
    mode   => '0600',
  }

  if $duplicity::duply_log_output == 'file' {

    file { $duplicity::duply_log_dir:
      ensure => 'directory',
      owner  => 'root',
      group  => $duplicity::duply_log_group,
      mode   => '0640',
    }

    if $duplicity::duply_use_logrotate_module == true {
      logrotate::rule { 'duply':
        ensure       => 'present',
        path         => "${duplicity::duply_log_dir}/*.log",
        rotate       => 5,
        size         => '100k',
        compress     => true,
        missingok    => true,
        create       => true,
        create_owner => 'root',
        create_group => $duplicity::duply_log_group,
        create_mode  => '0640',
        require      => File[$duplicity::duply_log_dir],
      }
    }
    else {
      file { '/etc/logrotate.d/duply':
        ensure  => file,
        owner   => 'root',
        group   => 'root',
        mode    => '0640',
        content => template('duplicity/etc/logrotate.d/duply.erb'),
      }
    }
  }

}