diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2016-06-22 17:29:59 -0300 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2016-06-22 17:29:59 -0300 |
commit | 9a7b88ca7ae00e916f0d13dc318c0cab9bbd155d (patch) | |
tree | 1706b6f40db17955901e15ed8904b488af8dd113 /manifests/virtual/web | |
parent | ac00c28ffd8ee294d72a044339ad53b2e3e2773f (diff) | |
download | puppet-mail-9a7b88ca7ae00e916f0d13dc318c0cab9bbd155d.tar.gz puppet-mail-9a7b88ca7ae00e916f0d13dc318c0cab9bbd155d.tar.bz2 |
Split admin and web clients
Diffstat (limited to 'manifests/virtual/web')
-rw-r--r-- | manifests/virtual/web/admin.pp | 25 | ||||
-rw-r--r-- | manifests/virtual/web/client.pp | 60 |
2 files changed, 85 insertions, 0 deletions
diff --git a/manifests/virtual/web/admin.pp b/manifests/virtual/web/admin.pp new file mode 100644 index 0000000..2ec4243 --- /dev/null +++ b/manifests/virtual/web/admin.pp @@ -0,0 +1,25 @@ +class mail::virtual::web::admin( + $postfixadmin_setup_hash = hiera('mail::virtual::web::postfixadmin_setup_hash', $mail::virtual::web::params::postfixadmin_setup_hash), +) { + case $postfixadmin_setup_hash { + '': { + warning("You need to define mail::virtual::web::postfixadmin_setup_hash config") + $setup_hash = 'changeme' + } + } + + apache::site { "postfixadmin": + docroot => "${apache::sites_folder}/postfixadmin/site", + use => [ "Site postfixadmin" ], + mpm => false, + } + + file { "${apache::sites_folder}/postfixadmin/site/config.inc.php": + ensure => present, + owner => www-data, + group => root, + mode => 0640, + content => template('mail/virtual/postfixadmin/config.inc.php.erb'), + require => File["${apache::sites_folder}/postfixadmin/site"], + } +} diff --git a/manifests/virtual/web/client.pp b/manifests/virtual/web/client.pp new file mode 100644 index 0000000..88c9a28 --- /dev/null +++ b/manifests/virtual/web/client.pp @@ -0,0 +1,60 @@ +class mail::virtual::web::client( + $roundcube_des_key = hiera('mail::virtual::web::roundcube_des_key', $mail::virtual::web::params::roundcube_des_key), + $roundcube_logo = hiera('mail::virtual::web::roundcube_logo', $mail::virtual::web::params::roundcube_logo), + $roundcube_login_info = hiera('mail::virtual::web::roundcube_login_info', $mail::virtual::web::params::roundcube_login_info) +) { + include php::imap + + case $roundcube_des_key { + '': { fail("You need to define mail::virtual::web::roundcube_des_key config") } + } + + apache::site { "mail": + docroot => $::lsbdistcodename ? { + 'lenny' => "/usr/share/squirrelmail", + default => "/var/lib/roundcube", + }, + source => true, + mpm => false, + } + + $web_db_pass = hiera('mail::virtual::web::database::password', '') + + database::instance { "mail": + password => "${web_db_pass}", + } + + # Old config + file { "/etc/roundcube/main.inc.php": + ensure => absent, + owner => root, + group => www-data, + mode => 0640, + require => Package['roundcube'], + } + + file { "/etc/roundcube/config.inc.php": + ensure => $::lsbdistcodename ? { + 'lenny' => absent, + default => present, + }, + owner => root, + group => www-data, + mode => 0640, + content => template('mail/virtual/roundcube/config.inc.php.erb'), + require => Package['roundcube'], + } + + file { "/var/lib/roundcube/plugins/login_info": + ensure => $::lsbdistcodename ? { + 'lenny' => absent, + default => directory, + }, + recurse => true, + owner => root, + group => root, + mode => 0644, + source => "puppet:///modules/mail/roundcube/plugins/login_info", + require => Package['roundcube'], + } +} |