From f337548b4b4bca6b69cc3365c6ea81940f334986 Mon Sep 17 00:00:00 2001 From: Alexandre Iooss Date: Sat, 11 Jul 2020 13:29:53 +0200 Subject: [PATCH] Role mailman3 --- plays/mailman.yml | 5 +++ plays/network-interfaces.yml | 2 +- roles/mailman3/handlers/main.yml | 15 +++++++ roles/mailman3/tasks/main.yml | 43 +++++++++++++++++++ .../nginx/sites-available/mailman3.j2 | 28 ++++++++++++ .../templates/update-motd.d/05-service.j2 | 3 ++ 6 files changed, 95 insertions(+), 1 deletion(-) create mode 100644 roles/mailman3/handlers/main.yml create mode 100644 roles/mailman3/tasks/main.yml create mode 100644 roles/mailman3/templates/nginx/sites-available/mailman3.j2 create mode 100755 roles/mailman3/templates/update-motd.d/05-service.j2 diff --git a/plays/mailman.yml b/plays/mailman.yml index 0a51655e..9dbbe3d7 100755 --- a/plays/mailman.yml +++ b/plays/mailman.yml @@ -21,3 +21,8 @@ roles: - mailman - nginx-mailman + +# Deploy Mailman3 +- hosts: mailman.adm.crans.org + roles: + - mailman3 diff --git a/plays/network-interfaces.yml b/plays/network-interfaces.yml index 930d315c..df0fce81 100755 --- a/plays/network-interfaces.yml +++ b/plays/network-interfaces.yml @@ -14,7 +14,7 @@ - switch - fil -- hosts: boeing.adm.crans.org,cochon.adm.crans.org,tracker.adm.crans.org,voyager.adm.crans.org,lutim.adm.crans.org,gateau.adm.crans.org,owncloud-srv.adm.crans.org,charybde.adm.crans.org,cas-srv.adm.crans.org,fyre.adm.crans.org,silice.adm.crans.org,frontdaur.adm.crans.org,bakdaur.adm.crans.org,ethercalc-srv.adm.crans.org,alice.adm.crans.org +- hosts: boeing.adm.crans.org,cochon.adm.crans.org,tracker.adm.crans.org,voyager.adm.crans.org,lutim.adm.crans.org,gateau.adm.crans.org,owncloud-srv.adm.crans.org,charybde.adm.crans.org,cas-srv.adm.crans.org,fyre.adm.crans.org,silice.adm.crans.org,frontdaur.adm.crans.org,bakdaur.adm.crans.org,ethercalc-srv.adm.crans.org,alice.adm.crans.org,mailman.adm.crans.org vars: vlan: - name: srv diff --git a/roles/mailman3/handlers/main.yml b/roles/mailman3/handlers/main.yml new file mode 100644 index 00000000..01c64c13 --- /dev/null +++ b/roles/mailman3/handlers/main.yml @@ -0,0 +1,15 @@ +--- +- name: Restart mailman3 + service: + name: mailman3 + state: restarted + +- name: Restart mailman3-web + service: + name: mailman3-web + state: restarted + +- name: Restart nginx + service: + name: nginx + state: restarted diff --git a/roles/mailman3/tasks/main.yml b/roles/mailman3/tasks/main.yml new file mode 100644 index 00000000..0c417d07 --- /dev/null +++ b/roles/mailman3/tasks/main.yml @@ -0,0 +1,43 @@ +--- +- name: Install mailman3 + apt: + update_cache: true + name: + - mailman3-full + - nginx + - dbconfig-no-thanks + install_recommends: false + register: apt_result + retries: 3 + until: apt_result is succeeded + +#- name: Configure mailman3 +# template: +# src: mailman3/mailman3.cfg.j2 +# dest: /etc/mailman3/mailman3.cfg +# notify: Restart mailman3 + +#- name: Configure mailman3-web +# template: +# src: mailman3/mailman3-web.py.j2 +# dest: /etc/mailman3/mailman3-web.py +# notify: Restart mailman3-web + +- name: Configure nginx site + template: + src: nginx/sites-available/mailman3.j2 + dest: /etc/nginx/sites-available/mailman3 + notify: Restart nginx + +- name: Enable nginx site + file: + src: /etc/nginx/sites-available/mailman3 + dest: /etc/nginx/sites-enabled/mailman3 + state: link + notify: Restart nginx + +- name: Indicate role in motd + template: + src: update-motd.d/05-service.j2 + dest: /etc/update-motd.d/05-mailman3 + mode: 0755 diff --git a/roles/mailman3/templates/nginx/sites-available/mailman3.j2 b/roles/mailman3/templates/nginx/sites-available/mailman3.j2 new file mode 100644 index 00000000..a6799a3c --- /dev/null +++ b/roles/mailman3/templates/nginx/sites-available/mailman3.j2 @@ -0,0 +1,28 @@ +{{ ansible_header | comment }} + +stream mailman3 { + server unix:/run/mailman3-web/uwsgi.sock fail_timeout=0; +} + +server { + listen 80; + listen [::]:80; + server_name mailman.crans.org mailman.adm.crans.org; + server_tokens off; + + location / { + uwsgi_pass mailman3; + include /etc/nginx/uwsgi_params; + } + + location /mailman3/static { + alias /var/lib/mailman3/web/static; + } + + location /mailman3/static/favicon.ico { + alias /var/lib/mailman3/web/static/postorius/img/favicon.ico; + } + + access_log /var/log/nginx/mailman3_access.log combined; + error_log /var/log/nginx/mailman3_error.log; +} diff --git a/roles/mailman3/templates/update-motd.d/05-service.j2 b/roles/mailman3/templates/update-motd.d/05-service.j2 new file mode 100755 index 00000000..116bdd3d --- /dev/null +++ b/roles/mailman3/templates/update-motd.d/05-service.j2 @@ -0,0 +1,3 @@ +#!/usr/bin/tail +14 +{{ ansible_header | comment }} +> mailman3 a été déployé sur cette machine. Voir /etc/mailman3/.