There are a lot of different options you have available to you when putting your content into a source control manager. It is very common for roles to be put into separate repositories so that they can be managed individually (i.e. who can read and who can write to them). The same may hold true for playbooks; you may want a repository per person or per group or per organization or even just one. An AWX project will be tied to a single GitLab project and AWX also has its own roles through its Roles Based Access Controls. So again, depending on how access to your content needs to be setup and managed may determine if you have one giant repo or multiple repos (which would give you multiple projects in AWX with their own RBACs). In a GitLab project you can add a requirements file to pull in collections and roles as needed. In addition, there are now also execution environments which would enable you to bundle all of your standard roles and collections into a specific environment which AWX can be used to run your playbooks.
As you can see there are several options to take and best option is likely whatever works for you now. In the future, as you use the product and grow your automation, you may find you needs change and evolve.
How do other people feel about this? Anyone want to share how they manage their content in an SCM and the pros/cons of it?
Kimmo, please let us know what you try and how it works for you. Also, let us know if you have any more follow up questions.
-John