diff --git a/config-joey.hs b/config-joey.hs index bac02cc..afd14e8 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 90f41bf..4dd6612 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) +