summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--manifests/firma.pp34
-rw-r--r--manifests/system.pp15
2 files changed, 48 insertions, 1 deletions
diff --git a/manifests/firma.pp b/manifests/firma.pp
new file mode 100644
index 0000000..8a28ffa
--- /dev/null
+++ b/manifests/firma.pp
@@ -0,0 +1,34 @@
+class mail::firma {
+ # Firma subsystems
+ include mail::packages::firma
+
+ postfix::config { "firma_destination_recipient_limit": value => '1', nonstandard => true }
+
+ postfix::transport { "${firma_subdomain}.$domain":
+ ensure => present,
+ destination => "firma",
+ }
+
+ group { "firma":
+ ensure => present,
+ allowdupe => false,
+ }
+
+ user { "firma":
+ ensure => present,
+ allowdupe => false,
+ gid => 'firma',
+ require => Group['firma'],
+ home => '/var/lib/firma',
+ }
+
+ vcsrepo { "/var/lib/firma":
+ ensure => present,
+ provider => git,
+ source => 'git://git.sarava.org/firma.git',
+ revision => '0d86856e51af59a670cdb96762d74031abb5025b',
+ owner => 'firma',
+ group => 'firma',
+ require => [ User['firma'], Group['firma'] ],
+ }
+}
diff --git a/manifests/system.pp b/manifests/system.pp
index 217e5c3..a1df20f 100644
--- a/manifests/system.pp
+++ b/manifests/system.pp
@@ -5,6 +5,7 @@ class mail::system {
$postfix_use_schleuder = "yes"
$postfix_use_sympa = "yes"
$postfix_use_mlmmj = "yes"
+ $postfix_use_firma = "yes"
$postfix_anon_sasl = "yes"
$postfix_manage_transport_regexp = "yes"
$postfix_manage_virtual_regexp = "yes"
@@ -78,8 +79,20 @@ class mail::system {
}
}
+ # Firma
+ case $mail_firma {
+ true: {
+ case $firma_subdomain {
+ '': { $firma_subdomain = "firma" }
+ }
+
+ $firma_relay_domains = ", ${firma_subdomain}.${domain}"
+ include mail::firma
+ }
+ }
+
case $postfix_relay_domains {
- '': { $postfix_relay_domains = "${postfix_default_relay_domains}${sympa_relay_domains}${schleuder_relay_domains}${mlmmj_relay_domains}" }
+ '': { $postfix_relay_domains = "${postfix_default_relay_domains}${sympa_relay_domains}${schleuder_relay_domains}${mlmmj_relay_domains}${firma_relay_domains}" }
}
# Include base configuration