aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--files/etc/crypttab/laptop.hibernate5
-rw-r--r--manifests/laptop.pp5
-rw-r--r--manifests/subsystems/utils/laptop.pp11
3 files changed, 17 insertions, 4 deletions
diff --git a/files/etc/crypttab/laptop.hibernate b/files/etc/crypttab/laptop.hibernate
new file mode 100644
index 0000000..ab8a8e2
--- /dev/null
+++ b/files/etc/crypttab/laptop.hibernate
@@ -0,0 +1,5 @@
+# <target name> <source device> <key file> <options>
+root /dev/mapper/vg-root none luks,cipher=aes-cbc-essiv:sha256
+home /dev/mapper/vg-home none luks,cipher=aes-cbc-essiv:sha256
+var /dev/mapper/vg-var none luks,cipher=aes-cbc-essiv:sha256
+cswap /dev/sda1 none swap,cipher=aes-cbc-essiv:sha256
diff --git a/manifests/laptop.pp b/manifests/laptop.pp
index db355c0..38f235d 100644
--- a/manifests/laptop.pp
+++ b/manifests/laptop.pp
@@ -20,7 +20,10 @@ class nodo::laptop inherits nodo::personal {
# crypttab
if $crypttab != false {
file { "/etc/crypttab":
- source => "puppet://$server/modules/nodo/etc/crypttab/laptop",
+ source => $hibernate ? {
+ false => "puppet://$server/modules/nodo/etc/crypttab/laptop",
+ default => "puppet://$server/modules/nodo/etc/crypttab/laptop.hibernate",
+ },
owner => "root",
group => "root",
mode => 0644,
diff --git a/manifests/subsystems/utils/laptop.pp b/manifests/subsystems/utils/laptop.pp
index e1022a5..5ae29d6 100644
--- a/manifests/subsystems/utils/laptop.pp
+++ b/manifests/subsystems/utils/laptop.pp
@@ -16,8 +16,13 @@ class utils::laptop {
}
}
- # Currently no hibernation
- package { 'uswsusp':
- ensure => absent,
+ # Hibernation on lenny
+ if $lsbdistcodename == 'lenny' {
+ package { 'uswsusp':
+ ensure => $hibernate ? {
+ false => absent,
+ default => present,
+ },
+ }
}
}