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

Safe HaskellNone
LanguageHaskell98

Propellor.Types.PrivData

Synopsis

Documentation

data PrivDataField Source #

Note that removing or changing constructors or changing types will break the serialized privdata files, so don't do that! It's fine to add new constructors.

Constructors

DockerAuthentication 
SshPubKey SshKeyType UserName

Not used anymore, but retained to avoid breaking serialization of old files

SshPrivKey SshKeyType UserName

For host key, use empty UserName

SshAuthorizedKeys UserName 
Password UserName 
CryptPassword UserName 
PrivFile FilePath 
GpgKey 
DnsSec DnsSecKey 

data PrivDataSource Source #

Combines a PrivDataField with a description of how to generate its value.

newtype Context Source #

A 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.

This appears in serialized privdata files.

Constructors

Context String 
Instances
Eq Context Source # 
Instance details

Defined in Propellor.Types.PrivData

Methods

(==) :: Context -> Context -> Bool

(/=) :: Context -> Context -> Bool

Ord Context Source # 
Instance details

Defined in Propellor.Types.PrivData

Methods

compare :: Context -> Context -> Ordering

(<) :: Context -> Context -> Bool

(<=) :: Context -> Context -> Bool

(>) :: Context -> Context -> Bool

(>=) :: Context -> Context -> Bool

max :: Context -> Context -> Context

min :: Context -> Context -> Context

Read Context Source # 
Instance details

Defined in Propellor.Types.PrivData

Methods

readsPrec :: Int -> ReadS Context

readList :: ReadS [Context]

readPrec :: ReadPrec Context

readListPrec :: ReadPrec [Context]

Show Context Source # 
Instance details

Defined in Propellor.Types.PrivData

Methods

showsPrec :: Int -> Context -> ShowS

show :: Context -> String

showList :: [Context] -> ShowS

IsContext Context Source # 
Instance details

Defined in Propellor.Types.PrivData

newtype HostContext Source #

A context that may vary depending on the HostName where it's used.

Constructors

HostContext 
Instances
Eq HostContext Source # 
Instance details

Defined in Propellor.Types.PrivData

Methods

(==) :: HostContext -> HostContext -> Bool

(/=) :: HostContext -> HostContext -> Bool

Ord HostContext Source # 
Instance details

Defined in Propellor.Types.PrivData

Show HostContext Source # 
Instance details

Defined in Propellor.Types.PrivData

Methods

showsPrec :: Int -> HostContext -> ShowS

show :: HostContext -> String

showList :: [HostContext] -> ShowS

IsContext HostContext Source # 
Instance details

Defined in Propellor.Types.PrivData

class IsContext c where Source #

Class of things that can be used as a Context.

anyContext :: Context Source #

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

hostContext :: HostContext Source #

Makes a HostContext that consists just of the hostname.

newtype PrivData Source #

Contains the actual private data.

Note that this may contain exta newlines at the end, or they may have been stripped off, depending on how the user entered the privdata, and which version of propellor stored it. Use the accessor functions below to avoid newline problems.

Constructors

PrivData String 

privDataLines :: PrivData -> [String] Source #

When PrivData is the content of a file, this is the lines thereof.

privDataVal :: PrivData -> String Source #

When the PrivData is a single value, like a password, this extracts it. Note that if multiple lines are present in the PrivData, only the first is returned; there is never a newline in the String.

privDataByteString :: PrivData -> ByteString Source #

Use to get ByteString out of PrivData.

data SshKeyType Source #

Constructors

SshRsa 
SshDsa 
SshEcdsa 
SshEd25519 
Instances
Bounded SshKeyType Source # 
Instance details

Defined in Propellor.Types.PrivData

Enum SshKeyType Source # 
Instance details

Defined in Propellor.Types.PrivData

Eq SshKeyType Source # 
Instance details

Defined in Propellor.Types.PrivData

Methods

(==) :: SshKeyType -> SshKeyType -> Bool

(/=) :: SshKeyType -> SshKeyType -> Bool

Ord SshKeyType Source # 
Instance details

Defined in Propellor.Types.PrivData

Read SshKeyType Source # 
Instance details

Defined in Propellor.Types.PrivData

Methods

readsPrec :: Int -> ReadS SshKeyType

readList :: ReadS [SshKeyType]

readPrec :: ReadPrec SshKeyType

readListPrec :: ReadPrec [SshKeyType]

Show SshKeyType Source # 
Instance details

Defined in Propellor.Types.PrivData

Methods

showsPrec :: Int -> SshKeyType -> ShowS

show :: SshKeyType -> String

showList :: [SshKeyType] -> ShowS

sshKeyTypeParam :: SshKeyType -> String Source #

Parameter that would be passed to ssh-keygen to generate key of this type

data DnsSecKey Source #

Constructors

PubZSK

DNSSEC Zone Signing Key (public)

PrivZSK

DNSSEC Zone Signing Key (private)

PubKSK

DNSSEC Key Signing Key (public)

PrivKSK

DNSSEC Key Signing Key (private)

Instances
Bounded DnsSecKey Source # 
Instance details

Defined in Propellor.Types.PrivData

Enum DnsSecKey Source # 
Instance details

Defined in Propellor.Types.PrivData

Eq DnsSecKey Source # 
Instance details

Defined in Propellor.Types.PrivData

Methods

(==) :: DnsSecKey -> DnsSecKey -> Bool

(/=) :: DnsSecKey -> DnsSecKey -> Bool

Ord DnsSecKey Source # 
Instance details

Defined in Propellor.Types.PrivData

Methods

compare :: DnsSecKey -> DnsSecKey -> Ordering

(<) :: DnsSecKey -> DnsSecKey -> Bool

(<=) :: DnsSecKey -> DnsSecKey -> Bool

(>) :: DnsSecKey -> DnsSecKey -> Bool

(>=) :: DnsSecKey -> DnsSecKey -> Bool

max :: DnsSecKey -> DnsSecKey -> DnsSecKey

min :: DnsSecKey -> DnsSecKey -> DnsSecKey

Read DnsSecKey Source # 
Instance details

Defined in Propellor.Types.PrivData

Methods

readsPrec :: Int -> ReadS DnsSecKey

readList :: ReadS [DnsSecKey]

readPrec :: ReadPrec DnsSecKey

readListPrec :: ReadPrec [DnsSecKey]

Show DnsSecKey Source # 
Instance details

Defined in Propellor.Types.PrivData

Methods

showsPrec :: Int -> DnsSecKey -> ShowS

show :: DnsSecKey -> String

showList :: [DnsSecKey] -> ShowS