aboutsummaryrefslogtreecommitdiff
path: root/manifests/vserver/rlimit.pp
diff options
context:
space:
mode:
Diffstat (limited to 'manifests/vserver/rlimit.pp')
-rw-r--r--manifests/vserver/rlimit.pp48
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}"],
+ }
+}
+