diff options
| author | Joey Hess <joey@kitenet.net> | 2014-07-07 03:08:12 -0400 |
|---|---|---|
| committer | Joey Hess <joey@kitenet.net> | 2014-07-07 03:08:12 -0400 |
| commit | dba84b8219d29506886065cc6bcd821d977d2bf8 (patch) | |
| tree | 0fce8880326235bfd9e208536e299fb056ddfd4f | |
| parent | a1679dfd92b0ecaf2f4bea8c1bb9b1c74d261f13 (diff) | |
propellor spin
| -rw-r--r-- | config-joey.hs | 3 | ||||
| -rw-r--r-- | propellor.cabal | 4 | ||||
| -rw-r--r-- | src/Propellor/Property/Grub.hs | 3 | ||||
| -rw-r--r-- | src/Propellor/Property/HostingProvider/Linode.hs | 10 |
4 files changed, 17 insertions, 3 deletions
diff --git a/config-joey.hs b/config-joey.hs index 6dd56c07..09df857f 100644 --- a/config-joey.hs +++ b/config-joey.hs @@ -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"] diff --git a/propellor.cabal b/propellor.cabal index 1c3c8681..e5c8f48a 100644 --- a/propellor.cabal +++ b/propellor.cabal @@ -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 diff --git a/src/Propellor/Property/Grub.hs b/src/Propellor/Property/Grub.hs index 7ca6275b..b8e1b662 100644 --- a/src/Propellor/Property/Grub.hs +++ b/src/Propellor/Property/Grub.hs @@ -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" , "" diff --git a/src/Propellor/Property/HostingProvider/Linode.hs b/src/Propellor/Property/HostingProvider/Linode.hs new file mode 100644 index 00000000..cfabe814 --- /dev/null +++ b/src/Propellor/Property/HostingProvider/Linode.hs @@ -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" |
