propellor-2.11.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 

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 

newtype HostContext Source

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

Constructors

HostContext 

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.

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)