summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config-joey.hs1
-rw-r--r--src/Propellor/Property/HostingProvider/Linode.hs9
2 files changed, 10 insertions, 0 deletions
diff --git a/config-joey.hs b/config-joey.hs
index bac02cc3..afd14e88 100644
--- a/config-joey.hs
+++ b/config-joey.hs
@@ -144,6 +144,7 @@ kite = standardSystemUnhardened "kite.kitenet.net" Testing "amd64"
& Network.static "eth0" `requires` Network.cleanInterfacesFile
& Apt.installed ["linux-image-amd64"]
& Linode.chainPVGrub 5
+ & Linode.mlocateEnabled
& Apt.unattendedUpgrades
& Systemd.installed
& Systemd.persistentJournal
diff --git a/src/Propellor/Property/HostingProvider/Linode.hs b/src/Propellor/Property/HostingProvider/Linode.hs
index 90f41bf8..4dd66129 100644
--- a/src/Propellor/Property/HostingProvider/Linode.hs
+++ b/src/Propellor/Property/HostingProvider/Linode.hs
@@ -2,9 +2,18 @@ module Propellor.Property.HostingProvider.Linode where
import Propellor
import qualified Propellor.Property.Grub as Grub
+import qualified Propellor.Property.File as File
+import Utility.FileMode
-- | Linode's pv-grub-x86_64 does not currently support booting recent
-- Debian kernels compressed with xz. This sets up pv-grub chaing to enable
-- it.
chainPVGrub :: Grub.TimeoutSecs -> Property NoInfo
chainPVGrub = Grub.chainPVGrub "hd0" "xen/xvda"
+
+-- | Linode disables mlocate's cron job's execute permissions,
+-- presumably to avoid disk IO. This ensures it's executable.
+mlocateEnabled :: Property NoInfo
+mlocateEnabled = "/etc/cron.daily/mlocate"
+ `File.mode` combineModes (readModes ++ executeModes)
+