-class mail::postfixadmin(
- $database_user = hiera('postfixadmin_database_user', 'postfix'),
- $database_host = hiera('postfixadmin_database_host', 'localhost'),
- $database_name = hiera('postfixadmin_database_name', 'postfix'),
- $database_password = hiera('postfixadmin_database_password', ''),
-) {
+class mail::postfixadmin {
# Class configuration
case $database_password {
'': { fail("You need to define database_password host config") }
#
# Database configuration
#
- database::instance { "${database_name}":
- password => "${database_password}",
+ database::instance { "${mail::virtual::database_name}":
+ password => "${mail::virtual::database_password}",
}
#
-class mail::sympa {
- # Class configuration
- $database_password = hiera('sympa_database_password', '')
- $database_name = hiera('sympa_database_name', 'sympa')
- $database_host = hiera('sympa_database_host', 'localhost')
- $listmasters = hiera('sympa_listmasters', "listmaster@${fqdn}")
- $lang = hiera('sympa_lang', 'en_US')
- $subdomain = hiera('sympa_subdomain', 'lists')
- $logo_html_definition = hiera('sympa_logo_html_definition', '')
+class mail::sympa(
+ $database_password = hiera('mail::sympa::database_password', ''),
+ $database_name = hiera('mail::sympa::database_name', 'sympa'),
+ $database_host = hiera('mail::sympa::database_host', 'localhost'),
+ $listmasters = hiera('mail::sympa::listmasters', "listmaster@${fqdn}"),
+ $lang = hiera('mail::sympa::lang', 'en_US'),
+ $subdomain = hiera('mail::sympa::subdomain', 'lists'),
+ $logo_html_definition = hiera('mail::sympa::logo_html_definition', '')
+) {
+ # Class configuration
case $database_password {
'': { fail("You need to define database_password host config") }
}
include mail::spamassassin
# Virtual mail system
- case hiera('mail_virtual', false) {
+ case hiera('mail::virtual', false) {
true: {
- include mail::virtual
+ class { 'mail::virtual': }
}
default: {
include mail::regular
}
# Sympa mailing list manager
- case hiera('mail_sympa', false) {
+ case hiera('mail::sympa', false) {
true: {
- include mail::sympa
+ class { 'mail::sympa': }
$sympa_relay_domains = ", ${mail::sympa::subdomain}.${domain}"
}
'disabled': {
}
# Schleuder mailing list manager
- case hiera('mail_schleuder', false) {
+ case hiera('mail::schleuder', false) {
true: {
class { 'mail::schleuder': }
$schleuder_relay_domains = ", ${mail::schleuder::subdomain}.${domain}"
}
# Mlmmj
- case hiera('mail_mlmmj', false) {
+ case hiera('mail::mlmmj', false) {
true: {
class { 'mail::mlmmj': }
$mlmmj_relay_domains = ", ${mail::mlmmj::subdomain}.${domain}"
}
# Firma
- case hiera('mail_firma', false) {
+ case hiera('mail::firma', false) {
true: {
class { 'mail::firma': }
$firma_relay_domains = ", ${mail::firma::subdomain}.${domain}"
}
}
- $relay_domains = hiera('postfix_relay_domains', '')
+ $relay_domains = hiera('mail::relay_domains', '')
case $relay_domains {
'': { $postfix_relay_domains = "${postfix_default_relay_domains}${sympa_relay_domains}${schleuder_relay_domains}${mlmmj_relay_domains}${firma_relay_domains}" }
-class mail::virtual {
+class mail::virtual::params {
+ $database_user = 'postfix'
+ $database_host = 'localhost'
+ $database_name = 'postfix'
+}
+
+class mail::virtual(
+ $database_user = hiera('mail::virtual::database_user', $mail::virtual::params::database_user),
+ $database_host = hiera('mail::virtual::database_host', $mail::virtual::params::database_host),
+ $database_name = hiera('mail::virtual::database_name', $mail::virtual::params::database_name),
+ $database_password = hiera('mail::virtual::database_password', ''),
+) {
+
+ # Check parameters
+ case $database_password {
+ '': { fail("You need to define database_password host config") }
+ }
+
# Virtual subsystems
include database
include mail::packages::virtual
class mail::web::virtual(
- $database_user = hiera('postfixadmin_database_user', 'postfix'),
- $database_host = hiera('postfixadmin_database_host', 'localhost'),
- $database_name = hiera('postfixadmin_database_name', 'postfix'),
- $database_password = hiera('postfixadmin_database_password', ''),
- $postfixadmin_setup_hash = hiera('postfixadmin_setup_hash', ''),
- $roundcube_des_key = hiera('roundcube_des_key', ''),
- $roundcube_logo = hiera('roundcube_logo', 'null'),
- $roundcube_login_info = hiera('roundcube_login_info', false)
+ $postfixadmin_setup_hash = hiera('mail::web::virtual::postfixadmin_setup_hash', ''),
+ $roundcube_des_key = hiera('mail::web::virtual::roundcube_des_key', ''),
+ $roundcube_logo = hiera('mail::web::virtual::roundcube_logo', 'null'),
+ $roundcube_login_info = hiera('mail::web::virtual::roundcube_login_info', false)
) {
# Class configuration
}
}
- case $database_password {
- '': { fail("You need to define database_password host config") }
- }
-
case $postfixadmin_setup_hash {
'': {
warning("You need to define postfixadmin_setup_hash host config")
}
class mail::web::sympa inherits websites::setup {
- $sympa_subdomain = hiera('sympa_subdomain', 'lists')
-
- apache::site { "$sympa_subdomain":
- docroot => "${apache::www_folder}/${sympa_subdomain}",
+ apache::site { "${sympa::subdomain}":
+ docroot => "${apache::www_folder}/${sympa::subdomain}",
source => true,
owner => sympa,
group => sympa,
require => Package["apache2-suexec"],
}
- file { "${apache::www_folder}/${sympa_subdomain}/wwsympa.fcgi":
+ file { "${apache::www_folder}/${sympa::subdomain}/wwsympa.fcgi":
ensure => present,
owner => sympa,
group => sympa,
mode => 0550,
content => "#!/bin/sh\n/usr/lib/cgi-bin/sympa/wwsympa.fcgi\n",
- require => File["${apache::www_folder}/${sympa_subdomain}"],
+ require => File["${apache::www_folder}/${sympa::subdomain}"],
}
}
class mail::web::mlmmj inherits websites::setup {
$mlmmj_subdomain = hiera('mlmmj_subdomain')
- apache::site { "$mlmmj_subdomain":
+ apache::site { "${mail::mlmmj::subdomain}":
docroot => "/usr/share/mlmmj-php-web-admin",
owner => 'mlmmj',
group => 'mlmmj',