propellor spin

This commit is contained in:
Joey Hess 2014-03-30 22:53:52 -04:00
parent 590f51fa85
commit 80a184d0a5
2 changed files with 28 additions and 0 deletions

View File

@ -2,6 +2,7 @@ import Common
import CmdLine
import qualified Property.File as File
import qualified Property.Apt as Apt
import qualified Property.Network as Network
import qualified Property.Ssh as Ssh
import qualified Property.Sudo as Sudo
import qualified Property.User as User
@ -24,6 +25,7 @@ getProperties hostname@"clam.kitenet.net" =
, standardSystem Apt.Unstable
-- Clam is a tor bridge, and an olduse.net shellbox.
, Tor.isBridge
, ipv6to4
, JoeySites.oldUseNetshellBox
-- I play with docker on clam.
, Docker.configured

26
Property/Network.hs Normal file
View File

@ -0,0 +1,26 @@
module Property.Network where
import Common
import qualified Property.File as File
interfaces :: FilePath
interfaces = "/etc/network/interfaces"
-- 6to4 ipv6 connection, should work anywhere
ipv6to4 :: Property
ipv6to4 = fileProperty "ipv6to4" go interfaces
`onChange` ifUp "sit0"
where
go ls
| all (`elem` ls) stanza = ls
| otherwise = ls ++ stanza
stanza =
[ "# Automatically added by propeller"
, "iface sit0 inet6 static"
, " address 2002:5044:5531::1"
, " netmask 64"
, " gateway ::192.88.99.1"
, "# End automatically added by propeller"
ifUp :: String -> Property
ifUp iface = cmdProperty "ifup" [Param iface]