I have been learning from this book Fabio Alessandro Locati, published under Packt>. The example can be found at https://github.com/PacktPublishing/Learning-Ansible-2.X-Third-Edition/tree/master/Chapter04

Today I am learning about working with roles. According to the author, the definition of a role is a set of playbooks, templates, files or variables used to achieve a specific goal. For example, the database role and the web server role can be cleanly separated.
You can see the structure in https://github.com/PacktPublishing/Learning-Ansible-2.X-Third-Edition/tree/master/Chapter04
According to the author, he recommends 3 files in the root folder
- ansible.cfg: A small configuration file to explain to Ansible where to find the files in the folder structure
- hosts: host files
- master.yml: A playbook that aligns the whole infrastructure.
2 more folders
- playbooks: This will contain the playbooks and a folder called groups for groups management
- roles: Contain all the roles required.