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

Safe HaskellNone
LanguageHaskell98

Propellor.Types

Synopsis

Documentation

data Host Source

Everything Propellor knows about a system: Its hostname, properties and other info.

Constructors

Host 

data Info Source

Information about a host.

Instances

newtype Propellor p Source

Propellor's monad provides read-only access to info about the host it's running on.

Constructors

Propellor 

Fields

runWithHost :: ReaderT Host IO p
 

data Property Source

The core data type of Propellor, this represents a property that the system should have, and an action to ensure it has the property.

Constructors

Property 

Fields

propertyDesc :: Desc
 
propertySatisfy :: Propellor Result

must be idempotent; may run repeatedly

propertyInfo :: Info

a property can add info to the host.

data RevertableProperty Source

A property that can be reverted.

class IsProp p where Source

Methods

describe :: p -> Desc -> p Source

Sets description.

toProp :: p -> Property Source

requires :: p -> Property -> p Source

Indicates that the first property can only be satisfied once the second one is.

getInfo :: p -> Info Source

class ActionResult a where Source

Results of actions, with color.

data PrivDataField Source

Note that removing or changing field names will break the serialized privdata files, so don't do that! It's fine to add new fields.

newtype Context Source

Context in which a PrivDataField is used.

Often this will be a domain name. For example, Context "www.example.com" could be used for the SSL cert for the web server serving that domain. Multiple hosts might use that privdata.

Constructors

Context String 

anyContext :: Context Source

Use when a PrivDataField is not dependent on any paricular context.