Currently galaxy init creates a skeleton for a new role using a shipped template of directories and files, different users need different/extra files and should be able to point to a 'local skeleton' to use instead.
Problems
This would reduce the manual work in creating roles in complex environments. For example add a 'RedHat.yml' and 'Ubuntu.yml' files to each sub-directory of a role when your environment always requires having both.
Solution proposal
Allow passing a -s /path/to/skeleton to ansible-galaxy init /path/to/new/role and use that as a source instead of the existing 'data path' to the shipped skeleton, but using this by default if the option is not passed.
Also the existing code assumes specific files, the code needs to be expanded to allow for arbitrary additional files.
Testing
testing is easy as you should be able to verify the 'current' skeleton when no option is passed and a 'test skeleton' when it is passed.
Documentation
the ansible-galaxy options and man page would need to be updated.
Proposal: Configurable skeleton for galaxy init
Author: Brian Coca (@bcoca)
Date: 2016/07/23
Motivation
Currently
galaxy init
creates a skeleton for a new role using a shipped template of directories and files, different users need different/extra files and should be able to point to a 'local skeleton' to use instead.Problems
This would reduce the manual work in creating roles in complex environments. For example add a 'RedHat.yml' and 'Ubuntu.yml' files to each sub-directory of a role when your environment always requires having both.
Solution proposal
Allow passing a
-s /path/to/skeleton
toansible-galaxy init /path/to/new/role
and use that as a source instead of the existing 'data path' to the shipped skeleton, but using this by default if the option is not passed.Also the existing code assumes specific files, the code needs to be expanded to allow for arbitrary additional files.
Testing
testing is easy as you should be able to verify the 'current' skeleton when no option is passed and a 'test skeleton' when it is passed.
Documentation
the ansible-galaxy options and man page would need to be updated.