--- # XXX: This organization is unfortunate. As of Ansible 1.4, roles are # applied playbook by playbook and not globally for the whole inventory; # therefore if two playbooks are given the role 'common', the tasks # defined in 'common' would be run twice. # The quickfix to ensure that plays are role-disjoint is to create a # separate play for each role. Of course the downside is that we loose # (most of) the advantage of roles... - name: Common tasks hosts: all roles: - common - name: Let's Encrypt hosts: IMAP:MX:MSA:webmail:lists:wiki:git:nextcloud gather_facts: False roles: - lacme tags: - letsencrypt - lacme - ACME - name: Common SQL tasks hosts: MDA:webmail:lists:bacula_dir:nextcloud gather_facts: False tags: mysql,sql roles: - common-SQL - name: Common LDAP tasks hosts: MDA:MSA:LDAP_provider:MX gather_facts: True tags: slapd,ldap roles: - common-LDAP - name: Configure the LDAP provider hosts: LDAP_provider gather_facts: False tags: slapd,ldap roles: - LDAP-provider - name: Configure the Web servers hosts: webmail:wiki:lists:git:munin_master:nextcloud gather_facts: False tags: nginx,www,web roles: - common-web - name: Configure amavis hosts: out gather_facts: False tags: amavis roles: - amavis