aboutsummaryrefslogtreecommitdiff
path: root/manifests/subsystem/backup.pp
blob: 8126249388d009935897f1335deea0b128737327 (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
class nodo::subsystem::backup {
  #
  # Backup
  #
  class { '::backup': }

  $local_backup = hiera('nodo::subsystem::backup::localhost', false)

  # Local encrypted backup
  case $local_backup {
    true,enabled,present: {
      backup::duplicity { "localhost":
        encryptkey => hiera('nodo::subsystem::backup::encryptkey', false),
        password   => hiera('nodo::subsystem::backup::password'),
      }
    }
    false,absent: {
      backup::duplicity { "localhost":
        encryptkey => hiera('nodo::subsystem::backup::encryptkey', false),
        password   => hiera('nodo::subsystem::backup::password',   false),
        ensure     => absent,
      }
    }
    default: { }
  }

  # Setup rsync instances
  $rsync = hiera('backup::rsync', {})
  create_resources('backup::rsync', $rsync)

  # Setup borg instances
  $borg = hiera('backup::borg', {})
  create_resources('backup::borg', $borg)
}