We are planning to automate/manage the softwares on our proprietary server. like installing, start, stop, delete the software’s.
we have wrote set of custom modules to do so.
Now we have 2 options to release,
Release the modules for our end user, so that he can write a playbook(s) appropriate for his environment
create set of Roles and release it to them.
Request you to share your thoughts on, which option is better ? and what is the widely used option in the industry ?
I think creating roles and releasing them on ansible galaxy might suit you well.
While having modules included in ansible is great, unless the modules are useful to many people, it can be hard to find users to test them, review the code and get it included in ansible.
If you release your roles on ansible galaxy you retain control over your release cycle, so you can make new versions available at the same time as new versions of your software become available. Ansible releases only a few times a year so you may have a long wait before your modules become available to users.
Also, roles can show how best to use your modules together - module documentation only really allows for simple examples.
Roles can easily be installed by your users using ‘ansible-galaxy import’ command