Merge branch 'joeyconfig'
Conflicts: privdata.joey/privdata.gpg
This commit is contained in:
commit
0361b016ba
|
@ -132,6 +132,7 @@ orca = standardSystem "orca.kitenet.net" Unstable "amd64"
|
||||||
& Systemd.persistentJournal
|
& Systemd.persistentJournal
|
||||||
& Docker.configured
|
& Docker.configured
|
||||||
& Docker.docked (GitAnnexBuilder.standardAutoBuilderContainer dockerImage "amd64" 15 "2h")
|
& Docker.docked (GitAnnexBuilder.standardAutoBuilderContainer dockerImage "amd64" 15 "2h")
|
||||||
|
& Systemd.nspawned (GitAnnexBuilder.standardAutoBuilderContainerNspawn "amd64" 15 "2h")
|
||||||
& Docker.docked (GitAnnexBuilder.standardAutoBuilderContainer dockerImage "i386" 45 "2h")
|
& Docker.docked (GitAnnexBuilder.standardAutoBuilderContainer dockerImage "i386" 45 "2h")
|
||||||
& Docker.docked (GitAnnexBuilder.armelCompanionContainer dockerImage)
|
& Docker.docked (GitAnnexBuilder.armelCompanionContainer dockerImage)
|
||||||
& Docker.docked (GitAnnexBuilder.armelAutoBuilderContainer dockerImage (Cron.Times "1 3 * * *") "5h")
|
& Docker.docked (GitAnnexBuilder.armelAutoBuilderContainer dockerImage (Cron.Times "1 3 * * *") "5h")
|
||||||
|
@ -458,7 +459,7 @@ standardSystemUnhardened hn suite arch motd = host hn
|
||||||
`onChange` Apt.autoRemove
|
`onChange` Apt.autoRemove
|
||||||
|
|
||||||
standardStableContainer :: Docker.ContainerName -> Docker.Container
|
standardStableContainer :: Docker.ContainerName -> Docker.Container
|
||||||
standardStableContainer name = standardContainer name (Stable "wheezy") "amd64"
|
standardStableContainer name = standardContainer name (Stable "jessie") "amd64"
|
||||||
|
|
||||||
-- This is my standard container setup, Featuring automatic upgrades.
|
-- This is my standard container setup, Featuring automatic upgrades.
|
||||||
standardContainer :: Docker.ContainerName -> DebianSuite -> Architecture -> Docker.Container
|
standardContainer :: Docker.ContainerName -> DebianSuite -> Architecture -> Docker.Container
|
||||||
|
|
|
@ -426,16 +426,14 @@ runningContainer cid@(ContainerId hn cn) image runps = containerDesc cid $ prope
|
||||||
retry (n-1) a
|
retry (n-1) a
|
||||||
_ -> return v
|
_ -> return v
|
||||||
|
|
||||||
go img = do
|
go img = liftIO $ do
|
||||||
liftIO $ do
|
clearProvisionedFlag cid
|
||||||
clearProvisionedFlag cid
|
createDirectoryIfMissing True (takeDirectory $ identFile cid)
|
||||||
createDirectoryIfMissing True (takeDirectory $ identFile cid)
|
shim <- Shim.setup (localdir </> "propellor") Nothing (localdir </> shimdir cid)
|
||||||
shim <- liftIO $ Shim.setup (localdir </> "propellor") Nothing (localdir </> shimdir cid)
|
writeFile (identFile cid) (show ident)
|
||||||
liftIO $ writeFile (identFile cid) (show ident)
|
toResult <$> runContainer img
|
||||||
ensureProperty $ property "run" $ liftIO $
|
(runps ++ ["-i", "-d", "-t"])
|
||||||
toResult <$> runContainer img
|
[shim, "--continue", show (DockerInit (fromContainerId cid))]
|
||||||
(runps ++ ["-i", "-d", "-t"])
|
|
||||||
[shim, "--continue", show (DockerInit (fromContainerId cid))]
|
|
||||||
|
|
||||||
-- | Called when propellor is running inside a docker container.
|
-- | Called when propellor is running inside a docker container.
|
||||||
-- The string should be the container's ContainerId.
|
-- The string should be the container's ContainerId.
|
||||||
|
|
|
@ -9,6 +9,8 @@ import qualified Propellor.Property.Cron as Cron
|
||||||
import qualified Propellor.Property.Ssh as Ssh
|
import qualified Propellor.Property.Ssh as Ssh
|
||||||
import qualified Propellor.Property.File as File
|
import qualified Propellor.Property.File as File
|
||||||
import qualified Propellor.Property.Docker as Docker
|
import qualified Propellor.Property.Docker as Docker
|
||||||
|
import qualified Propellor.Property.Systemd as Systemd
|
||||||
|
import qualified Propellor.Property.Chroot as Chroot
|
||||||
import Propellor.Property.Cron (Times)
|
import Propellor.Property.Cron (Times)
|
||||||
|
|
||||||
builduser :: UserName
|
builduser :: UserName
|
||||||
|
@ -105,6 +107,20 @@ standardAutoBuilderContainer dockerImage arch buildminute timeout = Docker.conta
|
||||||
& autobuilder arch (Cron.Times $ show buildminute ++ " * * * *") timeout
|
& autobuilder arch (Cron.Times $ show buildminute ++ " * * * *") timeout
|
||||||
& Docker.tweaked
|
& Docker.tweaked
|
||||||
|
|
||||||
|
standardAutoBuilderContainerNspawn :: Architecture -> Int -> TimeOut -> Systemd.Container
|
||||||
|
standardAutoBuilderContainerNspawn arch buildminute timeout = Systemd.container name bootstrap
|
||||||
|
& os myos
|
||||||
|
& Apt.stdSourcesList
|
||||||
|
& Apt.unattendedUpgrades
|
||||||
|
& User.accountFor (User builduser)
|
||||||
|
& tree arch
|
||||||
|
& buildDepsApt
|
||||||
|
& autobuilder arch (Cron.Times $ show buildminute ++ " * * * *") timeout
|
||||||
|
where
|
||||||
|
name = arch ++ "-git-annex-builder"
|
||||||
|
bootstrap = Chroot.debootstrapped myos mempty
|
||||||
|
myos = System (Debian Unstable) arch
|
||||||
|
|
||||||
androidAutoBuilderContainer :: (System -> Docker.Image) -> Times -> TimeOut -> Docker.Container
|
androidAutoBuilderContainer :: (System -> Docker.Image) -> Times -> TimeOut -> Docker.Container
|
||||||
androidAutoBuilderContainer dockerImage crontimes timeout =
|
androidAutoBuilderContainer dockerImage crontimes timeout =
|
||||||
androidContainer dockerImage "android-git-annex-builder" (tree "android") builddir
|
androidContainer dockerImage "android-git-annex-builder" (tree "android") builddir
|
||||||
|
|
|
@ -35,7 +35,7 @@ gitServer knownhosts = propertyList "iabak git server" $ props
|
||||||
& Cron.niceJob "shardstats" (Cron.Times "*/30 * * * *") (User "root") "/"
|
& Cron.niceJob "shardstats" (Cron.Times "*/30 * * * *") (User "root") "/"
|
||||||
"/usr/local/IA.BAK/shardstats-all"
|
"/usr/local/IA.BAK/shardstats-all"
|
||||||
& Cron.niceJob "shardmaint" Cron.Daily (User "root") "/"
|
& Cron.niceJob "shardmaint" Cron.Daily (User "root") "/"
|
||||||
"/usr/local/IA.BAK/shardmaint"
|
"/usr/local/IA.BAK/shardmaint-fast; /usr/local/IA.BAK/shardmaint"
|
||||||
|
|
||||||
registrationServer :: [Host] -> Property HasInfo
|
registrationServer :: [Host] -> Property HasInfo
|
||||||
registrationServer knownhosts = propertyList "iabak registration server" $ props
|
registrationServer knownhosts = propertyList "iabak registration server" $ props
|
||||||
|
|
|
@ -30,7 +30,6 @@ scrollBox = propertyList "scroll server" $ props
|
||||||
"libghc-bytestring-dev", "libghc-mtl-dev", "libghc-ncurses-dev",
|
"libghc-bytestring-dev", "libghc-mtl-dev", "libghc-ncurses-dev",
|
||||||
"libghc-random-dev", "libghc-monad-loops-dev", "libghc-text-dev",
|
"libghc-random-dev", "libghc-monad-loops-dev", "libghc-text-dev",
|
||||||
"libghc-ifelse-dev", "libghc-case-insensitive-dev",
|
"libghc-ifelse-dev", "libghc-case-insensitive-dev",
|
||||||
"libghc-transformers-dev",
|
|
||||||
"libghc-data-default-dev", "libghc-optparse-applicative-dev"]
|
"libghc-data-default-dev", "libghc-optparse-applicative-dev"]
|
||||||
& userScriptProperty (User "scroll")
|
& userScriptProperty (User "scroll")
|
||||||
[ "cd " ++ d </> "scroll"
|
[ "cd " ++ d </> "scroll"
|
||||||
|
|
Loading…
Reference in New Issue