We need to decided on the architecture of the application before we go much further.
I guess we need two types of components,
one central controller which receives all events that Jenkins X publishes, and has some mechanism where it is possible to subscribe to the same events. The subscribers may be both internal Jenkins X components, and external.
the other component is placed out on the edge, gathering necessary information to produce a full event, and pushing it to the controller.
We need to decided on the architecture of the application before we go much further. I guess we need two types of components,