summaryrefslogtreecommitdiff
path: root/src/Propellor/Property/HostingProvider/Linode.hs
blob: 71719d870817e9b90dfad2bc2751cd85bac1a783 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
module Propellor.Property.HostingProvider.Linode where

import Propellor.Base
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 chaining to enable
-- it.
chainPVGrub :: Grub.TimeoutSecs -> Property DebianLike
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 DebianLike
mlocateEnabled = tightenTargets $
	"/etc/cron.daily/mlocate"
		`File.mode` combineModes (readModes ++ executeModes)