From 7be37e006af5addd8e5d23967cc08dc6cc9c04e7 Mon Sep 17 00:00:00 2001
From: Chris Coley <chris@codingallnight.com>
Date: Tue, 19 Jun 2018 02:12:22 -0700
Subject: [PATCH] Working on adding support for aliases and virtual aliases.
 It's just placeholders for now.

---
 handlers/main.yml       | 20 ++++++++++++++++++++
 tasks/main.yml          | 19 +++++++++++++++++++
 templates/Makefile.j2   |  4 +++-
 templates/aliases.in.js |  2 ++
 templates/virtual.in.js |  2 ++
 5 files changed, 46 insertions(+), 1 deletion(-)
 create mode 100644 templates/aliases.in.js
 create mode 100644 templates/virtual.in.js

diff --git a/handlers/main.yml b/handlers/main.yml
index d9d5779..5ca759a 100644
--- a/handlers/main.yml
+++ b/handlers/main.yml
@@ -1,4 +1,14 @@
 ---
+- name: make postfix aliases.db
+  environment:
+    LC_MESSAGES: 'C'
+  command: make aliases.db
+  args:
+    chdir: /etc/postfix
+  register: result
+  notify: ['reload postfix']
+  changed_when: "result.stdout != \"make: 'aliases.db' is up to date.\""
+
 - name: make postfix transport.db
   environment:
     LC_MESSAGES: 'C'
@@ -9,6 +19,16 @@
   notify: ['reload postfix']
   changed_when: "result.stdout != \"make: 'transport.db' is up to date.\""
 
+- name: make postfix virtual.db
+  environment:
+    LC_MESSAGES: 'C'
+  command: make virtual.db
+  args:
+    chdir: /etc/postfix
+  register: result
+  notify: ['reload postfix']
+  changed_when: "result.stdout != \"make: 'virtual.db' is up to date.\""
+
 - name: make postfix
   environment:
     LC_MESSAGES: 'C'
diff --git a/tasks/main.yml b/tasks/main.yml
index d9441e4..a106ad5 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -27,6 +27,15 @@
     mode: 0644
   notify: ['make postfix']
 
+- name: Generate Postfix aliases map
+  template:
+    src: templates/aliases.in.js
+    dest: /etc/postfix/aliases.in
+    owner: root
+    group: root
+    mode: 0644
+  notify: ['make postfix aliases.db']
+
 - name: Generate Postfix transport map
   template:
     src: templates/transport.in.js
@@ -35,5 +44,15 @@
     group: root
     mode: 0644
   notify: ['make postfix transport.db']
+
+- name: Generate Postfix virtual aliases map
+  template:
+    src: templates/virtual.in.js
+    dest: /etc/postfix/virtual.in
+    owner: root
+    group: root
+    mode: 0644
+  notify: ['make postfix virtual.db']
+
 ...
 # vi: set ts=2 sts=2 sw=2 et ft=yaml: 
diff --git a/templates/Makefile.j2 b/templates/Makefile.j2
index deee71e..fe5f3a6 100644
--- a/templates/Makefile.j2
+++ b/templates/Makefile.j2
@@ -2,7 +2,9 @@
 
 # Manage Postfix DB files idempotently
 
-MAPS = transport.db
+MAPS = aliases.db \
+       transport.db \
+       virtual.db
 
 all: $(MAPS)
 
diff --git a/templates/aliases.in.js b/templates/aliases.in.js
new file mode 100644
index 0000000..ab0d77f
--- /dev/null
+++ b/templates/aliases.in.js
@@ -0,0 +1,2 @@
+# {{ ansible_managed }}
+
diff --git a/templates/virtual.in.js b/templates/virtual.in.js
new file mode 100644
index 0000000..ab0d77f
--- /dev/null
+++ b/templates/virtual.in.js
@@ -0,0 +1,2 @@
+# {{ ansible_managed }}
+
-- 
GitLab