summaryrefslogtreecommitdiffstats
path: root/modules/mail/manifests/mailu.pp
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2019-02-19 00:39:14 -0500
committerJesse Luehrs <doy@tozt.net>2019-02-19 00:39:14 -0500
commit2f46554d12ec7ac24b2bef053b90186834baabff (patch)
tree54532eb7ae2ccdc47b11c1c268d83995702ce15f /modules/mail/manifests/mailu.pp
parent318445114d9126ef0290e5ffea2777687a3ee316 (diff)
downloadpuppet-tozt-2f46554d12ec7ac24b2bef053b90186834baabff.tar.gz
puppet-tozt-2f46554d12ec7ac24b2bef053b90186834baabff.zip
start over a bit with mailu
Diffstat (limited to 'modules/mail/manifests/mailu.pp')
-rw-r--r--modules/mail/manifests/mailu.pp62
1 files changed, 6 insertions, 56 deletions
diff --git a/modules/mail/manifests/mailu.pp b/modules/mail/manifests/mailu.pp
index dd53440..3aead66 100644
--- a/modules/mail/manifests/mailu.pp
+++ b/modules/mail/manifests/mailu.pp
@@ -3,52 +3,13 @@ class mail::mailu {
include docker
include haveged
- package { "opendkim":
- ensure => installed;
- }
-
file {
"/media/persistent/docker-compose.yml":
- source => "puppet:///modules/mail/docker-compose.yml",
- require => Class["mail::persistent"];
- "/media/persistent/.env.tmpl":
- source => "puppet:///modules/mail/env",
- require => Class["mail::persistent"];
- "/media/persistent/certs":
- ensure => directory,
- require => Class["mail::persistent"];
- "/media/persistent/dkim":
- ensure => directory,
+ content => template("mail/docker-compose.yml.erb"),
require => Class["mail::persistent"];
- "/media/persistent/certs/dhparam.pem":
- source => "puppet:///modules/mail/dhparam.pem",
- require => File["/media/persistent/certs"];
- "/media/persistent/overrides":
- ensure => directory,
+ "/media/persistent/.env.common":
+ content => "puppet:///modules/mail/mailu.env",
require => Class["mail::persistent"];
- "/media/persistent/overrides/rspamd":
- ensure => directory,
- require => File["/media/persistent/overrides"];
- "/media/persistent/overrides/rspamd/dkim_signing.conf":
- source => "puppet:///modules/mail/dkim_signing.conf",
- require => File["/media/persistent/overrides/rspamd"];
- }
-
- exec { "generate dkim keys":
- provider => shell,
- command => "
- opendkim-genkey -s dkim -d new.tozt.net
- mv dkim.private /media/persistent/dkim/new.tozt.net.dkim.key
- mv dkim.txt /media/persistent/dkim/new.tozt.net.dkim.pub
- ",
- cwd => "/media/persistent",
- creates => "/media/persistent/dkim/new.tozt.net.dkim.key",
- require => [
- Class["haveged"],
- Package["opendkim"],
- Class["mail::persistent"],
- File["/media/persistent/dkim"],
- ];
}
exec { "generate mailu secret key":
@@ -63,29 +24,18 @@ class mail::mailu {
]
}
- exec { "find local ip address":
- provider => shell,
- command => "echo BIND_ADDRESS4=`curl -s http://169.254.169.254/metadata/v1/interfaces/public/0/ipv4/address` > /run/mailu_bind_address",
- creates => "/run/mailu_bind_address";
- }
-
exec { "create env file":
provider => shell,
- command => "cat /media/persistent/.env.tmpl /media/persistent/secret-key /run/mailu_bind_address > /media/persistent/.env",
- unless => "
- test -f /media/persistent/.env &&\
- test -f /run/mailu_bind_address &&\
- grep -F `cat /run/mailu_bind_address` /media/persistent/.env
- ",
+ command => "cat /media/persistent/.env.common /media/persistent/secret-key > /media/persistent/mailu.env",
+ creates => "/media/persistent/mailu.env",
subscribe => [
Exec["generate mailu secret key"],
- Exec["find local ip address"],
File["/media/persistent/.env.tmpl"],
];
}
file { "/etc/systemd/system/mailu.service":
- source => "puppet:///modules/mail/service",
+ source => "puppet:///modules/mail/mailu.service",
notify => Exec["/usr/bin/systemctl daemon-reload"];
}