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

Safe HaskellNone

Propellor

Description

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 "example.com"
     & 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://git.kitenet.net/propellor

Synopsis

Documentation

localdir :: FilePathSource

This is where propellor installs itself when deploying a host.