]>
Commit | Line | Data |
---|---|---|
1 | class role::file_store ( | |
2 | Optional[Array] $nfs_mounts = ["cardano"], | |
3 | Optional[String] $mountpoint = "/fichiers1", | |
4 | ) { | |
5 | include "base_installation" | |
6 | ||
7 | include "profile::fstab" | |
8 | include "profile::tools" | |
9 | include "profile::monitoring" | |
10 | include "profile::kerberos::client" | |
11 | include "profile::wireguard" | |
12 | ||
13 | unless empty($mountpoint) { | |
14 | class { "::nfs": | |
15 | server_enabled => true, | |
16 | nfs_v4 => true, | |
17 | nfs_v4_export_root => '/exports', | |
18 | nfs_v4_export_root_clients => 'localhost(rw)', | |
19 | require => Mount[$mountpoint], | |
20 | } | |
21 | ||
22 | $nfs_mounts.each |$nfs_mount| { | |
23 | file { "$mountpoint/$nfs_mount": | |
24 | ensure => "directory", | |
25 | mode => "0755", | |
26 | owner => "nobody", | |
27 | group => "nobody", | |
28 | require => Mount[$mountpoint], | |
29 | } -> | |
30 | nfs::server::export { "$mountpoint/$nfs_mount": | |
31 | owner => "nobody", | |
32 | group => "nobody", | |
33 | ensure => "present", | |
34 | clients => "immae.eu(rw,secure,sync,all_squash,sec=krb5p)", | |
35 | } | |
36 | } | |
37 | } | |
38 | } |