It depends on which operations you do, filelists is only required by yum/dnf when you search for a specific file with provides or if a dependency is written as a file.
So yes, in theory pulp needs more metadata than yum/dnf for its most common operation. But it has to provide a valid repository and if filelist tells there are no packages while other does, I totally understand this is a problem.
To work around this, you could add the repository locally and use some tool like yum-downloader or even reposync and create a local repo with createrepo_c which will create valid metadata.
I guess I have to write a small script to pull packages from that repo and update that repo in the background. That repo is sorta a beast to mirror anyway since they keep all old versions around! Spacewalk have that nice feature of filtering out what you do not want to download and do not see that in Foreman/Katello so even if it would work it would download way to much old packages.
This topic is a bit stale, but maybe this will help someone searching in the future.
I switched from “immediate” to “on demand” in the download policy and the docs say that it only grabs the metadata and downloads the packages as they are requested by clients. My sync worked after. The only caveat being I’m assuming I’ll need to clean up older packages since gitlab-ce rpms are over 1GB each. Actually on demand seems like the overall better option for any repo as we have a consistent production environment, so why mirror 100s or 1000s of packages that are never used?
Thanks for this thread, it got me on the right track. We’re migrating from cobbler and cobbler includes the “-n” option in its reposyncs, so this was never an issue for me before. Maybe one day foreman will have more flexibility to add custom options to a repository reposync.