After reading [RFC/RFE] Show URLs to versioned content in Katello WebUI/Hammer/API I’m wondering about a different design altogether.
Within Katello we have the concept of kickstart repositories. They’re available without authentication because the installer needs the packages and at that point you can’t provide authentication.
I’d lean to taking this concept and introducing a Registration Repository. During the registration procedure they’re automatically added before and cleaned up after.
The result is that the user never has to add repositories manually, but they’re implicitly part of the content it’s subscribed to. It should also take the content source into account and automatically retrieve it from the correct Pulp instance.
Since there is no way (that I can see) to determine which repository would be needed for registration, I’d still keep it as a manual marking.