propellor-0.2.0: property-based host configuration management in haskell

Safe HaskellNone



Pulls in lots of useful modules for building and using Properties.

Propellor enures that the system it's run in satisfies a list of properties, taking action as necessary when a property is not yet met.

A simple propellor program example:

 import Propellor
 import Propellor.CmdLine
 import qualified Propellor.Property.File as File
 import qualified Propellor.Property.Apt as Apt
 main :: IO ()
 main = defaultMain getProperties
 getProperties :: HostName -> Maybe [Property]
 getProperties "" = Just
    [ Apt.installed ["mydaemon"]
    , "/etc/mydaemon.conf" `File.containsLine` "secure=1"
        `onChange` cmdProperty "service" ["mydaemon", "restart"]
 getProperties _ = Nothing

See config.hs for a more complete example, and clone Propellor's git repository for a deployable system using Propellor: git clone git://



localdir :: FilePathSource

This is where propellor installs itself when deploying a host.