module Propellor.Property.HostingProvider.CloudAtCost where
import Propellor.Base
import qualified Propellor.Property.Hostname as Hostname
import qualified Propellor.Property.File as File
import qualified Propellor.Property.User as User
decruft :: Property DebianLike
decruft = propertyList "cloudatcost cleanup" $ props
& Hostname.sane
& grubbugfix
& nukecruft
where
grubbugfix :: Property DebianLike
grubbugfix = tightenTargets $
"/etc/default/grub" `File.containsLine` "GRUB_DISABLE_LINUX_UUID=true"
`describe` "worked around grub/lvm boot bug #743126"
`onChange` (cmdProperty "update-grub" [] `assume` MadeChange)
`onChange` (cmdProperty "update-initramfs" ["-u"] `assume` MadeChange)
nukecruft :: Property Linux
nukecruft = tightenTargets $
combineProperties "nuked cloudatcost cruft" $ props
& File.notPresent "/etc/rc.local"
& File.notPresent "/etc/init.d/S97-setup.sh"
& File.notPresent "/zang-debian.sh"
& File.notPresent "/bin/npasswd"
& User.nuked (User "user") User.YesReallyDeleteHome