Want to sync multiple repositories into a remote


Hi All, I’m trying to sync down several URLs for Rocky repositories (e.g., BaseOS, AppStream, Devel, and PowerTools), and I’m not sure whether I’d create a single repository and sync those remotes into that repository, or if I need to create a separate repository for each remote.

Expected outcome:

I’m basically looking to understand the ideal configuration. Should I have one single Rocky 8.5 repository to hold each of the various Rocky 8.5 remotes, or a separate repository for each remote.

Another way to think of this is … can a ‘remote-to-repository’ relationship be a many-to-one relationship, or does it have to be a one-to-one relationship?

Pulpcore version:

Pulp 3 (I don’t think the exact pulp core version is relevant, but I can give it if needed).

Pulp plugins installed and their versions:

pulp-rpm, pulp-deb

Operating system - distribution and version:

RHEL 8.5

Pulp can facilitate both workflows. You can specify a default remote for a repository and tell it to “sync” and it will know what to use, or you can create a repository with no default remote and specify the remote to use at sync time. Sync has a “mirror” and “additive” mode, so if you’re using multiple remotes be sure to use “additive” or it will remove the previous content with each new remote you use.

Personally I recommend having each repo perform simple mirroring with a default remote for each repo. Then you can use copy commands to bring this content into one big repo, or just have your dnf clients know about the N repos and let it figure it out.

1 Like

This is very helpful, Brian. Thank you. I’ll discuss with my team, but I like your idea of doing the simple mirroring with a default remote for each repo, and letting my dnf clients know about the different repos to sort things out on its own.

1 Like