diff --git a/playbook_mailserver.yml b/playbook_mailserver.yml index c1d694c..b96b998 100644 --- a/playbook_mailserver.yml +++ b/playbook_mailserver.yml @@ -5,13 +5,15 @@ - name: Install mail server gather_facts: true hosts: mailserver,mailserver-test + vars: + virtual_domain: tunuifranken.info roles: - role: common_handlers tags: always - role: deploy_certificate vars: - server_admin: dns@tunuifranken.info - domain: "{{ ansible_hostname }}.tunuifranken.info" + server_admin: "dns@{{ virtual_domain }}" + domain: "{{ ansible_hostname }}.{{ virtual_domain }}" tags: cert - role: mailserver_database tags: database diff --git a/roles/deploy_certificate/templates/renewal.conf.j2 b/roles/deploy_certificate/templates/renewal.conf.j2 deleted file mode 100644 index 29038b9..0000000 --- a/roles/deploy_certificate/templates/renewal.conf.j2 +++ /dev/null @@ -1,10 +0,0 @@ -archive_dir = /etc/letsencrypt/archive/{{ domain }} -cert = /etc/letsencrypt/live/{{ domain }}/cert.pem -privkey = /etc/letsencrypt/live/{{ domain }}/privkey.pem -chain = /etc/letsencrypt/live/{{ domain }}/chain.pem -fullchain = /etc/letsencrypt/live/{{ domain }}/fullchain.pem - -[renewalparams] -authenticator = webroot -installer = null -server = https://acme-v02.api.letsencrypt.org/directory diff --git a/roles/mailserver_database/tasks/main.yml b/roles/mailserver_database/tasks/main.yml index 96b4125..ede3d4e 100644 --- a/roles/mailserver_database/tasks/main.yml +++ b/roles/mailserver_database/tasks/main.yml @@ -31,8 +31,8 @@ - name: Upload postgresql tables script become: true become_user: postgres - ansible.builtin.copy: - src: tables.sql + ansible.builtin.template: + src: tables.sql.j2 dest: ~/mailserver_tables.sql mode: "644" diff --git a/roles/mailserver_database/files/tables.sql b/roles/mailserver_database/templates/tables.sql.j2 similarity index 78% rename from roles/mailserver_database/files/tables.sql rename to roles/mailserver_database/templates/tables.sql.j2 index 4e120f0..ef192bb 100644 --- a/roles/mailserver_database/files/tables.sql +++ b/roles/mailserver_database/templates/tables.sql.j2 @@ -2,7 +2,7 @@ CREATE TABLE IF NOT EXISTS virtual_domains ( id integer primary key generated by default as identity, name varchar(50) NOT NULL UNIQUE ); -INSERT INTO virtual_domains (name) VALUES ('tunuifranken.info') ON CONFLICT (name) DO NOTHING; +INSERT INTO virtual_domains (name) VALUES ('{{ virtual_domain }}') ON CONFLICT (name) DO NOTHING; CREATE TABLE IF NOT EXISTS virtual_users ( id integer primary key generated by default as identity, @@ -13,12 +13,15 @@ CREATE TABLE IF NOT EXISTS virtual_users ( FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE ); + +{% for user in 'abuse', 'dns' %} INSERT INTO virtual_users (domain_id, email, password, quota) VALUES ( - (SELECT id FROM virtual_domains WHERE name = 'tunuifranken.info'), - 'abuse@tunuifranken.info', + (SELECT id FROM virtual_domains WHERE name = '{{ virtual_domain }}'), + '{{ user }}@{{ virtual_domain }}', 'foo', 0 ) ON CONFLICT (email) DO UPDATE SET password = EXCLUDED.password, quota = EXCLUDED.quota; +{% endfor %} CREATE TABLE IF NOT EXISTS virtual_aliases ( id integer primary key generated by default as identity, diff --git a/roles/mailserver_dovecot/tasks/main.yml b/roles/mailserver_dovecot/tasks/main.yml index 9bc36e1..92d0fbd 100644 --- a/roles/mailserver_dovecot/tasks/main.yml +++ b/roles/mailserver_dovecot/tasks/main.yml @@ -98,9 +98,9 @@ become: true loop: - regexp: '^ssl_cert =.*' - line: "ssl_cert =