From 6c686c242f8b05fd88cd977cb250c250dcf6104c Mon Sep 17 00:00:00 2001 From: Michael Scherer Date: Thu, 22 Mar 2012 15:18:24 +0000 Subject: clean postfix module, rework the layout and split it in several file --- modules/postfix/manifests/init.pp | 72 +++------------------------ modules/postfix/manifests/server.pp | 13 +++++ modules/postfix/manifests/server/primary.pp | 37 ++++++++++++++ modules/postfix/manifests/server/secondary.pp | 1 + modules/postfix/manifests/simple_relay.pp | 5 ++ 5 files changed, 63 insertions(+), 65 deletions(-) create mode 100644 modules/postfix/manifests/server.pp create mode 100644 modules/postfix/manifests/server/primary.pp create mode 100644 modules/postfix/manifests/server/secondary.pp create mode 100644 modules/postfix/manifests/simple_relay.pp (limited to 'modules/postfix/manifests') diff --git a/modules/postfix/manifests/init.pp b/modules/postfix/manifests/init.pp index 5722e3e0..e13e86b5 100644 --- a/modules/postfix/manifests/init.pp +++ b/modules/postfix/manifests/init.pp @@ -1,71 +1,13 @@ class postfix { - class base { - package { [postfix,nail]: } + package { ['postfix', 'nail']: } - service { postfix: - subscribe => Package['postfix'], - } - - file { '/etc/postfix/main.cf': - require => Package["postfix"], - content => "", - notify => Service['postfix'], - } - } - - - class simple_relay inherits base { - File['/etc/postfix/main.cf'] { - content => template("postfix/simple_relay_main.cf"), - } - } - - class smtp_server inherits base { - include postgrey - include amavis - include spamassassin - - File['/etc/postfix/main.cf'] { - content => template("postfix/main.cf"), - } - - file { '/etc/postfix/transport_regexp': - content => template("postfix/transport_regexp"), - } - - } - - class primary_smtp inherits smtp_server { - - package { "postfix-ldap": } - - # council is here until we fully decide who has aliases in com team, - # see https://bugs.mageia.org/show_bug.cgi?id=1345 - # alumini is a special group for tracking previous members of - # the project, so they keep their aliases for a time - $aliases_group = ['mga-founders','mga-packagers', - 'mga-sysadmin','mga-council', - 'mga-alumni','mga-i18n-committers', - ] - $ldap_password = extlookup("postfix_ldap",'x') - $ldap_servers = get_ldap_servers() - - file { - '/etc/postfix/master.cf': content => template("postfix/primary_master.cf"); - '/etc/postfix/ldap_aliases.conf': content => template("postfix/ldap_aliases.conf"); - # TODO merge the file with the previous one, for common part (ldap, etc) - '/etc/postfix/group_aliases.conf': content => template("postfix/group_aliases.conf"); - # TODO make it conditional to the presence of sympa - '/etc/postfix/sympa_aliases': content => template("postfix/sympa_aliases"); - '/etc/postfix/virtual_aliases': content => template("postfix/virtual_aliases"); - } - - exec { "postmap /etc/postfix/virtual_aliases": - refreshonly => true, - subscribe => File['/etc/postfix/virtual_aliases'], - } + service { 'postfix': + subscribe => Package['postfix'], } - class secondary_smtp inherits smtp_server { + file { '/etc/postfix/main.cf': + require => Package['postfix'], + content => '', + notify => Service['postfix'], } } diff --git a/modules/postfix/manifests/server.pp b/modules/postfix/manifests/server.pp new file mode 100644 index 00000000..85ab261c --- /dev/null +++ b/modules/postfix/manifests/server.pp @@ -0,0 +1,13 @@ +class postfix::server inherits postfix { + include postgrey + include amavis + include spamassassin + + File['/etc/postfix/main.cf'] { + content => template('postfix/main.cf'), + } + + file { '/etc/postfix/transport_regexp': + content => template('postfix/transport_regexp'), + } +} diff --git a/modules/postfix/manifests/server/primary.pp b/modules/postfix/manifests/server/primary.pp new file mode 100644 index 00000000..3f089685 --- /dev/null +++ b/modules/postfix/manifests/server/primary.pp @@ -0,0 +1,37 @@ +class postfix::server::primary inherits postfix::server { + + package { 'postfix-ldap': } + + # council is here until we fully decide who has aliases in com team, + # see https://bugs.mageia.org/show_bug.cgi?id=1345 + # alumini is a special group for tracking previous members of + # the project, so they keep their aliases for a time + $aliases_group = ['mga-founders', + 'mga-packagers', + 'mga-sysadmin', + 'mga-council', + 'mga-alumni', + 'mga-i18n-committers'] + $ldap_password = extlookup('postfix_ldap','x') + $ldap_servers = get_ldap_servers() + + file { + '/etc/postfix/master.cf': + content => template('postfix/primary_master.cf'); + '/etc/postfix/ldap_aliases.conf': + content => template('postfix/ldap_aliases.conf'); + # TODO merge the file with the previous one, for common part (ldap, etc) + '/etc/postfix/group_aliases.conf': + content => template('postfix/group_aliases.conf'); + # TODO make it conditional to the presence of sympa + '/etc/postfix/sympa_aliases': + content => template('postfix/sympa_aliases'); + '/etc/postfix/virtual_aliases': + content => template('postfix/virtual_aliases'); + } + + exec { 'postmap /etc/postfix/virtual_aliases': + refreshonly => true, + subscribe => File['/etc/postfix/virtual_aliases'], + } +} diff --git a/modules/postfix/manifests/server/secondary.pp b/modules/postfix/manifests/server/secondary.pp new file mode 100644 index 00000000..e4dd8721 --- /dev/null +++ b/modules/postfix/manifests/server/secondary.pp @@ -0,0 +1 @@ +class postfix::server::secondary inherits postfix::server { } diff --git a/modules/postfix/manifests/simple_relay.pp b/modules/postfix/manifests/simple_relay.pp new file mode 100644 index 00000000..265960ae --- /dev/null +++ b/modules/postfix/manifests/simple_relay.pp @@ -0,0 +1,5 @@ +class postfix::simple_relay inherits postfix { + File['/etc/postfix/main.cf'] { + content => template('postfix/simple_relay_main.cf'), + } +} -- cgit v1.2.1