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

Safe HaskellNone
LanguageHaskell98

Propellor.Types.Dns

Synopsis

Documentation

newtype DnsInfo Source

Constructors

DnsInfo 

Instances

Eq DnsInfo Source 
Ord DnsInfo Source 
Show DnsInfo Source 
Monoid DnsInfo Source 
IsInfo DnsInfo Source

DNS Info is propagated, so that eg, aliases of a container are reflected in the dns for the host where it runs.

data Zone Source

Represents a bind 9 zone file.

Constructors

Zone 

Fields

zDomain :: Domain
 
zSOA :: SOA
 
zHosts :: [(BindDomain, Record)]
 

data SOA Source

Every domain has a SOA record, which is big and complicated.

Constructors

SOA 

Fields

sDomain :: BindDomain

Typically ns1.your.domain

sSerial :: SerialNumber

The most important parameter is the serial number, which must increase after each change.

sRefresh :: Integer
 
sRetry :: Integer
 
sExpire :: Integer
 
sNegativeCacheTTL :: Integer
 

data Record Source

Types of DNS records.

This is not a complete list, more can be added.

type ReverseIP = String Source

An in-addr.arpa record corresponding to an IPAddr.

canonicalIP :: IPAddr -> IPAddr Source

Converts an IP address (particularly IPv6) to canonical, fully expanded form.

type SerialNumber = Word32 Source

Bind serial numbers are unsigned, 32 bit integers.

data BindDomain Source

Domains in the zone file must end with a period if they are absolute.

Let's use a type to keep absolute domains straight from relative domains.

The RootDomain refers to the top level of the domain, so can be used to add nameservers, MX's, etc to a domain.

newtype NamedConfMap Source

Instances

Eq NamedConfMap Source 
Ord NamedConfMap Source 
Show NamedConfMap Source 
Monoid NamedConfMap Source

Adding a Master NamedConf stanza for a particulr domain always overrides an existing Secondary stanza for that domain, while a Secondary stanza is only added when there is no existing Master stanza.

Empty NamedConfMap Source 
IsInfo NamedConfMap Source