From 3f7ca33b653228cc1cfa1596e832fea06df7dd15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Pinson?= <raphael.pinson@camptocamp.com> Date: Mon, 22 Jul 2013 16:44:25 +0200 Subject: [PATCH] postfix::ldap --- manifests/files.pp | 2 +- manifests/init.pp | 23 +++++++++++++++++++++++ manifests/ldap.pp | 7 ++----- 3 files changed, 26 insertions(+), 6 deletions(-) diff --git a/manifests/files.pp b/manifests/files.pp index d765032..ecc0a63 100644 --- a/manifests/files.pp +++ b/manifests/files.pp @@ -69,7 +69,7 @@ class postfix::files { ::postfix::config { 'myorigin': value => $myorigin; - 'alias_maps': value => 'hash:/etc/aliases'; + 'alias_maps': value => $postfix::alias_maps; 'inet_interfaces': value => $inet_interfaces; } diff --git a/manifests/init.pp b/manifests/init.pp index a6b5964..0d13ca7 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -7,10 +7,18 @@ # Parameters: # [*inet_interfaces*] - (string) # +# [*ldap*] - (boolean) +# +# [*ldap_base*] - (string) +# # [*mail_user*] - (string) The mail user # # [*mailman*] - (boolean) # +# [*maincf_source*] - (string) +# +# [*mastercf_source*] - (string) +# # [*master_smtp*] - (string) # # [*master_smtps*] - (string) @@ -50,6 +58,8 @@ # class postfix ( $inet_interfaces = 'all', + $ldap = false, + $ldap_base = undef, $mail_user = 'vmail', # postfix_mail_user $mailman = false, $maincf_source = "puppet:///modules/${module_name}/main.cf", @@ -72,6 +82,7 @@ class postfix ( ) inherits postfix::params { + validate_bool($ldap) validate_bool($mailman) validate_bool($mta) validate_bool($satellite) @@ -81,7 +92,10 @@ class postfix ( validate_bool($use_sympa) validate_string($inet_interfaces) + validate_string($ldap_base) validate_string($mail_user) + validate_string($maincf_source) + validate_string($mastercf_source) validate_string($master_smtp) validate_string($master_smtps) validate_string($mydestination) @@ -98,11 +112,20 @@ class postfix ( default => $smtp_listen, } + $alias_maps = $ldap ? { + false => 'hash:/etc/aliases', + true => '"hash:/etc/aliases, ldap:/etc/postfix/ldap-aliases.cf"', + } + class { 'postfix::packages': } -> class { 'postfix::files': } ~> class { 'postfix::service': } -> Class['postfix'] + if $ldap { + include ::postfix::ldap + } + if $mta { include ::postfix::mta } diff --git a/manifests/ldap.pp b/manifests/ldap.pp index 403bcd5..07599ce 100644 --- a/manifests/ldap.pp +++ b/manifests/ldap.pp @@ -1,11 +1,8 @@ -class postfix::ldap inherits postfix { - Postfix::Config['alias_maps'] { - value => '"hash:/etc/aliases, ldap:/etc/postfix/ldap-aliases.cf"', - } +class postfix::ldap { package {'postfix-ldap': } - if ! $::postfix_ldap_base { + if ! $::postfix::ldap_base { fail 'Missing $postfix_ldap_base !' } -- GitLab