--- - name: check if ansible is not to old hosts: localhost roles: - { role: do1jlr.ansible_version, tags: [default,version,default], gather_facts: no} - name: general roles for all hosts hosts: all roles: - { role: base, tags: [default,packages,base]} - { role: ranger, tags: [packages,ranger]} - { role: bat, tags: [packages,bat], when: [ansible_os_family == 'Debian']} - name: user specific roles for all hosts hosts: all roles: - { role: users, tags: [default,users]} - { role: dotfiles, tags: [default,dotfiles]} - { role: ssh_auth, tags: [default,users]} - { role: sshd, tags: [default,users]} - { role: geerlingguy.firewall, tags: [default,firewall], become: true} - { role: robertdebock.fail2ban, tags: [default,fail2ban], become: true} - name: deploy web config hosts: web roles: - { role: webhost2, tags: [web,webhost]} - { role: acmetool_fix, tags: [web,acmetool]} - { role: acmetool2, tags: [web,acmetool]} - { role: nginx2, tags: [web,nginx]} - { role: geerlingguy.mysql, tags: [web,git,mysql]} - { role: gitea, tags: [web,gitea,git]} - { role: goaccess, tags: [web,goaccess]} - name: deploy mail config hosts: mail roles: - { role: do1jlr.mailserver_preperation, tags: [mail,mailserver_preperation,prep,mailserver]} - { role: unbound, tags: [mail,unbound]} - { role: webhost2, tags: [mail,webhost]} - { role: acmetool_fix, tags: [mail,acmetool]} - { role: acmetool2, tags: [mail,acmetool]} - { role: nginx2, tags: [mail,nginx]} - { role: geerlingguy.mysql, tags: [mail,mysql,mariadb]} - { role: mailserver_dovecot, tags: [mail,dovecot,mailserver_dovecot]} - { role: postfix, tags: [mail,postfix]}