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

Safe HaskellNone

Propellor

Description

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

Synopsis

Documentation

localdir :: FilePathSource

This is where propellor installs itself when deploying a host.