propellor spin

This commit is contained in:
Joey Hess 2014-07-07 03:08:12 -04:00
parent a1679dfd92
commit dba84b8219
Failed to extract signature
4 changed files with 17 additions and 3 deletions

View File

@ -24,6 +24,7 @@ import qualified Propellor.Property.Service as Service
import qualified Propellor.Property.Grub as Grub
import qualified Propellor.Property.HostingProvider.DigitalOcean as DigitalOcean
import qualified Propellor.Property.HostingProvider.CloudAtCost as CloudAtCost
import qualified Propellor.Property.HostingProvider.Linode as Linode
import qualified Propellor.Property.SiteSpecific.GitHome as GitHome
import qualified Propellor.Property.SiteSpecific.GitAnnexBuilder as GitAnnexBuilder
import qualified Propellor.Property.SiteSpecific.JoeySites as JoeySites
@ -78,7 +79,7 @@ hosts = -- (o) `
& ipv6 "2600:3c03::f03c:91ff:fe73:b0d2"
& Apt.installed ["linux-image-amd64"]
& Grub.chainPVGrub "hd0" "xen/xvda"
& Linode.chainPVGrub
& Hostname.sane
& Apt.unattendedUpgrades
& Apt.installed ["systemd"]

View File

@ -81,6 +81,7 @@ Library
Propellor.Property.File
Propellor.Property.Git
Propellor.Property.Gpg
Propellor.Property.Grub
Propellor.Property.Network
Propellor.Property.Obnam
Propellor.Property.OpenId
@ -92,8 +93,9 @@ Library
Propellor.Property.Sudo
Propellor.Property.Tor
Propellor.Property.User
Propellor.Property.HostingProvider.DigitalOcean
Propellor.Property.HostingProvider.CloudAtCost
Propellor.Property.HostingProvider.DigitalOcean
Propellor.Property.HostingProvider.Linode
Propellor.Property.SiteSpecific.GitHome
Propellor.Property.SiteSpecific.JoeySites
Propellor.Property.SiteSpecific.GitAnnexBuilder

View File

@ -17,7 +17,8 @@ type GrubDevice = String
-- "xen/xvda".
chainPVGrub :: GrubDevice -> GrubDevice -> Property
chainPVGrub rootdev bootdev = combineProperties desc
[ "/boot/grub/menu.lst" `File.hasContent`
[ File.dirExists "/boot/grub"
, "/boot/grub/menu.lst" `File.hasContent`
[ "default 1"
, "timeout 30"
, ""

View File

@ -0,0 +1,10 @@
module Propellor.Property.HostingProvider.Linode where
import Propellor
import qualified Propellor.Property.Grub as Grub
-- | 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 :: Property
chainPVGrub = Grub.chainPVGrub "hd0" "xen/xvda"