THis is theoretical question only , I am trying to make some ansible based framework which manages deployments of many applications.
Lets see if i can explain , if not I am sorry :
I have 10 applications. All 10 applications can be installed and configured using ansible via a common monolithic github project which contains 10 roles , one for each application installation and configuration.
Now actual application code for each application is maintained in 10 different repository of github.
But installation and configurations of all applications are there in single project as i mentioned in first line.
Now I want to break this monolithic picture and want to move ansible related code of each and each application to individual application code repos. So that whenever some application feature comes, one can enhance its ansible code in same repo (which has both Application code+ Ansible code).
Now at the same time , i want to maintain some ansible code in Common monolithic project also which can be applied on all applications , so no meaning of duplicating this code in individual application github repo.
Example of such common code: My All 10 applications requires deployment in JBOSS server or any other server. So i want to maintain all JBOSS configuration related tuning etc. in common monolithic code.
Hence in order to deploy my application , i need both Application code github repo( java code+ ansible code) and common monolithic github project (because deployment in server is managed through this common project).
Hence i need to create some interface between this common project and application specific project , how can i do that ?