salsa: set mail username and password
authorPeter Palfrader <peter@palfrader.org>
Thu, 31 Aug 2017 19:11:18 +0000 (19:11 +0000)
committerPeter Palfrader <peter@palfrader.org>
Thu, 31 Aug 2017 19:11:18 +0000 (19:11 +0000)
modules/salsa/manifests/init.pp
modules/salsa/manifests/mail.pp
modules/salsa/manifests/params.pp

index 3e798d0..038986b 100644 (file)
@@ -1,13 +1,5 @@
 #
-class salsa (
-       $user = $salsa::params::user,
-       $group = $salsa::params::group,
-       $home = $salsa::params::home,
-
-       $db_name = $salsa::params::db_name,
-       $db_role = $salsa::params::db_role,
-       $db_password = $salsa::params::db_password,
-) inherits salsa::params {
+class salsa inherits salsa::params {
 
        # anchor things in correct order
        anchor { 'salsa::begin': } ->
@@ -39,6 +31,9 @@ class salsa (
                                  name: "${salsa::db_name}"
                                  role: "${salsa::db_role}"
                                  password: "${salsa::db_password}"
+                               mail:
+                                 username: "${salsa::mail_username}"
+                                 password: "${salsa::mail_password}"
                                | EOF
        }
 }
index 5eb7863..d399ab4 100644 (file)
@@ -29,12 +29,13 @@ class salsa::mail inherits salsa {
                group => '_vmail',
        }
 
+       $pw_salt = hkdf('/etc/puppet/secret', "mail-imap-dovecot-${::hostname}-salsa-${mail_username}-salt-generator")
+       $hashed_pw = pw_hash($salsa::mail_password, 'SHA-512', $pw_salt)
        file { '/etc/dovecot/users':
-               # XXX fix uid/git/password
                mode => '440',
                group => 'dovecot',
-               content  => @(EOF),
-                               gitlab:$6$PoaX25m/P52bFbEU$tguOOYZZvOD49cmtlrqgRL4nKluakaVudPYOKkEcDZu/fZXXxyqjga9HypFwmBrj3uSP/wt2rqq7BNy22MlU90:::
+               content  => @("EOF"),
+                               ${salsa::mail_username}:${hashed_pw}:::
                                | EOF
        }
 
index e647cc2..958e5d6 100644 (file)
@@ -7,4 +7,7 @@ class salsa::params {
        $db_name = "salsa"
        $db_role = "salsa"
        $db_password = hkdf('/etc/puppet/secret', "postgresql-${::hostname}-salsa-${db_role}")
+
+       $mail_username = "gitlab"
+       $mail_password = hkdf('/etc/puppet/secret', "mail-imap-dovecot-${::hostname}-salsa-${mail_username}")
 }