summaryrefslogtreecommitdiffstats
path: root/modules/tozt/manifests/persistent.pp
blob: 8383fb9a0b771c3b34e888d91d40b5680e5bb0cf (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 tozt::persistent {
  file {
    "/media":
      ensure => directory;
    "/media/persistent":
      ensure => directory,
      require => File["/media"],
  }

  $fstab_line = "/dev/disk/by-id/scsi-0DO_Volume_tozt-persistent /media/persistent ext4 rw,relatime 0 2"
  exec { "populate fstab":
    provider => shell,
    command => "echo '${fstab_line}' >> /etc/fstab",
    unless => "/usr/bin/grep -qF '${fstab_line}' /etc/fstab",
    require => File["/media/persistent"],
  }

  exec { "mount /media/persistent":
    provider => shell,
    command => "/usr/bin/mount /media/persistent",
    unless => "grep ' /media/persistent ' /proc/mounts",
    require => [
      File["/media/persistent"],
      Exec["populate fstab"],
    ]
  }

  file {
    [
      "/media/persistent/public_html",
      "/media/persistent/paste",
      "/media/persistent/git",
      "/media/persistent/releases",
      "/media/persistent/certbot",
    ]:
      ensure => directory,
      require => Exec["mount /media/persistent"];
  }
}