When we started the hawkular efforts, I had in mind that the components
would do minimum tasks as a library with REST/Java APIs and do them well.
Inventory would manage resources (user defined (an "application", a
cluster) or architecture defined (an EAP server, a VM, a Kube pod...)),
assign ids...
Metrics would store/aggregate/compact metrics (like it is today)
Alerts would define some alert definition "model" and run an engine to
define when to trigger an alert.
...
Hawkular project would then be a firm/comprehensive solution that are
using all those components, would proxy the APIs, add security there
(instead of in each component),...
But now I start to see that client aspect of the communication bus is
part of those components I think I understand the motivation for that
but not sure that this is what we really need. Am I the only one
thinking that the communication aspect should be left out of the
components ?
For instance in
http://docs.hawkularinventory.apiary.io/ for the
DumbFeed, I don't think it's the role of the Metrics to send
notification to the bus, if we need more than collecting metrics then it
is a job for Hawkular IMO (who may proxy the metrics request and send
notification to the bus).
Thomas