summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Hess2015-05-27 21:24:50 -0400
committerJoey Hess2015-05-27 21:24:50 -0400
commit2c2247fc2338d1543999cbbe182ea93e052c2d91 (patch)
treeed90c951ba1be6f18c024ed5d6634302e011941d
parentffcc53d730deaec320e609e6ffac382194b3a9ff (diff)
propellor spin
-rw-r--r--config-joey.hs14
-rw-r--r--src/Propellor/Property/SiteSpecific/GitAnnexBuilder.hs40
2 files changed, 15 insertions, 39 deletions
diff --git a/config-joey.hs b/config-joey.hs
index 76c06bd2..50e712a0 100644
--- a/config-joey.hs
+++ b/config-joey.hs
@@ -75,7 +75,6 @@ darkstar = host "darkstar.kitenet.net"
& Apt.buildDep ["git-annex"] `period` Daily
& Docker.configured
- ! Docker.docked gitAnnexAndroidDev
& JoeySites.postfixClientRelay (Context "darkstar.kitenet.net")
& JoeySites.dkimMilter
@@ -130,9 +129,9 @@ orca = standardSystem "orca.kitenet.net" Unstable "amd64"
& Apt.unattendedUpgrades
& Postfix.satellite
& Systemd.persistentJournal
- & Systemd.nspawned (GitAnnexBuilder.standardAutoBuilderContainerNspawn "amd64" 15 "2h")
- & Systemd.nspawned (GitAnnexBuilder.standardAutoBuilderContainerNspawn "i386" 15 "2h")
- & Apt.buildDep ["git-annex"] `period` Daily
+ & Systemd.nspawned (GitAnnexBuilder.standardAutoBuilderContainer "amd64" 15 "2h")
+ & Systemd.nspawned (GitAnnexBuilder.standardAutoBuilderContainer "i386" 15 "2h")
+ & Systemd.nspawned (GitAnnexBuilder.androidAutoBuilderContainer (Cron.Times "1 1 * * *") "3h")
-- This is not a complete description of kite, since it's a
-- multiuser system with eg, user passwords that are not deployed
@@ -402,13 +401,6 @@ oldusenetShellBox = standardStableContainer "oldusenet-shellbox"
& Docker.publish "4200:4200"
& JoeySites.oldUseNetShellBox
--- for development of git-annex for android, using my git-annex work tree
-gitAnnexAndroidDev :: Docker.Container
-gitAnnexAndroidDev = GitAnnexBuilder.androidContainer dockerImage "android-git-annex" doNothing gitannexdir
- & Docker.volume ("/home/joey/src/git-annex:" ++ gitannexdir)
- where
- gitannexdir = GitAnnexBuilder.homedir </> "git-annex"
-
jerryPlay :: Docker.Container
jerryPlay = standardContainer "jerryplay" Unstable "amd64"
& alias "jerryplay.kitenet.net"
diff --git a/src/Propellor/Property/SiteSpecific/GitAnnexBuilder.hs b/src/Propellor/Property/SiteSpecific/GitAnnexBuilder.hs
index ee0adca2..eb831025 100644
--- a/src/Propellor/Property/SiteSpecific/GitAnnexBuilder.hs
+++ b/src/Propellor/Property/SiteSpecific/GitAnnexBuilder.hs
@@ -94,22 +94,9 @@ cabalDeps = flagFile go cabalupdated
go = userScriptProperty (User builduser) ["cabal update && cabal install git-annex --only-dependencies || true"]
cabalupdated = homedir </> ".cabal" </> "packages" </> "hackage.haskell.org" </> "00-index.cache"
-standardAutoBuilderContainer :: (System -> Docker.Image) -> Architecture -> Int -> TimeOut -> Docker.Container
-standardAutoBuilderContainer dockerImage arch buildminute timeout = Docker.container (arch ++ "-git-annex-builder")
- (dockerImage $ System (Debian Testing) arch)
- & os (System (Debian Testing) arch)
- & Apt.stdSourcesList
- & Apt.installed ["systemd"]
- & Apt.unattendedUpgrades
- & User.accountFor (User builduser)
- & tree arch
- & buildDepsApt
- & autobuilder arch (Cron.Times $ show buildminute ++ " * * * *") timeout
- & Docker.tweaked
-
-standardAutoBuilderContainerNspawn :: Architecture -> Int -> TimeOut -> Systemd.Container
-standardAutoBuilderContainerNspawn arch buildminute timeout = Systemd.container name bootstrap
- & os myos
+standardAutoBuilderContainer :: Architecture -> Int -> TimeOut -> Systemd.Container
+standardAutoBuilderContainer arch buildminute timeout = Systemd.container name bootstrap
+ & os osver
& Apt.stdSourcesList
& Apt.unattendedUpgrades
& User.accountFor (User builduser)
@@ -118,29 +105,25 @@ standardAutoBuilderContainerNspawn arch buildminute timeout = Systemd.container
& autobuilder arch (Cron.Times $ show buildminute ++ " * * * *") timeout
where
name = arch ++ "-git-annex-builder"
- bootstrap = Chroot.debootstrapped myos mempty
- myos = System (Debian Testing) arch
+ bootstrap = Chroot.debootstrapped osver mempty
+ osver = System (Debian Testing) arch
-androidAutoBuilderContainer :: (System -> Docker.Image) -> Times -> TimeOut -> Docker.Container
-androidAutoBuilderContainer dockerImage crontimes timeout =
- androidContainer dockerImage "android-git-annex-builder" (tree "android") builddir
+androidAutoBuilderContainer :: Times -> TimeOut -> Systemd.Container
+androidAutoBuilderContainer crontimes timeout =
+ androidContainer "android-git-annex-builder" (tree "android") builddir
& Apt.unattendedUpgrades
& autobuilder "android" crontimes timeout
-- Android is cross-built in a Debian i386 container, using the Android NDK.
androidContainer
:: (IsProp (Property (CInfo NoInfo i)), (Combines (Property NoInfo) (Property i)))
- => (System -> Docker.Image)
- -> Docker.ContainerName
+ => Systemd.MachineName
-> Property i
-> FilePath
- -> Docker.Container
-androidContainer dockerImage name setupgitannexdir gitannexdir = Docker.container name
- (dockerImage osver)
+ -> Systemd.Container
+androidContainer name setupgitannexdir gitannexdir = Systemd.container name bootstrap
& os osver
& Apt.stdSourcesList
- & Apt.installed ["systemd"]
- & Docker.tweaked
& User.accountFor (User builduser)
& File.dirExists gitbuilderdir
& File.ownerGroup homedir (User builduser) (Group builduser)
@@ -159,6 +142,7 @@ androidContainer dockerImage name setupgitannexdir gitannexdir = Docker.containe
[ "cd " ++ gitannexdir ++ " && ./standalone/android/install-haskell-packages"
]
osver = System (Debian Testing) "i386"
+ bootstrap = Chroot.debootstrapped osver mempty
-- armel builder has a companion container using amd64 that
-- runs the build first to get TH splices. They need