group => "nobody",
require => Mount[$mountpoint],
}
-
- $hosts.each |$host_cn| {
- $host = find_host($facts["ldapvar"]["other"], $host_cn)
- if empty($host) {
- fail("No host found for nfs")
- } elsif has_key($host["vars"], "wireguard_ip") {
- $clients = sprintf("%s%s",
- join($host["vars"]["wireguard_ip"], "(rw,secure,sync,all_squash) "),
- "(rw,secure,sync,all_squash)")
- nfs::server::export { "$mountpoint/$nfs_mount":
- owner => "nobody",
- group => "nobody",
- ensure => "present",
- clients => $clients,
- }
- } elsif has_key($host["vars"], "host") {
- nfs::server::export { "$mountpoint/$nfs_mount":
- owner => "nobody",
- group => "nobody",
- ensure => "present",
- clients => "${host[vars][host][0]}(rw,secure,sync,all_squash)",
- }
- } else {
- nfs::server::export { "$mountpoint/$nfs_mount":
- owner => "nobody",
- group => "nobody",
- ensure => "present",
- clients => "${host[vars][real_hostname][0]}(rw,secure,sync,all_squash)",
- }
- }
+ ->
+ nfs::server::export { "$mountpoint/$nfs_mount":
+ owner => "nobody",
+ group => "nobody",
+ ensure => "present",
+ clients => template("role/file_store/nfs_clients.erb"),
}
}
}
--- /dev/null
+<%= @hosts.flat_map do |host_cn, config|
+ host = scope.function_find_host([@facts["ldapvar"]["other"], host_cn])
+ if host.nil?
+ [host_cn]
+ elsif !host["vars"]["wireguard_ip"].nil?
+ host["vars"]["wireguard_ip"]
+ elsif !host["vars"]["host"].nil?
+ host["vars"]["host"]
+ else
+ host["vars"]["real_hostname"]
+ end.map { |h| h + config }
+end.join(" ") -%>