diff options
Diffstat (limited to 'manifests/transport_regexp.pp')
| -rw-r--r-- | manifests/transport_regexp.pp | 55 | 
1 files changed, 55 insertions, 0 deletions
| diff --git a/manifests/transport_regexp.pp b/manifests/transport_regexp.pp new file mode 100644 index 0000000..924ae8a --- /dev/null +++ b/manifests/transport_regexp.pp @@ -0,0 +1,55 @@ +# +# == Class: postfix::transport_regexp +# +# Manages Postfix transport_regexp by merging snippets shipped: +# - in the module's files/transport_regexp.d/ or puppet:///files/etc/postfix/transport_regexp.d +#   (the latter takes precedence if present); site-postfix module is supported +#   as well, see the source argument of file {"$postfix_transport_regexp_snippets_dir" +#   bellow for details. +# - via postfix::transport_regexp_snippet defines +# +# Example usage: +#  +#   node "toto.example.com" { +#     $postfix_manage_transport_regexp = yes +#     include postfix +#     postfix::config { "transport_maps": +#       value => "hash:/etc/postfix/transport, regexp:/etc/postfix/transport_regexp", +#     } +#   } +# +class postfix::transport_regexp { + +  include common::moduledir +  module_dir{'postfix/transport_regexp': } + +  $postfix_transport_regexp_dir          = "${common::moduledir::module_dir_path}/postfix/transport_regexp" +  $postfix_transport_regexp_snippets_dir = "${postfix_transport_regexp_dir}/transport_regexp.d" +  $postfix_merged_transport_regexp       = "${postfix_transport_regexp_dir}/merged_transport_regexp" + +  file {"$postfix_transport_regexp_snippets_dir": +    ensure  => 'directory', +    owner   => 'root', +    group   => '0', +    mode    => '700', +    source  => [ +                "puppet:///modules/site-postfix/${fqdn}/transport_regexp.d", +                "puppet:///modules/site-postfix/transport_regexp.d", +                "puppet:///files/etc/postfix/transport_regexp.d", +                "puppet:///modules/postfix/transport_regexp.d", +               ], +    recurse => true, +    purge   => false, +  } + +  concatenated_file { "$postfix_merged_transport_regexp": +    dir     => "${postfix_transport_regexp_snippets_dir}", +    require => File["$postfix_transport_regexp_snippets_dir"], +  } +   +  config_file { '/etc/postfix/transport_regexp': +    source    => "$postfix_merged_transport_regexp", +    subscribe => File["$postfix_merged_transport_regexp"], +  } + +} | 
