propellor-0.9.1: 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 

Instances

data Info Source

Information about a host.

Instances

Eq Info 
Show Info 
Monoid Info 

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.

Instances

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

type Desc = StringSource

data Result Source

Instances

Eq Result 
Read Result 
Show Result 
Monoid Result 
ActionResult Result 

class ActionResult a whereSource

Results of actions, with color.

Methods

getActionResult :: a -> (String, ColorIntensity, Color)Source

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.

type PrivData = StringSource

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 

Instances

Eq Context 
Ord Context 
Read Context 
Show Context 

anyContext :: ContextSource

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

data SshKeyType Source

Constructors

SshRsa 
SshDsa 
SshEcdsa 
SshEd25519 

Instances