aboutsummaryrefslogtreecommitdiff
path: root/manifests/subsystem/media/folders.pp
blob: 11d2f26764f62db7f4ad47e7c1adf42e748e7e2e (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
class nodo::subsystem::media::folders(
  $base  = hiera('nodo::subsystem::media::folders::base',  '/var/cache/media'),
  $cache = hiera('nodo::subsystem::media::folders::cache', directory),
  $owner = hiera('nodo::subsystem::media::folders::owner', false),
  $group = hiera('nodo::subsystem::media::folders::group', false)
) {
  # Removable media folder
  file { [ "/media/usb", "/media/cdrom", "/media/tablet", "/media/phone" ]:
    ensure => directory,
    mode   => 0755,
  }

  # Media cache
  file { "$base":
    ensure => $cache,
    mode   => 0755,
    owner  => $owner ? {
      false   => undef,
      default => $owner,
    },
    group  => $group ? {
      false   => undef,
      default => $group,
    },
  }

  # Data folder is a cache
  file { "/var/data":
    ensure => "$base",
  }

  # Hostname cache for general use
  file { "/var/cache/${::hostname}":
    ensure => directory,
    mode   => 0755,
  }

  # Link to the media cache, useful to have unique remotes
  # for git-annex in removable media
  file { "/var/cache/${::hostname}/media":
    ensure => "$base",
  }
}