Pulp/Katello Architecture Diagram


I created a long post over on GitHub Discussions with some examples from the survey. It’s been a month and I didn’t get many responses. In lieu of repeating that, I want to see can I progress one part of it.

Someone responded to the original thread requesting:

Some info about multi-node where N-pulp servers are talking to each other like is used with Katello would also be helpful, and showing how that is achieved.

Does anyone know do we have even a rudimentary version of this for Katello, that I might develop further?

Doesn’t Katello just use two completely independent pulp installations along with a instance A (main Katello installation) to instance B (smart proxy) repo sync?

Do we have a relatively accurate diagram of it somewhere that I can publish or rework and then publish? :slight_smile:


Katello                         Smart Proxy
Pulp Installation A  --Sync-->  Pulp Installation B

The survey is inundated with feedback that it was very very hard to get started. Pulp 2 users say it is very hard to understand Pulp 3. For this reason, I would like to work on providing some overviews of varying complexity.

If I were a new Pulp user, and I wanted to build a Pulp integration for my project, I’d like to learn from the experience of others. In this case, I look around and learn that Katello builds on Pulp to provide content management features.

As I begin my journey, I’m unsure --Sync--> might help me that much.

@gerrod made this diagram

If I were to duplicate this and write --Sync--> between, do you think that is all it would take for someone unfamiliar with the project to understand how to set up a:

If you want to extend @gerrod’s diagram with a Katello scenario, you could show how Katello talks to the “Pulp API Service” to create “Content Views” and “Lifecycle Environments”. The “Smart Proxy” would have a upstream URL pointing at the “Lifecycle Environment Repos” on the Pulp Content Service and synchronize those. I don’t think any such diagram currently already exists.

P.S.: The following extension to the above diagram might also be useful to users:

Pulp task workers -----Sync from-----> Upstream repos

In that case a big circle around all the Pulp components (labeled “Pulp 3”) would also help to make clear “Upstream repos” are not part of Pulp itself.