Skip to content

Commit 504bca0

Browse files
author
Luiz Thiago
committed
Add support to managing vm.swappiness, vm.overcommit_memory and transparent_hugepage
1 parent 145abdf commit 504bca0

File tree

2 files changed

+56
-34
lines changed

2 files changed

+56
-34
lines changed

manifests/init.pp

+27-17
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,10 @@
9696

9797
Optional[String] $shadow_group = undef,
9898
Optional[String] $shadow_mode = undef,
99+
100+
Boolean $boot_without_password = true,
101+
Boolean $enable_transparent_hugepage = false,
102+
String $swappiness_value = '60',
99103
) {
100104

101105
# Prepare
@@ -217,23 +221,25 @@
217221

218222
if $configure_sysctl {
219223
class { 'os_hardening::sysctl':
220-
enable_module_loading => $enable_module_loading,
221-
load_modules => $load_modules,
222-
cpu_vendor => $cpu_vendor,
223-
icmp_ratelimit => $icmp_ratelimit,
224-
desktop_enabled => $desktop_enabled,
225-
enable_ipv4_forwarding => $enable_ipv4_forwarding,
226-
manage_ipv6 => $manage_ipv6,
227-
enable_ipv6 => $enable_ipv6,
228-
enable_ipv6_forwarding => $enable_ipv6_forwarding,
229-
arp_restricted => $arp_restricted,
230-
arp_ignore_samenet => $arp_ignore_samenet,
231-
enable_sysrq => $enable_sysrq,
232-
enable_core_dump => $enable_core_dump,
233-
enable_stack_protection => $enable_stack_protection,
234-
enable_rpfilter => $enable_rpfilter,
235-
rpfilter_loose => $rpfilter_loose,
236-
enable_log_martians => $enable_log_martians,
224+
enable_module_loading => $enable_module_loading,
225+
load_modules => $load_modules,
226+
cpu_vendor => $cpu_vendor,
227+
icmp_ratelimit => $icmp_ratelimit,
228+
desktop_enabled => $desktop_enabled,
229+
enable_ipv4_forwarding => $enable_ipv4_forwarding,
230+
manage_ipv6 => $manage_ipv6,
231+
enable_ipv6 => $enable_ipv6,
232+
enable_ipv6_forwarding => $enable_ipv6_forwarding,
233+
arp_restricted => $arp_restricted,
234+
arp_ignore_samenet => $arp_ignore_samenet,
235+
enable_sysrq => $enable_sysrq,
236+
enable_core_dump => $enable_core_dump,
237+
enable_stack_protection => $enable_stack_protection,
238+
enable_rpfilter => $enable_rpfilter,
239+
rpfilter_loose => $rpfilter_loose,
240+
enable_log_martians => $enable_log_martians,
241+
enable_overcommit_memory => $enable_overcommit_memory,
242+
swappiness_value => $swappiness_value,
237243
}
238244
}
239245

@@ -253,4 +259,8 @@
253259
class { 'os_hardening::umask':
254260
system_umask => $system_umask,
255261
}
262+
263+
class { 'os_hardening::kernel_options':
264+
enable_transparent_hugepage => $enable_transparent_hugepage,
265+
}
256266
}

manifests/sysctl.pp

+29-17
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,25 @@
1010
# Configures Kernel Parameters via sysctl
1111
#
1212
class os_hardening::sysctl (
13-
Boolean $enable_module_loading = true,
14-
Array $load_modules = [],
15-
String $cpu_vendor = 'intel',
16-
String $icmp_ratelimit = '100',
17-
Boolean $desktop_enabled = false,
18-
Boolean $enable_ipv4_forwarding = false,
19-
Boolean $manage_ipv6 = true,
20-
Boolean $enable_ipv6 = false,
21-
Boolean $enable_ipv6_forwarding = false,
22-
Boolean $arp_restricted = true,
23-
Boolean $arp_ignore_samenet = false,
24-
Boolean $enable_sysrq = false,
25-
Boolean $enable_core_dump = false,
26-
Boolean $enable_stack_protection = true,
27-
Boolean $enable_rpfilter = true,
28-
Boolean $rpfilter_loose = false,
29-
Boolean $enable_log_martians = true,
13+
Boolean $enable_module_loading = true,
14+
Array $load_modules = [],
15+
String $cpu_vendor = 'intel',
16+
String $icmp_ratelimit = '100',
17+
Boolean $desktop_enabled = false,
18+
Boolean $enable_ipv4_forwarding = false,
19+
Boolean $manage_ipv6 = true,
20+
Boolean $enable_ipv6 = false,
21+
Boolean $enable_ipv6_forwarding = false,
22+
Boolean $arp_restricted = true,
23+
Boolean $arp_ignore_samenet = false,
24+
Boolean $enable_sysrq = false,
25+
Boolean $enable_core_dump = false,
26+
Boolean $enable_stack_protection = true,
27+
Boolean $enable_rpfilter = true,
28+
Boolean $rpfilter_loose = false,
29+
Boolean $enable_log_martians = true,
30+
Boolean $enable_overcommit_memory = true,
31+
String $swappiness_value = '60',
3032
) {
3133

3234
# set variables
@@ -236,5 +238,15 @@
236238
}
237239
}
238240

241+
# configure the memory overcommitment
242+
# ** 0 ** - kernel attempts to estimate the amount of free memory left when userspace requests more memory.
243+
# ** 1 ** - kernel pretends there is always enough memory until it actually runs out.
244+
if $enable_overcommit_memory {
245+
sysctl { 'vm.overcommit_memory': value => '1' }
246+
} else {
247+
sysctl { 'vm.overcommit_memory': value => '0' }
248+
}
249+
250+
sysctl { 'vm.swappiness': value => String($swappiness_value) }
239251
}
240252

0 commit comments

Comments
 (0)