Technically, to run the installer you should only need ruby, puppet, kafo and the installer code - whether that is from git or RPM. If you are trying to install a release, or nightly or some other method (like git) you would need to ensure that *you* first install the right repos file. While, as I understand it (taking this setup from Foreman), you can instead just tune the installer configuration to give you the right repos and thus the right version. If you look at - https://github.com/theforeman/puppet-foreman/blob/master/manifests/init.pp#L24 and the variable below it what you see is that you can choose to not use the repos defined in the module, or you can use them and tune the repo to use via the $repo parameter. Now, we don't have to follow this method if it feels burdensome and could instead opt for pointing to and making the use of the katello-repos RPM configurable I think.