diff options
| author | Joey Hess <joey@kitenet.net> | 2014-03-30 22:53:52 -0400 |
|---|---|---|
| committer | Joey Hess <joey@kitenet.net> | 2014-03-30 22:53:52 -0400 |
| commit | 80a184d0a5addf8d24ab475146439f59524f2ab6 (patch) | |
| tree | 09241d02d2a378f25a327abf29b6bf0c7197f27a | |
| parent | 590f51fa85da5ca33f24fb8b7bac805227a2f250 (diff) | |
propellor spin
| -rw-r--r-- | Propellor.hs | 2 | ||||
| -rw-r--r-- | Property/Network.hs | 26 |
2 files changed, 28 insertions, 0 deletions
diff --git a/Propellor.hs b/Propellor.hs index 63040ff1..d8c1ddba 100644 --- a/Propellor.hs +++ b/Propellor.hs @@ -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 diff --git a/Property/Network.hs b/Property/Network.hs new file mode 100644 index 00000000..7686c8b3 --- /dev/null +++ b/Property/Network.hs @@ -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] |
