diff options
Diffstat (limited to 'manifests/subsystem/nas')
| -rw-r--r-- | manifests/subsystem/nas/share.pp | 121 | 
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  | 
