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 -- Clean up a system as installed by cloudatcost.com 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