Architecture Diagram Help

Howdy,

A few years back I created an architecture diagram to examine our SSL connections. Recently I updated this to be more encompassing to show all services, SSL connections, ports, and datastores that a verbose setup of Foreman with Katello and few client related plugins entails. This by no means encompasses all plugins and is potentially missing some connections. This where y’all come in. There are a few things I’d like to do:

  1. I’d like to move the diagram repo somewhere more prominent to keep it routinely updated and get feedback easier. Where should this live?
  2. I’d like to get expert input from Core developers and plugin maintainers for missing interactions/connections through feedback here or PRs to update the dot file
  3. Feedback on the verbosity of the diagram. Would splitting this be more readable? Would another form be easier? Would multiple diagrams showing different aspects help more?

The current diagram can be seen at: https://github.com/ehelms/connection_diagram/blob/master/katello.png

Thanks,
Eric

2 Likes

I like one diagram for everything.

Discovered node is missing, there is also some communication.

Then there’s PXE missing I think as well. I can add both after we settle on new repo.

I disagree with this. There are multiple layers and showing everything would be too complex.

One layer I’d like to see is just a high level component overview. That means pulp as one component, candlepin on another one, etc. At another level you want to see the various connections, like REST API or qpid message bus etc. Yet another level is the components within each component, like pulp is mongo + qpid + WSGI python container + Celery workers.

Ideally you could zoom in, but I’d settle for multiple images.

FYI we have several workflow diagrams in our documentation. I maintain those sequence diagrams, they should be in the manual git repo:

https://theforeman.org/manuals/1.16/index.html#4.4.6Workflow

The other items I hear alot which is missing is:

  1. SSL/POrt (like eric had)
  2. initiator of the connection (e.g. the smart proxy pulling is differnet from foreman pushing to the smart proxy)