Add fail2ban role and clean up yaml lint noise

This commit is contained in:
2026-08-08 23:50:32 -05:00
parent 9b837dd780
commit 6c7ecfc724
352 changed files with 4632 additions and 4186 deletions
+119 -88
View File
@@ -1,100 +1,131 @@
---
# vars file for ensure_dovecot
package_list:
- name: 'dovecot'
state: 'present'
- name: 'dovecot-fts-xapian'
state: 'present'
- name: 'dovecot-mysql'
state: 'present'
- name: 'dovecot-pigeonhole'
state: 'present'
- name: dovecot
state: present
- name: dovecot-fts-xapian
state: present
- name: dovecot-mysql
state: present
- name: dovecot-pigeonhole
state: present
firewall_list:
- permanent: 'yes'
service: 'imap'
state: 'enabled'
service: imap
state: enabled
- permanent: 'yes'
service: 'imaps'
state: 'enabled'
service: imaps
state: enabled
service_list:
- enabled: 'yes'
name: 'dovecot.service'
state: 'started'
name: dovecot.service
state: started
- enabled: 'yes'
name: 'dovecot-copytls.service'
state: 'started'
name: dovecot-copytls.service
state: started
- enabled: 'yes'
name: 'dovecot-copytls.timer'
state: 'started'
name: dovecot-copytls.timer
state: started
template_list:
- dest: '/etc/dovecot/conf.d/10-auth.conf'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/etc/dovecot/conf.d/10-auth.conf'
- dest: '/etc/dovecot/conf.d/10-director.conf'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/etc/dovecot/conf.d/10-director.conf'
- dest: '/etc/dovecot/conf.d/10-logging.conf'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/etc/dovecot/conf.d/10-logging.conf'
- dest: '/etc/dovecot/conf.d/10-mail.conf'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/etc/dovecot/conf.d/10-mail.conf'
- dest: '/etc/dovecot/conf.d/10-master.conf'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/etc/dovecot/conf.d/10-master.conf'
- dest: '/etc/dovecot/conf.d/10-metrics.conf'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/etc/dovecot/conf.d/10-metrics.conf'
- dest: '/etc/dovecot/conf.d/10-ssl.conf'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/etc/dovecot/conf.d/10-ssl.conf'
- dest: '/etc/dovecot/conf.d/15-lda.conf'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/etc/dovecot/conf.d/15-lda.conf'
- dest: '/etc/dovecot/conf.d/15-mailboxes.conf'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/etc/dovecot/conf.d/15-mailboxes.conf'
- dest: '/etc/dovecot/conf.d/20-imap.conf'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/etc/dovecot/conf.d/20-imap.conf'
- dest: '/etc/dovecot/conf.d/20-lmtp.conf'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/etc/dovecot/conf.d/20-lmtp.conf'
- dest: '/etc/dovecot/conf.d/20-pop3.conf'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/etc/dovecot/conf.d/20-pop3.conf'
- dest: '/etc/dovecot/conf.d/20-submission.conf'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/etc/dovecot/conf.d/20-submission.conf'
- dest: '/etc/dovecot/conf.d/90-acl.conf'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/etc/dovecot/conf.d/90-acl.conf'
- dest: '/etc/dovecot/conf.d/90-plugin.conf'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/etc/dovecot/conf.d/90-plugin.conf'
- dest: '/etc/dovecot/conf.d/90-quota.conf'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/etc/dovecot/conf.d/90-quota.conf'
- dest: '/etc/dovecot/conf.d/auth-checkpassword.conf.ext'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/etc/dovecot/conf.d/auth-checkpassword.conf.ext'
- dest: '/etc/dovecot/conf.d/auth-deny.conf.ext'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/etc/dovecot/conf.d/auth-deny.conf.ext'
- dest: '/etc/dovecot/conf.d/auth-dict.conf.ext'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/etc/dovecot/conf.d/auth-dict.conf.ext'
- dest: '/etc/dovecot/conf.d/auth-ldap.conf.ext'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/etc/dovecot/conf.d/auth-ldap.conf.ext'
- dest: '/etc/dovecot/conf.d/auth-master.conf.ext'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/etc/dovecot/conf.d/auth-master.conf.ext'
- dest: '/etc/dovecot/conf.d/auth-passwdfile.conf.ext'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/etc/dovecot/conf.d/auth-passwdfile.conf.ext'
- dest: '/etc/dovecot/conf.d/auth-sql.conf.ext'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/etc/dovecot/conf.d/auth-sql.conf.ext'
- dest: '/etc/dovecot/conf.d/auth-static.conf.ext'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/etc/dovecot/conf.d/auth-static.conf.ext'
- dest: '/etc/dovecot/conf.d/auth-system.conf.ext'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/etc/dovecot/conf.d/auth-system.conf.ext'
- dest: '/etc/dovecot/conf.d/20-managesieve.conf'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/etc/dovecot/conf.d/20-managesieve.conf'
- dest: '/etc/dovecot/conf.d/90-sieve-extprograms.conf'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/etc/dovecot/conf.d/90-sieve-extprograms.conf'
- dest: '/etc/dovecot/conf.d/90-sieve.conf'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/etc/dovecot/conf.d/90-sieve.conf'
- dest: '/etc/dovecot/dovecot.conf'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/etc/dovecot/dovecot.conf'
- dest: '/etc/dovecot/local.conf'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/etc/dovecot/local.conf'
- dest: '/etc/dovecot/accounts'
group: 'dovecot'
- dest: /etc/dovecot/conf.d/10-auth.conf
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/etc/dovecot/conf.d/10-auth.conf'
- dest: /etc/dovecot/conf.d/10-director.conf
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/etc/dovecot/conf.d/10-director.conf'
- dest: /etc/dovecot/conf.d/10-logging.conf
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/etc/dovecot/conf.d/10-logging.conf'
- dest: /etc/dovecot/conf.d/10-mail.conf
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/etc/dovecot/conf.d/10-mail.conf'
- dest: /etc/dovecot/conf.d/10-master.conf
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/etc/dovecot/conf.d/10-master.conf'
- dest: /etc/dovecot/conf.d/10-metrics.conf
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/etc/dovecot/conf.d/10-metrics.conf'
- dest: /etc/dovecot/conf.d/10-ssl.conf
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/etc/dovecot/conf.d/10-ssl.conf'
- dest: /etc/dovecot/conf.d/15-lda.conf
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/etc/dovecot/conf.d/15-lda.conf'
- dest: /etc/dovecot/conf.d/15-mailboxes.conf
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/etc/dovecot/conf.d/15-mailboxes.conf'
- dest: /etc/dovecot/conf.d/20-imap.conf
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/etc/dovecot/conf.d/20-imap.conf'
- dest: /etc/dovecot/conf.d/20-lmtp.conf
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/etc/dovecot/conf.d/20-lmtp.conf'
- dest: /etc/dovecot/conf.d/20-pop3.conf
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/etc/dovecot/conf.d/20-pop3.conf'
- dest: /etc/dovecot/conf.d/20-submission.conf
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/etc/dovecot/conf.d/20-submission.conf'
- dest: /etc/dovecot/conf.d/90-acl.conf
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/etc/dovecot/conf.d/90-acl.conf'
- dest: /etc/dovecot/conf.d/90-plugin.conf
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/etc/dovecot/conf.d/90-plugin.conf'
- dest: /etc/dovecot/conf.d/90-quota.conf
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/etc/dovecot/conf.d/90-quota.conf'
- dest: /etc/dovecot/conf.d/auth-checkpassword.conf.ext
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/etc/dovecot/conf.d/auth-checkpassword.conf.ext'
- dest: /etc/dovecot/conf.d/auth-deny.conf.ext
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/etc/dovecot/conf.d/auth-deny.conf.ext'
- dest: /etc/dovecot/conf.d/auth-dict.conf.ext
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/etc/dovecot/conf.d/auth-dict.conf.ext'
- dest: /etc/dovecot/conf.d/auth-ldap.conf.ext
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/etc/dovecot/conf.d/auth-ldap.conf.ext'
- dest: /etc/dovecot/conf.d/auth-master.conf.ext
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/etc/dovecot/conf.d/auth-master.conf.ext'
- dest: /etc/dovecot/conf.d/auth-passwdfile.conf.ext
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/etc/dovecot/conf.d/auth-passwdfile.conf.ext'
- dest: /etc/dovecot/conf.d/auth-sql.conf.ext
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/etc/dovecot/conf.d/auth-sql.conf.ext'
- dest: /etc/dovecot/conf.d/auth-static.conf.ext
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/etc/dovecot/conf.d/auth-static.conf.ext'
- dest: /etc/dovecot/conf.d/auth-system.conf.ext
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/etc/dovecot/conf.d/auth-system.conf.ext'
- dest: /etc/dovecot/conf.d/20-managesieve.conf
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/etc/dovecot/conf.d/20-managesieve.conf'
- dest: /etc/dovecot/conf.d/90-sieve-extprograms.conf
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/etc/dovecot/conf.d/90-sieve-extprograms.conf'
- dest: /etc/dovecot/conf.d/90-sieve.conf
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/etc/dovecot/conf.d/90-sieve.conf'
- dest: /etc/dovecot/dovecot.conf
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/etc/dovecot/dovecot.conf'
- dest: /etc/dovecot/local.conf
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/etc/dovecot/local.conf'
- dest: /etc/dovecot/accounts
group: dovecot
mode: '0600'
owner: 'dovecot'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/etc/dovecot/accounts'
- dest: '/usr/lib/systemd/system/dovecot-copytls.service'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/usr/lib/systemd/system/dovecot-copytls.service'
- dest: '/usr/lib/systemd/system/dovecot-copytls.timer'
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"] }}/usr/lib/systemd/system/dovecot-copytls.timer'
...
owner: dovecot
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/etc/dovecot/accounts'
- dest: /usr/lib/systemd/system/dovecot-copytls.service
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/usr/lib/systemd/system/dovecot-copytls.service'
- dest: /usr/lib/systemd/system/dovecot-copytls.timer
src: '{{ ansible_facts["distribution"] }}/{{ ansible_facts["distribution_major_version"]
}}/usr/lib/systemd/system/dovecot-copytls.timer'