propellor-1.2.0: 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 :: FilePath Source

This is where propellor installs itself when deploying a host.