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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
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 folders
file { [ "/media/usb", "/media/cdrom", "/media/tablet", "/media/phone" ]:
ensure => directory,
mode => '0755',
}
# Local cache for general use
file { "/var/cache/${::hostname}":
ensure => directory,
mode => '0755',
}
# Local media cache
file { "/var/cache/${::hostname}/media":
ensure => $cache,
mode => '0755',
owner => $owner ? {
false => undef,
default => $owner,
},
group => $group ? {
false => undef,
default => $group,
},
}
# Link to the media cache, useful to have unique remotes
# for git-annex in removable media
file { "$base":
ensure => "/var/cache/${::hostname}/media",
}
# Code and load folders
file { [ "${base}/code", "${base}/load" ]:
ensure => directory,
mode => '0755',
owner => $owner ? {
false => undef,
default => $owner,
},
group => $group ? {
false => undef,
default => $group,
},
require => File["$base"],
}
# Data folder is a cache
file { "/var/data":
ensure => "$base",
}
}
|