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

Safe HaskellNone

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 whereSource

Methods

describe :: p -> Desc -> pSource

Sets description.

toProp :: p -> PropertySource

requires :: p -> Property -> pSource

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

getInfo :: p -> InfoSource

class ActionResult a whereSource

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 :: ContextSource

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