From 266fbe7f20dbefc4709b323bc316f4ae33206ec6 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Sun, 20 Sep 2015 14:25:37 +0000 Subject: Add aiccu module. --- src/Propellor/Property/Aiccu.hs | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/Propellor/Property/Aiccu.hs (limited to 'src') diff --git a/src/Propellor/Property/Aiccu.hs b/src/Propellor/Property/Aiccu.hs new file mode 100644 index 00000000..c6c1569a --- /dev/null +++ b/src/Propellor/Property/Aiccu.hs @@ -0,0 +1,27 @@ +module Propellor.Property.Aiccu where + +import Propellor +import qualified Propellor.Property.Apt as Apt + +confPath :: FilePath +confPath = "/etc/aiccu.conf" + +config :: String -> String -> PrivData -> [String] +config u t p = [ "protocol tic" + , "server tic.sixxs.net" + , "username " ++ u + , "password " ++ (privDataVal p) + , "ipv6_interface sixxs" + , "tunnel_id " ++ t + , "daemonize true" + , "automatic true" + , "requiretls true" + , "makebeats true" + ] + +hasConfig :: String -> String -> Property HasInfo +hasConfig t u = withSomePrivData [(Password (u++"/"++t)), (Password u)] (Context "aiccu") $ property "aiccu configured" . writeConfig + where writeConfig :: (((PrivDataField, PrivData) -> Propellor Result) -> Propellor Result) -> Propellor Result + writeConfig getpassword = getpassword $ go + go (Password u, p) = makeChange $ writeFile confPath (unlines $ config u t p) + go (f, _) = error $ "Unexpected type of privdata: " ++ show f -- cgit v1.2.3