Safe Haskell | None |
---|
Propellor.Types
- data Host = Host {}
- data Info
- newtype Propellor p = Propellor {
- runWithHost :: ReaderT Host IO p
- data Property = Property {}
- data RevertableProperty = RevertableProperty Property Property
- class IsProp p where
- type Desc = String
- data Result
- = NoChange
- | MadeChange
- | FailedChange
- class ActionResult a where
- getActionResult :: a -> (String, ColorIntensity, Color)
- data CmdLine
- data PrivDataField
- type PrivData = String
- newtype Context = Context String
- anyContext :: Context
- data SshKeyType
- = SshRsa
- | SshDsa
- | SshEcdsa
- | SshEd25519
- module Propellor.Types.OS
- module Propellor.Types.Dns
Documentation
Everything Propellor knows about a system: Its hostname, properties and other info.
Instances
Show Host | |
MonadReader Host Propellor |
Propellor's monad provides read-only access to info about the host it's running on.
Constructors
Propellor | |
Fields
|
Instances
Monad Propellor | |
Functor Propellor | |
Applicative Propellor | |
MonadCatchIO Propellor | |
MonadIO Propellor | |
MonadReader Host Propellor |
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
|
data RevertableProperty Source
A property that can be reverted.
Constructors
RevertableProperty Property Property |
Instances
Methods
describe :: p -> Desc -> pSource
Sets description.
requires :: p -> Property -> pSource
Indicates that the first property can only be satisfied once the second one is.
Instances
Constructors
NoChange | |
MadeChange | |
FailedChange |
class ActionResult a whereSource
Results of actions, with color.
Methods
getActionResult :: a -> (String, ColorIntensity, Color)Source
Instances
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.
Constructors
DockerAuthentication | |
SshPubKey SshKeyType UserName | |
SshPrivKey SshKeyType UserName | |
SshAuthorizedKeys UserName | |
Password UserName | |
PrivFile FilePath | |
GpgKey |
Instances
Eq PrivDataField | |
Ord PrivDataField | |
Read PrivDataField | |
Show PrivDataField |
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 |
Use when a PrivDataField is not dependent on any paricular context.
data SshKeyType Source
Constructors
SshRsa | |
SshDsa | |
SshEcdsa | |
SshEd25519 |
Instances
Eq SshKeyType | |
Ord SshKeyType | |
Read SshKeyType | |
Show SshKeyType |
module Propellor.Types.OS
module Propellor.Types.Dns