0583cf4988
This support is modeled after the existing TLS policy management: the header_cheks file is produced by merging snippets shipped by the Puppet fileserver, a site-module and/or postfix::header_checks_snippet defines.
57 lines
1.9 KiB
Puppet
57 lines
1.9 KiB
Puppet
#
|
|
# == 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
|
|
#
|
|
# Example usage:
|
|
#
|
|
# node "toto.example.com" {
|
|
# $postfix_manage_header_checks = yes
|
|
# include postfix
|
|
# }
|
|
#
|
|
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"],
|
|
}
|
|
|
|
postfix::config { "header_checks":
|
|
value => 'regexp:/etc/postfix/header_checks',
|
|
require => File['/etc/postfix/header_checks'],
|
|
}
|
|
|
|
}
|