From ec24ccc521d37e3cf6ce988cf5b20e660514d2e5 Mon Sep 17 00:00:00 2001
From: Lars Beckers <lars.beckers@rwth-aachen.de>
Date: Sun, 15 Jul 2018 23:08:59 +0200
Subject: [PATCH] spamassassin: refactor role

---
 spamassassin/defaults/main.yml                |  4 ++
 spamassassin/files/sa-learn-ham.sh            |  5 ---
 spamassassin/files/sa-learn-spam.sh           |  4 --
 spamassassin/tasks/main.yml                   | 40 +++++++++----------
 .../{files/local.cf => templates/local.cf.j2} |  6 +--
 5 files changed, 27 insertions(+), 32 deletions(-)
 create mode 100644 spamassassin/defaults/main.yml
 delete mode 100644 spamassassin/files/sa-learn-ham.sh
 delete mode 100644 spamassassin/files/sa-learn-spam.sh
 rename spamassassin/{files/local.cf => templates/local.cf.j2} (94%)

diff --git a/spamassassin/defaults/main.yml b/spamassassin/defaults/main.yml
new file mode 100644
index 0000000..b994f66
--- /dev/null
+++ b/spamassassin/defaults/main.yml
@@ -0,0 +1,4 @@
+---
+
+spamassassin_rewrite_subject: no
+spamassassin_required_score: '3.0'
diff --git a/spamassassin/files/sa-learn-ham.sh b/spamassassin/files/sa-learn-ham.sh
deleted file mode 100644
index eacc8a8..0000000
--- a/spamassassin/files/sa-learn-ham.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-# you can also use tcp/ip here, consult spamc(1)
-exec /usr/bin/spamc -u ${1} -L ham -C report
-
-
diff --git a/spamassassin/files/sa-learn-spam.sh b/spamassassin/files/sa-learn-spam.sh
deleted file mode 100644
index 5a8147f..0000000
--- a/spamassassin/files/sa-learn-spam.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-# you can also use tcp/ip here, consult spamc(1)
-exec /usr/bin/spamc -u ${1} -L spam -C report
-
diff --git a/spamassassin/tasks/main.yml b/spamassassin/tasks/main.yml
index 091028c..7ed4bf9 100644
--- a/spamassassin/tasks/main.yml
+++ b/spamassassin/tasks/main.yml
@@ -1,7 +1,9 @@
 ---
 
 - name: ensure spamassassin is installed
-  apt: name={{ item }} state=present
+  apt:
+    name: "{{ item }}"
+    state: present
   with_items:
     - spamassassin
     - spamc
@@ -10,34 +12,32 @@
     - spamassassin
 
 - name: ensure spamassassin is configured
-  copy: src=files/local.cf dest=/etc/spamassassin/local.cf mode=0644 owner=root group=root
-
+  template:
+    src: local.cf.j2
+    dest: /etc/spamassassin/local.cf
+    owner: root
+    group: root
+    mode: 0644
   tags:
     - mail
     - spamassassin
 
-- name: ensure spamassassin is enabled -- the nasty debian way 
-  copy: src=files/defaults dest=/etc/default/spamassassin mode=0644 owner=root group=root
+- name: ensure spamassassin is enabled -- the nasty debian way
+  copy:
+    src: defaults
+    dest: /etc/default/spamassassin
+    owner: root
+    group: root
+    mode: 0644
   tags:
     - mail
     - spamassassin
 
 - name: ensure spamassasin is started and enanbled -- the usual way
-  service: name=spamassassin state=started enabled=yes
-  tags:
-    - mail
-    - spamassassin
-
-#- name: ensure there is sync cronjob for the learned filters
-
-- name: ensure scripts for learning spam are present.
-  copy: src="files/{{ item }}" dest=/var/lib/dovecot/sieve.d/{{ item }} mode=0750 owner=dovecot group=vmail
-  with_items:
-    - sa-learn-ham.sh
-    - sa-learn-spam.sh
+  service:
+    name: spamassassin
+    state: started
+    enabled: yes
   tags:
     - mail
     - spamassassin
-
-
-
diff --git a/spamassassin/files/local.cf b/spamassassin/templates/local.cf.j2
similarity index 94%
rename from spamassassin/files/local.cf
rename to spamassassin/templates/local.cf.j2
index 9089e22..17499af 100644
--- a/spamassassin/files/local.cf
+++ b/spamassassin/templates/local.cf.j2
@@ -9,7 +9,7 @@
 
 #   Add *****SPAM***** to the Subject header of spam e-mails
 #
-rewrite_header Subject *****SPAM*****
+{{ '' if spamassassin_rewrite_subject else '#' }}rewrite_header Subject *****SPAM*****
 
 
 #   Save spam messages as a message/rfc822 MIME attachment instead of
@@ -31,7 +31,7 @@ report_safe 0
 
 #   Set the threshold at which a message is considered spam (default: 5.0)
 #
-required_score 3.0
+required_score {{ spamassassin_required_score }}
 
 
 #   Use Bayesian classifier (default: 1)
@@ -58,7 +58,7 @@ required_score 3.0
 # normalize_charset 1
 
 #   Some shortcircuiting, if the plugin is enabled
-# 
+#
 ifplugin Mail::SpamAssassin::Plugin::Shortcircuit
 #
 #   default: strongly-whitelisted mails are *really* whitelisted now, if the
-- 
GitLab