diff options
author | Jesse Luehrs <doy@tozt.net> | 2018-10-20 14:50:20 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2018-10-20 14:50:20 -0400 |
commit | ef95165380ddcd86e7cdd750cad1cbbe0148e5a1 (patch) | |
tree | c43415221ec992aa36b2f4576d51c22cec91a2f0 /mail | |
parent | 3461e75ffd2b789521f71906e34fab385a5c691b (diff) | |
download | puppet-tozt-ef95165380ddcd86e7cdd750cad1cbbe0148e5a1.tar.gz puppet-tozt-ef95165380ddcd86e7cdd750cad1cbbe0148e5a1.zip |
put mail data on a persistent volume
Diffstat (limited to 'mail')
-rw-r--r-- | mail/mail/manifests/mailu.pp | 9 | ||||
-rw-r--r-- | mail/mail/manifests/persistent.pp | 24 |
2 files changed, 28 insertions, 5 deletions
diff --git a/mail/mail/manifests/mailu.pp b/mail/mail/manifests/mailu.pp index d7b4eec..b80e675 100644 --- a/mail/mail/manifests/mailu.pp +++ b/mail/mail/manifests/mailu.pp @@ -1,20 +1,19 @@ class mail::mailu { + include mail::persistent include docker file { - "/mailu": - ensure => directory; "/mailu/docker-compose.yml": source => "puppet:///modules/mail/docker-compose.yml", - require => File["/mailu"]; + require => Class["mail::persistent"]; "/mailu/.env.tmpl": source => "puppet:///modules/mail/env", - require => File["/mailu"]; + require => Class["mail::persistent"]; } secret { "/mailu/secret-key": source => "mailu-secret-key", - require => File["/mailu"]; + require => Class["mail::persistent"]; } exec { "create env file": diff --git a/mail/mail/manifests/persistent.pp b/mail/mail/manifests/persistent.pp new file mode 100644 index 0000000..db6adea --- /dev/null +++ b/mail/mail/manifests/persistent.pp @@ -0,0 +1,24 @@ +class mail::persistent { + file { + "/mailu": + ensure => directory; + } + + $fstab_line = "/dev/disk/by-id/scsi-0DO_Volume_mail-persistent /mailu ext4 rw,relatime 0 2" + exec { "populate fstab": + provider => shell, + command => "echo '${fstab_line}' >> /etc/fstab", + unless => "/usr/bin/grep -qF '${fstab_line}' /etc/fstab", + require => File["/mailu"]; + } + + exec { "mount /mailu": + provider => shell, + command => "/usr/bin/mount /mailu", + unless => "grep ' /mailu ' /proc/mounts", + require => [ + File["/mailu"], + Exec["populate fstab"], + ]; + } +} |