diff options
author | Micah <micah@leap.se> | 2016-07-12 16:46:25 -0400 |
---|---|---|
committer | Micah <micah@leap.se> | 2016-07-12 16:46:25 -0400 |
commit | 5247b7ccf5b5889ee16262dd976b03047e34e32c (patch) | |
tree | c2a8483ac22f75d842ebc3ad6f3c6f24954b9cef /puppet/modules/postfix/manifests/mta.pp | |
parent | d8a8d30b04d34387f309d9f5b7afdbcad01f7cbc (diff) |
git subrepo clone https://leap.se/git/puppet_postfix puppet/modules/postfix
subrepo:
subdir: "puppet/modules/postfix"
merged: "cce918f"
upstream:
origin: "https://leap.se/git/puppet_postfix"
branch: "master"
commit: "cce918f"
git-subrepo:
version: "0.3.0"
origin: "https://github.com/ingydotnet/git-subrepo"
commit: "1e79595"
Change-Id: I325a79fe1780ee6a5d61959310cf8e52c9a6896f
Diffstat (limited to 'puppet/modules/postfix/manifests/mta.pp')
-rw-r--r-- | puppet/modules/postfix/manifests/mta.pp | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/puppet/modules/postfix/manifests/mta.pp b/puppet/modules/postfix/manifests/mta.pp new file mode 100644 index 00000000..f7a865db --- /dev/null +++ b/puppet/modules/postfix/manifests/mta.pp @@ -0,0 +1,70 @@ +# +# == Class: postfix::mta +# +# This class configures a minimal MTA, listening on +# $postfix_smtp_listen (default to localhost) and delivering mail to +# $postfix_mydestination (default to $fqdn). +# +# A valid relay host is required ($postfix_relayhost) for outbound email. +# +# transport & virtual maps get configured and can be populated with +# postfix::transport and postfix::virtual +# +# Parameters: +# - *$postfix_relayhost* +# - *$postfix_mydestination* +# - every global variable which works for class "postfix" will work here. +# +# Requires: +# - Class["postfix"] +# +# Example usage: +# +# node "toto.example.com" { +# +# class { 'postfix': +# smtp_listen => "0.0.0.0", +# } +# +# class { 'postfix::mta': +# relayhost => "mail.example.com", +# mydestination => "\$myorigin, myapp.example.com", +# } +# +# postfix::transport { "myapp.example.com": +# ensure => present, +# destination => "local:", +# } +# } +# +class postfix::mta( + $mydestination = '', + $relayhost = '' +) { + + #case $relayhost { + # "": { fail("Required relayhost parameter is not defined.") } + #} + + case $mydestination { + "": { $postfix_mydestination = "\$myorigin" } + default: { $postfix_mydestination = "$mydestination" } + } + + postfix::config { + "mydestination": value => $postfix_mydestination; + "mynetworks": value => "127.0.0.0/8"; + "relayhost": value => $relayhost; + "virtual_alias_maps": value => "hash:/etc/postfix/virtual"; + "transport_maps": value => "hash:/etc/postfix/transport"; + } + + postfix::hash { "/etc/postfix/virtual": + ensure => present, + } + + postfix::hash { "/etc/postfix/transport": + ensure => present, + } + +} |