Safe Haskell | None |
---|---|
Language | Haskell98 |
- data Host = Host {}
- data Info = 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
- class ActionResult a where
- getActionResult :: a -> (String, ColorIntensity, Color)
- data CmdLine
- = Run HostName
- | Spin HostName
- | SimpleRun HostName
- | Set PrivDataField Context
- | Dump PrivDataField Context
- | Edit PrivDataField Context
- | ListFields
- | AddKey String
- | Continue CmdLine
- | Update HostName
- | DockerInit HostName
- | DockerChain HostName String
- | ChrootChain HostName FilePath Bool Bool
- | GitPush Fd Fd
- data PrivDataField
- type PrivData = String
- newtype Context = Context String
- anyContext :: Context
- data SshKeyType
- = SshRsa
- | SshDsa
- | SshEcdsa
- | SshEd25519
- data Val a
- fromVal :: Val a -> Maybe a
- module Propellor.Types.OS
- module Propellor.Types.Dns
Documentation
Everything Propellor knows about a system: Its hostname, properties and other info.
Information about a host.
Info | |
|
Propellor's monad provides read-only access to info about the host it's running on.
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.
Property | |
|
data RevertableProperty Source
A property that can be reverted.
class ActionResult a where Source
Results of actions, with color.
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.
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.
Use when a PrivDataField is not dependent on any paricular context.
data SshKeyType Source
module Propellor.Types.OS
module Propellor.Types.Dns