diff options
Diffstat (limited to 'manifests/vserver/rlimit.pp')
-rw-r--r-- | manifests/vserver/rlimit.pp | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/manifests/vserver/rlimit.pp b/manifests/vserver/rlimit.pp new file mode 100644 index 0000000..0218359 --- /dev/null +++ b/manifests/vserver/rlimit.pp @@ -0,0 +1,48 @@ +define virtual::vserver::rlimit( + $vserver, + $limit, + $soft = '', + $hard = '', + $min = '', + $ensure = present +) { + file { "/etc/vservers/${vserver}/rlimits/$limit.soft": + mode => 0644, + owner => root, + group => root, + content => "$soft\n", + ensure => $soft ? { + '' => absent, + default => $ensure, + }, + require => File["/etc/vservers/${vserver}/rlimits"], + notify => Exec["vs_restart_${vserver}"], + } + + file { "/etc/vservers/${vserver}/rlimits/$limit.hard": + mode => 0644, + owner => root, + group => root, + content => "$hard\n", + ensure => $hard ? { + '' => absent, + default => $ensure, + }, + require => File["/etc/vservers/${vserver}/rlimits"], + notify => Exec["vs_restart_${vserver}"], + } + + file { "/etc/vservers/${vserver}/rlimits/$limit.min": + mode => 0644, + owner => root, + group => root, + content => "$min\n", + ensure => $min? { + '' => absent, + default => $ensure, + }, + require => File["/etc/vservers/${vserver}/rlimits"], + notify => Exec["vs_restart_${vserver}"], + } +} + |