import "tls.pp"
import "amavisd.pp"
import "web.pp"
+import "sympa.pp"
ensure => absent,
}
}
+
+class mail::packages::sympa {
+ package { 'sympa':
+ ensure => installed,
+ }
+}
--- /dev/null
+class mail::sympa {
+ #
+ # Database configuration
+ #
+ database::instance { "$sympa_database_name":
+ password => "$sympa_database_password",
+ }
+}
include mail::postfixadmin
include mail::web
+ # Mailing list manager
+ case $mail_sympa {
+ true: {
+
+ case $sympa_database_password {
+ '': { fail("You need to define \$sympa_database_password host config") }
+ }
+
+ case $sympa_database_name {
+ '': { $sympa_database_name= "sympa" }
+ }
+
+ include mail::sympa
+ include mail::web::sympa
+ include mail::packages::sympa
+ }
+ }
+
# Postfix configuration
postfix::config {
"mydomain": value => "$domain";
require => File["${apache_sites_folder}/postfixadmin/site"],
}
}
+
+class mail::web::sympa {
+ case $mail_list_domain {
+ '': { $mail_list_domain = 'lists' }
+ }
+
+ apache::site { "$mail_list_domain":
+ docroot => "${apache_sites_folder}/$mail_list_domain/site",
+ source => true,
+ }
+}