diff --git a/docs/rolereference.rst b/docs/rolereference.rst index 01615fe2ded162d3f80dff24e3a52e10a72cf3c2..7cc4d804604ec463abf1b318521fe64e90f9172f 100644 --- a/docs/rolereference.rst +++ b/docs/rolereference.rst @@ -762,6 +762,17 @@ doing look-ups: group-based granting of mail services to users. +Backups +~~~~~~~ + +If the backup for this role has been enabled, the following paths are backed-up: + +**/var/{{ mail_user }}** + All data stored by the mail server, including mails and Sieve scripts. Keep in + mind that list of available users and their credentials are stored in the LDAP + directory (which is backed-up via LDAP server role). + + Parameters ~~~~~~~~~~ diff --git a/roles/mail_server/defaults/main.yml b/roles/mail_server/defaults/main.yml index 0eb58f4156dcc830fca83b3a4b5807aab1ce3bc3..cf1140bcd5b8a6005e256ced7da332484e57baa4 100644 --- a/roles/mail_server/defaults/main.yml +++ b/roles/mail_server/defaults/main.yml @@ -1,5 +1,6 @@ --- +enable_backup: False mail_ldap_tls_truststore: "/etc/ssl/certs/truststore.pem" mail_user: vmail imap_tls_certificate: "{{ tls_certificate_dir }}/{{ ansible_fqdn }}_imap.pem" diff --git a/roles/mail_server/meta/main.yml b/roles/mail_server/meta/main.yml new file mode 100644 index 0000000000000000000000000000000000000000..1ea4af51d2ebe62230fdead8fb8046b2ac5aafad --- /dev/null +++ b/roles/mail_server/meta/main.yml @@ -0,0 +1,5 @@ +--- + +dependencies: + - role: backup_client + when: enable_backup \ No newline at end of file diff --git a/roles/mail_server/tasks/backup.yml b/roles/mail_server/tasks/backup.yml new file mode 100644 index 0000000000000000000000000000000000000000..0e9e3caf2431e51e2d4f133249196a9aadc274a8 --- /dev/null +++ b/roles/mail_server/tasks/backup.yml @@ -0,0 +1,7 @@ +--- + +- name: Deploy include patterns to backup + template: src="backup_patterns.j2" dest="/etc/duply/main/patterns/mail_server" + owner="root" group="root" mode="700" + notify: + - Assemble Duply include patterns \ No newline at end of file diff --git a/roles/mail_server/tasks/main.yml b/roles/mail_server/tasks/main.yml index 4825aa06694974613739f4be771b3e253b5c3165..74569a72057a1a1d5e5c924e14c32e4e4ddea12d 100644 --- a/roles/mail_server/tasks/main.yml +++ b/roles/mail_server/tasks/main.yml @@ -138,4 +138,8 @@ - name: Deploy firewall configuration for mail server copy: src="ferm_mail.conf" dest="/etc/ferm/conf.d/20-mail.conf" owner=root group=root mode=640 notify: - - Restart ferm \ No newline at end of file + - Restart ferm + +- name: Enable backup + include: backup.yml + when: enable_backup \ No newline at end of file diff --git a/roles/mail_server/templates/backup_patterns.j2 b/roles/mail_server/templates/backup_patterns.j2 new file mode 100644 index 0000000000000000000000000000000000000000..d0646cdb20279f2165c4d5ca7955daa977f98f5a --- /dev/null +++ b/roles/mail_server/templates/backup_patterns.j2 @@ -0,0 +1 @@ +/var/{{ mail_user }} diff --git a/roles/xmpp_server/defaults/main.yml b/roles/xmpp_server/defaults/main.yml index 66d713c93cce8272796fadae1ba1fc95be37c194..6a07ccf59e989cb1304dfd40eff54d9255fb4b28 100644 --- a/roles/xmpp_server/defaults/main.yml +++ b/roles/xmpp_server/defaults/main.yml @@ -1,5 +1,6 @@ --- +enable_backup: False xmpp_domains: "{{ ansible_domain }}" xmpp_tls_certificate: "{{ tls_certificate_dir }}/{{ ansible_fqdn }}_xmpp.pem" xmpp_tls_key: "{{ tls_private_key_dir }}/{{ ansible_fqdn }}_xmpp.key"