When I googled how to install private roles using ansible-galaxy, I found suggestions such as, “use git+https://github.com/…” or even better, “I am not sure what you’re doing, but it works for me (since Ansible 2.2)”.

So, since neither of these suggestions helped me and because I am unable to find documentation with obvious examples, here is how you achieve this.

Assuming you have your ssh key and configuration figured out, put this into requirements.yml:

---
- name: namespace.role
  src: [email protected]:my-organization/private-repository.git
  version: 1.0.0

This forces ansible-galaxy install requirements.yml to git-clone the role using your ssh key.