Hosting katello, candlepin, foreman and puppet repos in katello

From the “eat your own dogfood” department I would like to host katello, candlepin, foreman and puppet repos in katello. It should be straight forward, but before I set out on my own methodology, has anyone done this before? Are there any examples for naming products, repos? What about repo versions? The install instructions reference specific versions of katello and foreman 3.10, 1.20.1 etc. Should I use the latest symlink? Mirror on sync?

Based on inspecting yum.repos.d on my Katello server and visiting the repos in a browser. In addition to my existing CentOS/EPEL/Subscription-Manager products/repos, I am thinking something like the following.

Product/Repo

Katello/Katello for EL7
URL=https://fedorapeople.org/groups/katello/releases/yum/latest/katello/el7/x86_64/

Katello/Katello Pulp for EL 7
URL: https://repos.fedorapeople.org/repos/pulp/pulp/stable/latest/7/x86_64/

Katello/Katello Candlepin for EL7
URL: https://fedorapeople.org/groups/katello/releases/yum/latest/candlepin/el7/x86_64/

Foreman/Foreman for EL7
URL: https://yum.theforeman.org/releases/latest/el7/x86_64/

Foreman/Foreman Plugins for EL7
URL: https://yum.theforeman.org/plugins/latest/el7/x86_64/

Foreman/Foreman Rails for EL7
URL: https://yum.theforeman.org/rails/latest/el7/x86_64/

Puppet/Puppet 5 for EL7
URL: https://yum.puppetlabs.com/puppet5/el/7/x86_64/

Perhaps we could turn this into a guide on CentOS+Katello for the manual/ or for theforeman.org/blog/.

Yes, done that. Note that when upgrading katello, the repo’s are down, so make sure all needed rpm’s are installed, before running the foreman-installer.

For each version I created a new set of repo’s in one product ‘e.g. Foreman 1.18 Katello 3.7’, etc

Also note that in /etc/yum.repos.d sometime the foreman/katello repo files are re-created when upgrading for reasons I do not yet know and I delete them.

Ditto. I pull in the repos internally as well, and use content views for versions. Your repo files are due to the -release {foreman-release, katello-release, centos-release} packages being installed. You’ll want to remove them, or use something like puppet to ensure that only your internal repo files are maintained in the yum.repos.d if you need the -release packages installed for other reasons.

Hope that helps!

/Mike