class mail::firma(
- $subdomain = hiera('firma_subdomain', 'firma')
+ $subdomain = hiera('firma_subdomain', $firma::params::subdomain)
) {
# Firma subsystems
--- /dev/null
+class mail::firma::params {
+ $subdomain = 'firma'
+}
class mail::mlmmj(
- $subdomain = hiera('mail::mlmmj::subdomain', 'mlmmj')
+ $subdomain = hiera('mail::mlmmj::subdomain', $mail::mlmmj::params::subdomain)
) {
include mail::mlmmj::packages
--- /dev/null
+class mail:mlmmj::params {
+ $subdomain = 'mlmmj'
+}
class mail::schleuder(
- $subdomain = hiera('schleuder_subdomain', 'encrypted')
+ $subdomain = hiera('schleuder_subdomain', $mail::schleuder::params::subdomain)
) {
# Schleuder subsystems
--- /dev/null
+class mail::schleuder::params {
+ $subdomain = 'encrypted'
+}
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', '')
+ $database_password = hiera('mail::sympa::database_password', ''),
+ $database_name = hiera('mail::sympa::database_name', $mail::sympa::params::database_name),
+ $database_host = hiera('mail::sympa::database_host', $mail::sympa::params::database_host),
+ $listmasters = hiera('mail::sympa::listmasters', $mail::sympa::params::listmasters),
+ $lang = hiera('mail::sympa::lang', $mail::sympa::params::lang),
+ $subdomain = hiera('mail::sympa::subdomain', $mail::sympa::params::subdomain),
+ $logo_html_definition = hiera('mail::sympa::logo_html_definition', $mail::sympa::params::logo_html_definition)
) {
# Class configuration
--- /dev/null
+class mail::sympa::params {
+ $database_name = 'sympa'
+ $database_host = 'localhost'
+ $listmasters = "listmaster@${fqdn}"
+ $lang = 'en_US'
+ $subdomain = 'lists'
+ $logo_html_definition = ''
+}
$postfix_manage_virtual_regexp = "yes"
$postfix_mydestination = '$myhostname, localhost.$mydomain, localhost'
$postfix_default_relay_domains = '$mydestination'
- $postfix_mynetworks = hiera('postfix_mynetworks', "127.0.0.0/8")
- $postfix_manage_tls_policy = hiera('postfix_manage_tls_policy', 'no')
+ $postfix_mynetworks = hiera('mail::postfix_mynetworks', $mail::system::params::postfix_mynetworks)
+ $postfix_manage_tls_policy = hiera('mail::postfix_manage_tls_policy', $mail::system::params::postfix_manage_tls_policy)
case $sympa_subdomain {
'': { $sympa_subdomain = "lists" }
include mail::clamav
include mail::spamassassin
+ # Default parameters
+ include mail::firma::params
+ include mail::mlmmj::params
+ include mail::sympa::params
+ include mail::schleuder::params
+ include mail::virtual::params
+ include mail::virtual::web::params
+
# Virtual mail system
case hiera('mail::virtual', false) {
true: {
- class { [ 'mail::virtual::params', 'mail::virtual' ]: }
+ class { 'mail::virtual': }
}
default: {
include mail::regular
--- /dev/null
+class mail::system::params {
+ $postfix_mynetworks = "127.0.0.0/8"
+ $postfix_manage_tls_policy = 'no'
+}
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_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', ''),
) {
class mail::virtual::web(
- $postfixadmin_setup_hash = hiera('mail::virtual::web::postfixadmin_setup_hash', ''),
- $roundcube_des_key = hiera('mail::virtual::web::roundcube_des_key', ''),
- $roundcube_logo = hiera('mail::virtual::web::roundcube_logo', 'null'),
- $roundcube_login_info = hiera('mail::virtual::web::roundcube_login_info', false)
+ $postfixadmin_setup_hash = hiera('mail::virtual::web::postfixadmin_setup_hash', $mail::virtual::web::params::postfixadmin_setup_hash),
+ $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)
) {
# Class configuration
--- /dev/null
+class mail::virtual::web::params {
+ $postfixadmin_setup_hash = ''
+ $roundcube_des_key = ''
+ $roundcube_logo = 'null'
+ $roundcube_login_info = false
+}