diff options
| author | Joey Hess <joeyh@joeyh.name> | 2015-08-14 15:01:57 -0400 |
|---|---|---|
| committer | Joey Hess <joeyh@joeyh.name> | 2015-08-14 15:01:57 -0400 |
| commit | 00dead44a10b1d28737052bf9d3f84653cb6bd12 (patch) | |
| tree | a1a6bc3132f94f33f95a748b3462baf8b2b79a15 /src/Propellor | |
| parent | 205114b108a046e23e24a8e8bafb0d8bb682185e (diff) | |
| parent | eb76708b2023f214829d979673cd5e2721ba5fc5 (diff) | |
Merge branch 'joeyconfig'
Diffstat (limited to 'src/Propellor')
| -rw-r--r-- | src/Propellor/Bootstrap.hs | 1 | ||||
| -rw-r--r-- | src/Propellor/Property/Firewall.hs | 19 | ||||
| -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 |
5 files changed, 25 insertions, 10 deletions
diff --git a/src/Propellor/Bootstrap.hs b/src/Propellor/Bootstrap.hs index 1cf921cf..6812b4ab 100644 --- a/src/Propellor/Bootstrap.hs +++ b/src/Propellor/Bootstrap.hs @@ -81,6 +81,7 @@ depsCommand = "( " ++ intercalate " ; " (concat [osinstall, cabalinstall]) ++ " , "libghc-mtl-dev" , "libghc-transformers-dev" , "libghc-exceptions-dev" + , "make" ] installGitCommand :: ShellCommand diff --git a/src/Propellor/Property/Firewall.hs b/src/Propellor/Property/Firewall.hs index d643b185..6c95a022 100644 --- a/src/Propellor/Property/Firewall.hs +++ b/src/Propellor/Property/Firewall.hs @@ -42,13 +42,18 @@ toIpTable r = map Param $ (toIpTableArg (ruleRules r)) ++ [ "-j" , show $ ruleTarget r ] toIpTableArg :: Rules -> [String] -toIpTableArg Everything = [] -toIpTableArg (Proto proto) = ["-p", map toLower $ show proto] -toIpTableArg (DPort port) = ["--dport", show port] -toIpTableArg (DPortRange (f,t)) = ["--dport", show f ++ ":" ++ show t] -toIpTableArg (IFace iface) = ["-i", iface] -toIpTableArg (Ctstate states) = ["-m", "conntrack","--ctstate", concat $ intersperse "," (map show states)] -toIpTableArg (r :- r') = toIpTableArg r <> toIpTableArg r' +toIpTableArg Everything = [] +toIpTableArg (Proto proto) = ["-p", map toLower $ show proto] +toIpTableArg (DPort (Port port)) = ["--dport", show port] +toIpTableArg (DPortRange (Port f, Port t)) = + ["--dport", show f ++ ":" ++ show t] +toIpTableArg (IFace iface) = ["-i", iface] +toIpTableArg (Ctstate states) = + [ "-m" + , "conntrack" + , "--ctstate", concat $ intersperse "," (map show states) + ] +toIpTableArg (r :- r') = toIpTableArg r <> toIpTableArg r' data Rule = Rule { ruleChain :: Chain 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 |
