summaryrefslogtreecommitdiffstats
path: root/modules/partofme/manifests/backups.pp
blob: d66565f48c9e258ad27187d103ccce3e791b0bef (plain) (blame)
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
class partofme::backups {
  syncthing::user { $::default_user:
  }

  include borg
  file {
    "/media/persistent/borg/.ssh/authorized_keys":
      source => 'puppet:///modules/partofme/borg_authorized_keys',
      owner => 'borg',
      group => 'borg',
      mode => '0600',
      require => Class['borg'];
  }

  class { 'borgmatic':
    host => 'localhost';
  }

  package { 'rclone':
    ensure => installed;
  }

  $b2_account = secret::value('b2-account')
  $b2_key = secret::value('b2-key')
  $b2_password = secret::value('b2-password')
  $b2_salt = secret::value('b2-salt')
  file { '/etc/rclone.conf':
    content => template('partofme/rclone.conf');
  }

  cron::job { 'rclone':
    frequency => "daily",
    source => 'puppet:///modules/partofme/rclone-cron',
    require => [
      Package['rclone'],
      File['/etc/rclone.conf'],
    ];
  }
}