diff options
| author | Joey Hess <joeyh@joeyh.name> | 2015-08-12 17:00:03 -0400 |
|---|---|---|
| committer | Joey Hess <joeyh@joeyh.name> | 2015-08-12 17:00:03 -0400 |
| commit | 4cab90c13713025a66c4aec7074730faa2e2b4ed (patch) | |
| tree | 9a0b4bfb04ceb1d56e7f43f8252132266a098c1c | |
| parent | b64a91db5767e2afcd53f496ba303ada8e3fdcc1 (diff) | |
propellor spin
| -rw-r--r-- | config-joey.hs | 35 | ||||
| -rw-r--r-- | src/Propellor/Property/Network.hs | 9 | ||||
| -rw-r--r-- | src/Propellor/Property/SiteSpecific/GitAnnexBuilder.hs | 5 | ||||
| -rw-r--r-- | src/Propellor/Property/SiteSpecific/IABak.hs | 1 |
4 files changed, 30 insertions, 20 deletions
diff --git a/config-joey.hs b/config-joey.hs index 32b70c14..5c3fbaa0 100644 --- a/config-joey.hs +++ b/config-joey.hs @@ -145,29 +145,30 @@ orca = standardSystem "orca.kitenet.net" Unstable "amd64" honeybee :: Host honeybee = standardSystem "honeybee.kitenet.net" Testing "armhf" [ "Arm git-annex build box." ] - & ipv6 "2001:4830:1600:187::2" + + -- I have to travel to get console access, so no automatic + -- upgrades, and try to be robust. + & "/etc/default/rcS" `File.containsLine` "FSCKFIX=yes" - -- No unattended upgrades as there is currently no console access. - -- (Also, system is not currently running a stock kernel, - -- although it should be able to.) + & Apt.installed ["flash-kernel"] + & "/etc/flash-kernel/machine" `File.hasContent` ["Cubietech Cubietruck"] + & Apt.installed ["linux-image-armmp"] + & Network.dhcp "eth0" `requires` Network.cleanInterfacesFile & Postfix.satellite + + -- ipv6 used for remote access thru firewalls & Apt.serviceInstalledRunning "aiccu" + & ipv6 "2001:4830:1600:187::2" + + -- In case compiler needs more than available ram & Apt.serviceInstalledRunning "swapspace" + + -- No hardware clock. & Apt.serviceInstalledRunning "ntp" - -- Not using systemd-nspawn because it's broken (kernel issue?) - -- & Systemd.nspawned (GitAnnexBuilder.autoBuilderContainer - -- GitAnnexBuilder.armAutoBuilder - -- builderos Cron.Daily "22h") - & Chroot.provisioned - (Chroot.debootstrapped builderos mempty "/var/lib/container/armel-git-annex-builder" - & "/etc/timezone" `File.hasContent` ["America/New_York"] - & GitAnnexBuilder.armAutoBuilder - builderos (Cron.Times "1 1 * * *") "12h" - ) - where - -- Using unstable to get new enough ghc for TH on arm. - builderos = System (Debian Unstable) "armel" + & Systemd.nspawned (GitAnnexBuilder.autoBuilderContainer + GitAnnexBuilder.armAutoBuilder + (System (Debian Unstable) "armel") Cron.Daily "22h") -- This is not a complete description of kite, since it's a -- multiuser system with eg, user passwords that are not deployed diff --git a/src/Propellor/Property/Network.hs b/src/Propellor/Property/Network.hs index 4d7ccffb..e01edb62 100644 --- a/src/Propellor/Property/Network.hs +++ b/src/Propellor/Property/Network.hs @@ -27,6 +27,15 @@ cleanInterfacesFile = hasContent interfacesFile ] `describe` ("clean " ++ interfacesFile) +-- | Configures an interface to get its address via dhcp. +dhcp :: Interface -> Property NoInfo +dhcp iface = hasContent (interfaceDFile iface) + [ "auto " ++ iface + , "iface " ++ iface ++ " inet dhcp" + ] + `describe` ("dhcp " ++ iface) + `requires` interfacesDEnabled + -- | Writes a static interface file for the specified interface. -- -- The interface has to be up already. It could have been brought up by diff --git a/src/Propellor/Property/SiteSpecific/GitAnnexBuilder.hs b/src/Propellor/Property/SiteSpecific/GitAnnexBuilder.hs index 5ccd9996..6a6d5bfd 100644 --- a/src/Propellor/Property/SiteSpecific/GitAnnexBuilder.hs +++ b/src/Propellor/Property/SiteSpecific/GitAnnexBuilder.hs @@ -115,8 +115,8 @@ standardAutoBuilder osver@(System _ arch) = & User.accountFor (User builduser) & tree arch -armAutoBuilder :: System -> Times -> TimeOut -> Property HasInfo -armAutoBuilder osver@(System _ arch) crontime timeout = +armAutoBuilder :: System -> Property HasInfo +armAutoBuilder osver = propertyList "arm git-annex autobuilder" $ props & standardAutoBuilder osver & buildDepsNoHaskellLibs @@ -126,7 +126,6 @@ armAutoBuilder osver@(System _ arch) crontime timeout = -- Install patched haskell packages for portability to -- arm NAS's using old kernel versions. & haskellPkgsInstalled "linux" - & autobuilder arch crontime timeout androidAutoBuilderContainer :: Times -> TimeOut -> Systemd.Container androidAutoBuilderContainer crontimes timeout = diff --git a/src/Propellor/Property/SiteSpecific/IABak.hs b/src/Propellor/Property/SiteSpecific/IABak.hs index 7740f820..8c9926bc 100644 --- a/src/Propellor/Property/SiteSpecific/IABak.hs +++ b/src/Propellor/Property/SiteSpecific/IABak.hs @@ -36,6 +36,7 @@ gitServer knownhosts = propertyList "iabak git server" $ props "/usr/local/IA.BAK/shardstats-all" & Cron.niceJob "shardmaint" Cron.Daily (User "root") "/" "/usr/local/IA.BAK/shardmaint-fast; /usr/local/IA.BAK/shardmaint" + & Apt.installed ["git-annex"] registrationServer :: [Host] -> Property HasInfo registrationServer knownhosts = propertyList "iabak registration server" $ props |
