]> gitweb.fluxo.info Git - puppet-postfix.git/commitdiff
Use the concat module instead of the concatenated_file defined (Closes: #4074)
authorintrigeri <intrigeri@boum.org>
Sun, 30 Dec 2012 14:43:06 +0000 (15:43 +0100)
committerintrigeri <intrigeri@boum.org>
Sun, 30 Dec 2012 15:06:30 +0000 (16:06 +0100)
README
manifests/header_checks.pp
manifests/header_checks_snippet.pp
manifests/tlspolicy.pp
manifests/tlspolicy_snippet.pp

diff --git a/README b/README
index 1e32a4522642d33fd20bbc8791536ff904fc63d2..b085c064c959773d329bb440ea034da0a5892d02 100644 (file)
--- a/README
+++ b/README
@@ -4,6 +4,10 @@ This module will help install and configure postfix.
 
 A couple of classes will preconfigure postfix for common needs.
 
+This module needs:
+
+- the concat module: git://labs.riseup.net/shared-concat
+
 Config
 ------
 - set $postfix_use_amavisd="yes" to include postfix::amavis
@@ -28,3 +32,24 @@ Config
 
   postfix::config { "relay_domains": value  => "localhost host.foo.com" }
 
+Deprecation notice
+------------------
+
+It used to be that one could drop header checks snippets into the
+following source directories:
+
+   "puppet:///modules/site-postfix/${fqdn}/header_checks.d"
+   "puppet:///modules/site-postfix/header_checks.d"
+   "puppet:///files/etc/postfix/header_checks.d"
+   "puppet:///modules/postfix/header_checks.d"
+
+... and TLS policy snippets into those:
+
+   "puppet:///modules/site-postfix/${fqdn}/tls_policy.d"
+   "puppet:///modules/site-postfix/tls_policy.d"
+   "puppet:///modules/postfix/tls_policy.d"
+
+This is not supported anymore.
+
+Every such snippet much now be configured using the (respectively)
+postfix::header_checks_snippet and postfix::tlspolicy_snippet defines.
index 071f6b0a93e61fd63be7f381bd0324127e63fd1d..5b0c3c86a39aab854c217933cd84554199004ee9 100644 (file)
@@ -1,57 +1,32 @@
 #
 # == Class: postfix::header_checks
 #
-# Manages Postfix header_checks by merging snippets shipped:
-# - in the module's files/header_checks.d/ or puppet:///files/etc/postfix/header_checks.d
-#   (the latter takes precedence if present); site-postfix module is supported
-#   as well, see the source argument of file {"$postfix_header_checks_snippets_dir"
-#   bellow for details.
-# - via postfix::header_checks_snippet defines
+# Manages Postfix header_checks by merging snippets configured
+# via postfix::header_checks_snippet defines
 #
-# Example usage:
-# 
-#   node "toto.example.com" {
-#     $postfix_manage_header_checks = yes
-#     include postfix
-#   }
+# Note that this class is useless when used directly.
+# The postfix::header_checks_snippet defines takes care of importing
+# it anyway.
 #
 class postfix::header_checks {
 
-  include common::moduledir
-  module_dir{'postfix/header_checks': }
-
-  $postfix_header_checks_dir          = "${common::moduledir::module_dir_path}/postfix/header_checks"
-  $postfix_header_checks_snippets_dir = "${postfix_header_checks_dir}/header_checks.d"
-  $postfix_merged_header_checks       = "${postfix_header_checks_dir}/merged_header_checks"
-
-  file {"$postfix_header_checks_snippets_dir":
-    ensure  => 'directory',
-    owner   => 'root',
-    group   => '0',
-    mode    => '700',
-    source  => [
-                "puppet:///modules/site-postfix/${fqdn}/header_checks.d",
-                "puppet:///modules/site-postfix/header_checks.d",
-                "puppet:///files/etc/postfix/header_checks.d",
-                "puppet:///modules/postfix/header_checks.d",
-               ],
-    recurse => true,
-    purge   => false,
-  }
-
-  concatenated_file { "$postfix_merged_header_checks":
-    dir     => "${postfix_header_checks_snippets_dir}",
-    require => File["$postfix_header_checks_snippets_dir"],
-  }
-  
-  config_file { '/etc/postfix/header_checks':
-    source    => "$postfix_merged_header_checks",
-    subscribe => File["$postfix_merged_header_checks"],
+  concat { '/etc/postfix/header_checks':
+    owner => root,
+    group => root,
+    mode  => '0600',
   }
 
   postfix::config { "header_checks":
     value   => 'regexp:/etc/postfix/header_checks',
-    require => File['/etc/postfix/header_checks'],
+    require => Concat['/etc/postfix/header_checks'],
+  }
+
+  # Cleanup previous implementation's internal files
+  include common::moduledir
+  file { "${common::moduledir::module_dir_path}/postfix/header_checks":
+    ensure  => absent,
+    recurse => true,
+    force   => true,
   }
 
 }
index 454d2197d09afcf35d5b24ad584c4d0b62575304..6ffdad87ad66b1fbf3b83bbdb73b870fa9a21841 100644 (file)
@@ -43,23 +43,20 @@ define postfix::header_checks_snippet (
 
   include postfix::header_checks
 
-  $snippetfile = "${postfix::header_checks::postfix_header_checks_snippets_dir}/${name}"
-  
-  file { "$snippetfile":
+  $fragment = "postfix_header_checks_${name}"
+
+  concat::fragment { "$fragment":
     ensure  => "$ensure",
-    mode    => 600,
-    owner   => root,
-    group   => 0,
-    notify => Exec["concat_${postfix::header_checks::postfix_merged_header_checks}"],
+    target  => '/etc/postfix/header_checks',
   }
 
   if $source {
-    File["$snippetfile"] {
+    Concat::Fragment["$fragment"] {
       source => $source,
     }
   }
   else {
-    File["$snippetfile"] {
+    Concat::Fragment["$fragment"] {
       content => $content,
     }
   }
index 633c380edeca5dd03ef075f6bd5d8c368df1d5eb..fb7020dafd7d139247dd375118590ca2234f29ae 100644 (file)
@@ -1,22 +1,15 @@
 #
 # == Class: postfix::tlspolicy
 #
-# Manages Postfix TLS policy by merging policy snippets shipped:
-# - in the module's files/tls_policy.d/ or puppet:///files/etc/postfix/tls_policy.d
-#   (the latter takes precedence if present); site-postfix module is supported
-#   as well, see the source argument of file {"$postfix_tlspolicy_snippets_dir"
-#   bellow for details.
-# - via postfix::tlspolicy_snippet defines
+# Manages Postfix TLS policy by merging policy snippets configured
+# via postfix::tlspolicy_snippet defines
 #
 # Parameters:
 # - $postfix_tls_fingerprint_digest (defaults to sha1)
 #
-# Example usage:
-# 
-#   node "toto.example.com" {
-#     $postfix_manage_tls_policy = yes
-#     include postfix
-#   }
+# Note that this class is useless when used directly.
+# The postfix::tlspolicy_snippet defines takes care of importing
+# it anyway.
 #
 class postfix::tlspolicy {
 
@@ -29,26 +22,13 @@ class postfix::tlspolicy {
   module_dir{'postfix/tls_policy': }
 
   $postfix_tlspolicy_dir          = "${common::moduledir::module_dir_path}/postfix/tls_policy"
-  $postfix_tlspolicy_snippets_dir = "${postfix_tlspolicy_dir}/tls_policy.d"
   $postfix_merged_tlspolicy       = "${postfix_tlspolicy_dir}/merged_tls_policy"
 
-  file {"$postfix_tlspolicy_snippets_dir":
-    ensure  => 'directory',
-    owner   => 'root',
-    group   => '0',
-    mode    => '700',
-    source  => [
-                "puppet:///modules/site-postfix/${fqdn}/tls_policy.d",
-                "puppet:///modules/site-postfix/tls_policy.d",
-                "puppet:///modules/postfix/tls_policy.d",
-               ],
-    recurse => true,
-    purge   => false,
-  }
-
-  concatenated_file { "$postfix_merged_tlspolicy":
-    dir     => "${postfix_tlspolicy_snippets_dir}",
-    require => File["$postfix_tlspolicy_snippets_dir"],
+  concat { "$postfix_merged_tlspolicy":
+    require => File[$postfix_tlspolicy_dir],
+    owner   => root,
+    group   => root,
+    mode    => '0600',
   }
 
   postfix::hash { '/etc/postfix/tls_policy':
@@ -68,4 +48,11 @@ class postfix::tlspolicy {
                ],
   }
 
+  # Cleanup previous implementation's internal files
+  file { "${postfix_tlspolicy_dir}/tls_policy.d":
+    ensure  => absent,
+    recurse => true,
+    force   => true,
+  }
+
 }
index 2596dbcac6175f12df632e20acddf8a8954ead94..8f1c37661de7e66b346bcd2c1acc69528a70a49e 100644 (file)
@@ -35,13 +35,10 @@ define postfix::tlspolicy_snippet ($ensure="present", $value = false) {
     fail("The value parameter must be set when using the postfix::tlspolicy_snippet define with ensure=present.")
   }
 
-  file { "${postfix::tlspolicy::postfix_tlspolicy_snippets_dir}/${name}":
+  concat::fragment { "postfix_tlspolicy_${name}":
     ensure  => "$ensure",
     content => "${name}                ${value}\n",
-    mode    => 600,
-    owner   => root,
-    group   => 0,
-    notify => Exec["concat_${postfix::tlspolicy::postfix_merged_tlspolicy}"],
+    target  => "$postfix::tlspolicy::postfix_merged_tlspolicy",
   }
 
 }