Классика: tasks/main.yml, handlers/, templates/, files/, vars/, defaults/ (низкий приоритет), meta/, опционально molecule/ для тестов. Defaults переопределяют потребители роли.
Разбор
- defaults vs vars: defaults безопаснее для UX роли.
meta/main.yml — зависимости ролей.
- Не кладите inventory-специфику внутрь роли — через переменные.
- README с обязательными vars.
Итог
Роль — пакет с чёткими каталогами и контрактом defaults/vars.