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

Safe Haskell | None
Language | Haskell2010

Propellor.Property.SiteSpecific.JoeySites

Description

Specific configuration for Joey Hess's sites. Probably not useful to others except as an example.

Synopsis

- kgbServer :: Property (HasInfo + DebianLike)
- gitServer :: [Host] -> Property (HasInfo + DebianLike)
- type AnnexUUID = String
- annexWebSite :: RepoUrl -> HostName -> AnnexUUID -> [(String, RepoUrl)] -> Property (HasInfo + DebianLike)
- letos :: AgreeTOS
- apacheSite :: HostName -> ConfigFile -> RevertableProperty DebianLike DebianLike
- apachecfg :: HostName -> ConfigFile -> ConfigFile
- gitAnnexDistributor :: Property (HasInfo + DebianLike)
- downloads :: Property (HasInfo + DebianLike)
- tmp :: Property (HasInfo + DebianLike)
- ircBouncer :: Property (HasInfo + DebianLike)
- rsyncNetBackup :: [Host] -> Property DebianLike
- spamdEnabled :: Property DebianLike
- spamassassinConfigured :: Property DebianLike
- kiteMailServer :: Property (HasInfo + DebianLike)
- dkimMilter :: Property (HasInfo + DebianLike)
- dkimInstalled :: Property (HasInfo + DebianLike)
- domainKey :: (BindDomain, Record)
- postfixSaslPasswordClient :: Property (HasInfo + DebianLike)
- hasPostfixCert :: Context -> Property (HasInfo + UnixLike)
- legacyWebSites :: Property (HasInfo + DebianLike)
- userDirHtml :: Property DebianLike
- alarmClock :: String -> User -> String -> Property Linux
- epsolarUsbSetup :: Property UnixLike
- house :: IsContext c => User -> [Host] -> c -> (SshKeyType, PubKeyText) -> Property (HasInfo + DebianLike)
- data Interfaces = Interfaces {
  - ethernetInterface :: String
  - wifiInterface :: String
  - wifiInterfaceOld :: String
  }
- connectStarlinkDish :: Interfaces -> Property DebianLike
- connectStarlinkRouter :: Interfaces -> Property DebianLike
- homeRouter :: String -> Interfaces -> String -> HostapdConfig -> Property DebianLike
- ipmasq :: String -> Property DebianLike
- laptopSoftware :: Property DebianLike
- baseSoftware :: Property DebianLike
- devSoftware :: Property DebianLike
- cubieTruckOneWire :: Property DebianLike
- rsyncNetBorgRepo :: String -> [BorgRepoOpt] -> BorgRepo
- noExim :: Property DebianLike
- data HostapdConfig = HostapdConfig [String]
- hostapd2GhzConfig :: HostapdConfig
- hostapd2GhzConfig_mt76 :: HostapdConfig
- hostapd5GhzConfig :: HostapdConfig
- thinkPadLedsOff :: Property Linux

# Documentation

kgbServer :: Property (HasInfo + DebianLike) Source #

gitServer :: [Host] -> Property (HasInfo + DebianLike) Source #

type AnnexUUID = String Source #

annexWebSite :: RepoUrl -> HostName -> AnnexUUID -> [(String, RepoUrl)] -> Property (HasInfo + DebianLike) Source #

A website, with files coming from a git-annex repository.

letos :: AgreeTOS Source #

apacheSite :: HostName -> ConfigFile -> RevertableProperty DebianLike DebianLike Source #

apachecfg :: HostName -> ConfigFile -> ConfigFile Source #

gitAnnexDistributor :: Property (HasInfo + DebianLike) Source #

downloads :: Property (HasInfo + DebianLike) Source #

tmp :: Property (HasInfo + DebianLike) Source #

ircBouncer :: Property (HasInfo + DebianLike) Source #

rsyncNetBackup :: [Host] -> Property DebianLike Source #

spamdEnabled :: Property DebianLike Source #

spamassassinConfigured :: Property DebianLike Source #

kiteMailServer :: Property (HasInfo + DebianLike) Source #

dkimMilter :: Property (HasInfo + DebianLike) Source #

dkimInstalled :: Property (HasInfo + DebianLike) Source #

domainKey :: (BindDomain, Record) Source #

postfixSaslPasswordClient :: Property (HasInfo + DebianLike) Source #

hasPostfixCert :: Context -> Property (HasInfo + UnixLike) Source #

legacyWebSites :: Property (HasInfo + DebianLike) Source #

userDirHtml :: Property DebianLike Source #

alarmClock :: String -> User -> String -> Property Linux Source #

epsolarUsbSetup :: Property UnixLike Source #

house :: IsContext c => User -> [Host] -> c -> (SshKeyType, PubKeyText) -> Property (HasInfo + DebianLike) Source #

data Interfaces Source #

Constructors

Interfaces |

Fields

- ethernetInterface :: String
- wifiInterface :: String
- wifiInterfaceOld :: String

connectStarlinkDish :: Interfaces -> Property DebianLike Source #

connectStarlinkRouter :: Interfaces -> Property DebianLike Source #

homeRouter :: String -> Interfaces -> String -> HostapdConfig -> Property DebianLike Source #

ipmasq :: String -> Property DebianLike Source #

Enable IP masqerading, on whatever other interfaces come up, besides the provided intif.

laptopSoftware :: Property DebianLike Source #

baseSoftware :: Property DebianLike Source #

devSoftware :: Property DebianLike Source #

cubieTruckOneWire :: Property DebianLike Source #

rsyncNetBorgRepo :: String -> [BorgRepoOpt] -> BorgRepo Source #

noExim :: Property DebianLike Source #

data HostapdConfig Source #

Constructors

HostapdConfig [String] |

hostapd2GhzConfig :: HostapdConfig Source #

hostapd2GhzConfig_mt76 :: HostapdConfig Source #

hostapd5GhzConfig :: HostapdConfig Source #

thinkPadLedsOff :: Property Linux Source #