diff --git a/config-joey.hs b/config-joey.hs index c3fb177..a2c2554 100644 --- a/config-joey.hs +++ b/config-joey.hs @@ -105,8 +105,9 @@ hosts = -- (o) ` & JoeySites.kiteMailServer -- & alias "smtp.kitenet.net" -- not yet live! + -- & alias "imap.kitenet.net" -- not yet live! - & Apt.installed ["mutt", "alpine", "git-annex", "myrepos"] + & Apt.installed ["git-annex", "myrepos"] -- Since password authentication is allowed: & Apt.serviceInstalledRunning "fail2ban" @@ -400,14 +401,14 @@ monsters = -- but do want to track their public keys etc. {- Remaining services on kite: - - mail - - postfix - - postgrey + - /postfix + - /postgrey - mailman - - spamassassin + - /spamassassin - sqwebmail - - courier - - imap - - tls + - /courier + - /imap + - /pop - apache - some static websites - bitlbee diff --git a/src/Propellor/Property/SiteSpecific/JoeySites.hs b/src/Propellor/Property/SiteSpecific/JoeySites.hs index 14cae61..52706d7 100644 --- a/src/Propellor/Property/SiteSpecific/JoeySites.hs +++ b/src/Propellor/Property/SiteSpecific/JoeySites.hs @@ -508,11 +508,34 @@ kiteMailServer = propertyList "kitenet.net mail server" , Apt.serviceInstalledRunning "dovecot-imapd" , Apt.serviceInstalledRunning "dovecot-pop3d" + , "/etc/dovecot/conf.d/10-mail.conf" `File.containsLine` + "mail_location = maildir:~/Maildir" + `onChange` Service.reloaded "dovecot" + `describe` "dovecot configured" - , Apt.installed ["bsd-mailx"] + , Apt.installed ["mutt", "bsd-mailx", "alpine"] + + , pinescript `File.hasContent` + [ "#!/bin/sh" + , "# deployed with propellor" + , "set -e" + , "pass=$HOME/.pine-password" + , "if [ ! -e $pass ]; then" + , "\ttouch $pass" + , "fi" + , "chmod 600 pass" + , "exec alpine -passfile $pass \"$@\"" + ] + `onChange` (pinescript `File.mode` combineModes (readModes ++ executeModes)) + `describe` "pine wrapper script" + , "/etc/pine.conf" `File.containsLines` + [ "inbox-path={localhost/novalidate-cert}inbox" + ] + `describe` "pine configured to use local imap server" ] where ctx = Context "kitenet.net" + pinescript = "/usr/local/bin/pine" hasJoeyCAChain :: Property hasJoeyCAChain = "/etc/ssl/certs/joeyca.pem" `File.hasPrivContentExposed`