aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--manifests/subsystem/nas/share.pp121
1 files changed, 74 insertions, 47 deletions
diff --git a/manifests/subsystem/nas/share.pp b/manifests/subsystem/nas/share.pp
index 43922b7..aee32f2 100644
--- a/manifests/subsystem/nas/share.pp
+++ b/manifests/subsystem/nas/share.pp
@@ -18,9 +18,12 @@ define nodo::subsystem::nas::share(
$samba_directory_mask = '0755',
$manage_folder = true
) {
-
+ #
# DLNA share
- if $dlna_type != '' {
+ #
+ $dlna = hiera('nodo::role::nas::dlna', false)
+
+ if $dlna == true and $dlna_type != '' {
minidlna::share { $folder:
type => $dlna_type ? {
'all' => undef,
@@ -29,61 +32,85 @@ define nodo::subsystem::nas::share(
}
}
+ #
# Samba share
- samba::server::share { $name:
- comment => $description,
- path => $folder,
- guest_only => $samba_guest_only,
- guest_ok => $samba_guest_ok,
- guest_account => $samba_guest_account,
- force_user => $samba_force_user ? {
- '' => undef,
- default => $samba_force_user,
- },
- force_group => $samba_force_group ? {
- '' => undef,
- default => $samba_force_group,
- },
- read_only => $samba_read_only ? {
- '' => undef,
- default => $samba_read_only,
- },
- writable => $samba_writable ? {
- '' => undef,
- default => $samba_writable,
- },
- create_mask => $samba_create_mask ? {
- '' => undef,
- default => $samba_create_mask,
- },
- directory_mask => $samba_directory_mask ? {
- '' => undef,
- default => $samba_directory_mask,
- },
- browsable => true,
+ #
+ $samba = hiera('nodo::role::nas::samba', false)
+
+ if $samba == true {
+ samba::server::share { $name:
+ comment => $description,
+ path => $folder,
+ guest_only => $samba_guest_only,
+ guest_ok => $samba_guest_ok,
+ guest_account => $samba_guest_account,
+ force_user => $samba_force_user ? {
+ '' => undef,
+ default => $samba_force_user,
+ },
+ force_group => $samba_force_group ? {
+ '' => undef,
+ default => $samba_force_group,
+ },
+ read_only => $samba_read_only ? {
+ '' => undef,
+ default => $samba_read_only,
+ },
+ writable => $samba_writable ? {
+ '' => undef,
+ default => $samba_writable,
+ },
+ create_mask => $samba_create_mask ? {
+ '' => undef,
+ default => $samba_create_mask,
+ },
+ directory_mask => $samba_directory_mask ? {
+ '' => undef,
+ default => $samba_directory_mask,
+ },
+ browsable => true,
+ }
}
+ #
# NFS export
- nfs::export { $name:
- export_directory => $folder,
- export_target => $nfs_export_target,
- export_options => $nfs_export_options,
+ #
+ $nfs = hiera('nodo::role::nas::nfs', false)
+
+ if $nfs == true {
+ nfs::export { $name:
+ export_directory => $folder,
+ export_target => $nfs_export_target,
+ export_options => $nfs_export_options,
+ }
}
+ #
# HTTP and FTP symlinks to media assets
- file { [ "/var/www/data/${name}", "/home/ftp/${name}" ]:
- ensure => $folder,
- require => File['/var/www/data', '/home/ftp'],
+ #
+ $http = hiera('nodo::role::nas::http', false)
+
+ if $http == true {
+ file { [ "/var/www/data/${name}", "/home/ftp/${name}" ]:
+ ensure => $folder,
+ require => File['/var/www/data', '/home/ftp'],
+ }
}
+ #
# Avahi service
- file { "/etc/avahi/services/nfs-${name}.service":
- ensure => present,
- owner => root,
- group => root,
- mode => 0644,
- source => "puppet:///modules/site_avahi/services/nfs-${name}.service",
- notify => Service['avahi-daemon'],
+ #
+ $avahi = hiera('nodo::role::nas::avahi', false)
+
+ if $avahi == true {
+ file { "/etc/avahi/services/nfs-${name}.service":
+ ensure => present,
+ owner => root,
+ group => root,
+ mode => 0644,
+ source => "puppet:///modules/site_avahi/services/nfs-${name}.service",
+ notify => Service['avahi-daemon'],
+ }
}
# Make sure basic media exist, no matter which disk is attached