organizing groups of ansible projects

If you are using ansible to deploy many technologies, each with its own github repo, what is the preferred way to combine projects?

ProjectA/
hosts
playbooks
roles

ProjectB

hosts
playbooks
roles

Merge?

MetaProject/
hosts (merge hosts files from A and B)
playbooks (merge directories)
roles (all the roles from A and B flatenned out)

or Parent-Child

MetaProject/
hosts (includes child projects)
playbooks (symlinks or ?)

Merge is simpler, but there is no obvious way to retain heirarchy so all the roles get put in one gigantic soup with nothing but name conventions to keep things sorted.

kesten

I’d consider having just one repository, mix the roles, and have playbooks/ have a subdirectory for each project.

You can still use roles by specifying the path out, like:

roles:
…/roles/foo

etc