diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..59564548 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "roles/re2o-mail-server/templates/re2o-services/mail-server/mail-aliases"] + path = roles/re2o-mail-server/templates/re2o-services/mail-server/mail-aliases + url = https://gitlab.crans.org/nounous/mail-aliases diff --git a/re2o.yml b/re2o.yml index 0cc43d65..59becf9c 100644 --- a/re2o.yml +++ b/re2o.yml @@ -76,3 +76,8 @@ - hosts: routeur.adm.crans.org roles: - re2o-firewall-routeur + +# Deploy re2o mail-server on MTA and MDA +- hosts: titanic.adm.crans.org + roles: + - re2o-mail-server diff --git a/roles/re2o-mail-server/tasks/main.yml b/roles/re2o-mail-server/tasks/main.yml new file mode 100644 index 00000000..ee287e68 --- /dev/null +++ b/roles/re2o-mail-server/tasks/main.yml @@ -0,0 +1,45 @@ +--- +- name: Create re2o-mail-server directory + file: + path: /var/local/re2o-services/mail-server + state: directory + mode: '2775' + owner: root + group: nounou + +- name: Set ACL for re2o-mail-server directory + acl: + path: /var/local/re2o-services/mail-server + default: yes + entity: nounou + etype: group + permissions: rwx + state: query + +- name: Clone re2o-mail-server repository + git: + repo: 'http://gitlab.adm.crans.org/nounous/re2o-mail-server.git' + dest: /var/local/re2o-services/mail-server + version: crans + umask: '002' + +- name: Create symbolic link to configuration + file: + src: /var/local/re2o-services/config.ini + dest: /var/local/re2o-services/mail-server/config.ini + owner: root + group: root + state: link + +- name: Deploy cron for re2o-mail-server + template: + src: cron.d/re2o-services-mail-server.j2 + dest: /etc/cron.d/re2o-services-mail-server + +- name: Deploy local aliases + template: + src: re2o-services/mail-server/mail-aliases/{{ item }}.j2 + dest: /var/local/re2o-services/mail-server/{{ item }}_local + loop: + - aliases + - virtuals diff --git a/roles/re2o-mail-server/templates/cron.d/re2o-services-mail-server.j2 b/roles/re2o-mail-server/templates/cron.d/re2o-services-mail-server.j2 new file mode 100644 index 00000000..c804b50a --- /dev/null +++ b/roles/re2o-mail-server/templates/cron.d/re2o-services-mail-server.j2 @@ -0,0 +1,2 @@ +# {{ ansible_managed }} +*/5 * * * * root /usr/bin/python3 /var/local/re2o-services/mail-server/main.py diff --git a/roles/re2o-mail-server/templates/re2o-services/mail-server/mail-aliases b/roles/re2o-mail-server/templates/re2o-services/mail-server/mail-aliases new file mode 160000 index 00000000..3d365dae --- /dev/null +++ b/roles/re2o-mail-server/templates/re2o-services/mail-server/mail-aliases @@ -0,0 +1 @@ +Subproject commit 3d365dae2c8b3c0b2e02e8d4b134a7b6796bf99b