diff options
-rw-r--r-- | README.md | 20 | ||||
-rw-r--r-- | manifests/config.pp | 15 | ||||
-rw-r--r-- | manifests/export.pp | 22 | ||||
-rw-r--r-- | templates/export.erb | 3 |
4 files changed, 55 insertions, 5 deletions
@@ -25,3 +25,23 @@ } } +### Export NFS shares + + node /box/ { + class { 'nfs': + server => true; + } + + nfs::export { '/srv/nfs01 10.0.1.1/24': + export_directory => '/srv/nfs01', + export_target => '10.0.1.1/24', + export_options => 'rw,sync,no_root_squash', + } + + nfs::export { '/srv/nfs01 10.0.2.1/24': + export_directory => '/srv/nfs01', + export_target => '10.0.2.1/24', + export_options => 'rw,sync,no_root_squash', + } + } + diff --git a/manifests/config.pp b/manifests/config.pp index e55cb59..a9e5222 100644 --- a/manifests/config.pp +++ b/manifests/config.pp @@ -9,12 +9,17 @@ class nfs::config { group => $::nfs::config_group, } - if $::nfs::client { - } - if $::nfs::server { - file { $::nfs::config_file: - ensure => directory, + concat { $::nfs::config_file: + group => $::nfs::config_group, + mode => $::nfs::config_mode, + owner => $::nfs::config_user, + } + + concat::fragment { 'export_header': + target => $::nfs::config_file, + content => "# Managed by Puppet\n\n", + order => 01, } } } diff --git a/manifests/export.pp b/manifests/export.pp new file mode 100644 index 0000000..9584255 --- /dev/null +++ b/manifests/export.pp @@ -0,0 +1,22 @@ +# = Define: nfs::export +# +define nfs::export ( + $export_directory, + $export_target, + $ensure = present, + $export_options = 'no_root_squash', +) { + + if ! $::nfs::server { + fail 'NFS server support is not enabled.' + } + + if $ensure == present { + concat::fragment { "export_${name}": + target => $::nfs::config_file, + content => template('nfs/export.erb'), + order => 10, + } + } +} + diff --git a/templates/export.erb b/templates/export.erb new file mode 100644 index 0000000..fa882eb --- /dev/null +++ b/templates/export.erb @@ -0,0 +1,3 @@ +# <%= scope.lookupvar('name') -%> +<%= scope.lookupvar('export_directory') -%> <%= scope.lookupvar('export_target') -%>(<%= scope.lookupvar('export_options') -%>) + |