How do you manage your git repository when you use public Ansible recipes like Ceph-Ansible or OpenShift-Ansible?

Hi,

I use Ceph-Ansible (https://github.com/ceph/ceph-ansible) and OpenShift-Ansible (https://github.com/openshift/openshift-ansible) to install this stuffs on our servers.

I would like to keep my configuration in a private Git repository.

For now, I use a private repository with this structure:
.
├── ceph
│ ├── prod
│ │ ├── README.md
│ │ ├── ansible.cfg
│ │ ├── ceph-ansible-upstream
│ │ ├── hosts
│ │ ├── playbooks
│ │ └── roles
│ └── test
│ ├── README.md
│ ├── ansible.cfg
│ ├── ceph-ansible-upstream
│ ├── hosts
│ ├── playbooks
│ └── roles
└── openshift
├── prod
│ ├── README.md
│ ├── ansible.cfg
│ ├── hosts
│ ├── openshift-ansible-upstream
│ ├── playbooks
│ └── roles
└── test
├── README.md
├── ansible.cfg
├── hosts
├── openshift-ansible-upstream
├── playbooks
└── roles

Git Submodule handle all *-upstream folders.

In all this environments I can add some private roles or playbooks.

My questions:

  • how do you manage your Ansible installation when you use public Ansible recipes?
  • do you fork this Ansible recipes and update it directly?
  • do you use Ansible Galaxy roles? If yes, I think it’s difficult because OpenShift Ansible playbooks are very long and complex.

Best regards,
Stéphane