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

View File

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

View File

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