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

Safe HaskellNone




satellite :: Property NoInfo Source

Configures postfix as a satellite system, which relays all mail through a relay host, which defaults to smtp.domain, but can be changed by mainCf "relayhost".

The smarthost may refuse to relay mail on to other domains, without further configuration/keys. But this should be enough to get cron job mail flowing to a place where it will be seen.

mappedFile :: Combines (Property x) (Property NoInfo) => FilePath -> (FilePath -> Property x) -> Property (CInfo x NoInfo) Source

Sets up a file by running a property (which the filename is passed to). If the setup property makes a change, postmap will be run on the file, and postfix will be reloaded.

newaliases :: Property NoInfo Source

Run newaliases command, which should be done after changing etcaliases.

mainCfFile :: FilePath Source

The main config file for postfix.

mainCf :: (String, String) -> Property NoInfo Source

Sets a name=value pair. Does not reload postfix immediately.

getMainCf :: String -> IO (Maybe String) Source

Gets a setting.

mainCfIsSet :: String -> IO Bool Source

Checks if a field is set. A field that is set to the empty string is considered not set.

dedupMainCf :: Property NoInfo Source

Parses, and removes any initial configuration lines that are overridden to other values later in the file.

For example, to add some settings, removing any old settings:

 mainCf `File.containsLines`
	[ "# I like bars."
	, "foo = bar"
	] `onChange` dedupMainCf

Note that multiline configurations that continue onto the next line are not currently supported.

saslAuthdInstalled :: Property NoInfo Source

Installs saslauthd and configures it for postfix, authenticating against PAM.

Does not configure postfix to use it; eg smtpd_sasl_auth_enable = yes needs to be set to enable use. See