| 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