propellor spin

This commit is contained in:
Joey Hess 2014-04-11 00:14:50 -04:00
parent 8e96136ead
commit 4c4f702cff
Failed to extract signature
2 changed files with 11 additions and 34 deletions

View File

@ -119,23 +119,3 @@ infixl 1 &
q = revert p q = revert p
infixl 1 ! infixl 1 !
-- | Makes a propertyList of a set of properties, using the same syntax
-- used by `host`.
--
-- > template "my template" $ props
-- & someproperty
-- ! oldproperty
--
-- Note that none of the properties can define Attrs, because
-- they will not propigate out to the host that this is added to.
--
-- Unfortunately, this is not currently enforced at the type level, so
-- attempting to set an Attr in here will be run time error.
template :: Desc -> Host -> Property
template desc h@(Host ps _)
| hostAttr h == hostAttr props = propertyList desc ps
| otherwise = error $ desc ++ ": template contains Attr"
props :: Host
props = Host [] (\_ -> hostnameless)

View File

@ -29,9 +29,8 @@ hosts =
& Apt.buildDep ["git-annex"] `period` Daily & Apt.buildDep ["git-annex"] `period` Daily
-- Nothing super-important lives here. -- Nothing super-important lives here.
, host "clam.kitenet.net" , standardSystem "clam.kitenet.net" Unstable
-- & cleanCloudAtCost & cleanCloudAtCost
& standardSystem Unstable
& Apt.unattendedUpgrades & Apt.unattendedUpgrades
& Network.ipv6to4 & Network.ipv6to4
& Tor.isBridge & Tor.isBridge
@ -40,18 +39,17 @@ hosts =
& JoeySites.oldUseNetShellBox & JoeySites.oldUseNetShellBox
& cname "openid.kitenet.net" & cname "openid.kitenet.net"
-- & Docker.docked hosts "openid-provider" & Docker.docked hosts "openid-provider"
-- `requires` Apt.installed ["ntp"] `requires` Apt.installed ["ntp"]
& cname "ancient.kitenet.net" & cname "ancient.kitenet.net"
-- & Docker.docked hosts "ancient-kitenet" & Docker.docked hosts "ancient-kitenet"
-- & Docker.garbageCollected `period` Daily & Docker.garbageCollected `period` Daily
& Apt.installed ["git-annex", "mtr", "screen"] & Apt.installed ["git-annex", "mtr", "screen"]
-- Orca is the main git-annex build box. -- Orca is the main git-annex build box.
, host "orca.kitenet.net" , standardSystem "orca.kitenet.net" Unstable
& standardSystem Unstable
& Hostname.sane & Hostname.sane
& Apt.unattendedUpgrades & Apt.unattendedUpgrades
& Docker.configured & Docker.configured
@ -63,8 +61,7 @@ hosts =
& Apt.buildDep ["git-annex"] `period` Daily & Apt.buildDep ["git-annex"] `period` Daily
-- Important stuff that needs not too much memory or CPU. -- Important stuff that needs not too much memory or CPU.
, host "diatom.kitenet.net" , standardSystem "diatom.kitenet.net" Stable
& standardSystem Stable
& Hostname.sane & Hostname.sane
& Apt.unattendedUpgrades & Apt.unattendedUpgrades
& Apt.serviceInstalledRunning "ntp" & Apt.serviceInstalledRunning "ntp"
@ -137,9 +134,9 @@ gitAnnexBuilder arch buildminute = Docker.container (arch ++ "-git-annex-builder
& GitAnnexBuilder.builder arch (show buildminute ++ " * * * *") True & GitAnnexBuilder.builder arch (show buildminute ++ " * * * *") True
& Apt.unattendedUpgrades & Apt.unattendedUpgrades
-- This is my standard system setup -- This is my standard system setup.
standardSystem :: DebianSuite -> Property standardSystem :: HostName -> DebianSuite -> Host
standardSystem suite = template "standard system" $ props standardSystem hn suite = host hn
& Apt.stdSourcesList suite `onChange` Apt.upgrade & Apt.stdSourcesList suite `onChange` Apt.upgrade
& Apt.installed ["etckeeper"] & Apt.installed ["etckeeper"]
& Apt.installed ["ssh"] & Apt.installed ["ssh"]