From 12798c76b40a4db0eaf01f2a4d00b072d98087d9 Mon Sep 17 00:00:00 2001 From: missytake Date: Sun, 11 Jan 2026 23:57:27 +0100 Subject: [PATCH] postfix: discard all messages to nine.testrun.org --- cmdeploy/src/cmdeploy/postfix/deployer.py | 15 ++++++++++++++- cmdeploy/src/cmdeploy/postfix/discard-nine.map | 2 ++ cmdeploy/src/cmdeploy/postfix/main.cf.j2 | 3 +++ 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 cmdeploy/src/cmdeploy/postfix/discard-nine.map diff --git a/cmdeploy/src/cmdeploy/postfix/deployer.py b/cmdeploy/src/cmdeploy/postfix/deployer.py index bf81ae40..dfa0e649 100644 --- a/cmdeploy/src/cmdeploy/postfix/deployer.py +++ b/cmdeploy/src/cmdeploy/postfix/deployer.py @@ -1,4 +1,4 @@ -from pyinfra.operations import apt, files, systemd +from pyinfra.operations import apt, files, systemd, server from cmdeploy.basedeploy import Deployer, get_resource @@ -52,6 +52,19 @@ class PostfixDeployer(Deployer): ) need_restart |= header_cleanup.changed + # Transport map that discards messages to nine.testrun.org + transport_map = files.put( + src=get_resource("postfix/discard-nine.map"), + dest="/etc/postfix/discard-nine.map", + user="root", + group="root", + mode="644", + ) + need_restart |= transport_map.changed + if transport_map.changed: + server.shell( + commands=["postmap /etc/postfix/discard-nine.map"], + ) # Login map that 1:1 maps email address to login. login_map = files.put( src=get_resource("postfix/login_map"), diff --git a/cmdeploy/src/cmdeploy/postfix/discard-nine.map b/cmdeploy/src/cmdeploy/postfix/discard-nine.map new file mode 100644 index 00000000..6432039f --- /dev/null +++ b/cmdeploy/src/cmdeploy/postfix/discard-nine.map @@ -0,0 +1,2 @@ +nine.testrun.org discard: +* : diff --git a/cmdeploy/src/cmdeploy/postfix/main.cf.j2 b/cmdeploy/src/cmdeploy/postfix/main.cf.j2 index 96d55897..88f331b9 100644 --- a/cmdeploy/src/cmdeploy/postfix/main.cf.j2 +++ b/cmdeploy/src/cmdeploy/postfix/main.cf.j2 @@ -82,6 +82,9 @@ mua_client_restrictions = permit_sasl_authenticated, reject mua_sender_restrictions = reject_sender_login_mismatch, permit_sasl_authenticated, reject mua_helo_restrictions = permit_mynetworks, reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname, permit +# Discard messages to nine.testrun.org +transport_maps = hash:/etc/postfix/discard-nine.map + # 1:1 map MAIL FROM to SASL login name. smtpd_sender_login_maps = regexp:/etc/postfix/login_map