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

Safe HaskellNone



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

When propellor runs on a Host, it ensures that its list of Properties is satisfied, taking action as necessary when a Property is not currently satisfied.

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 hosts
 hosts :: [Host]
 hosts =
   [ host ""
     & Apt.installed ["mydaemon"]
     & "/etc/mydaemon.conf" `File.containsLine` "secure=1"
       `onChange` cmdProperty "service" ["mydaemon", "restart"]
     ! Apt.installed ["unwantedpackage"]

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.