Replies: 5 comments
-
@lavocatt This sounds like a good idea, for the three reasons that you listed specifically. Of those the first We should also be cognizant of that split and take it into account. @gtully Do you have a reference to your recent work in this area? |
Beta Was this translation helpful? Give feedback.
-
The use of VIEW/EDIT roles for JMX rbac is exercised in this test: https://github.com/artemiscloud/activemq-artemis-operator/blob/10d916aa1f3e7503d7ea2a09365c11025b5ed35f/controllers/activemqartemissecurity_broker_properties_test.go#L115 it is a simplification, that makes use of the existing broker security settings. It means that all jolokia access that delegates to jmx will need an authenticated subject. In terms of the api-server, I agree. I think it needs to be task driven, 70% of the broker management api will not be relevant, especially with a move to the CR being the source of truth for config, and metrics being the way to monitor (we have work to do there). The UI can be the answer when there is a fix that requires specific intervention, or a task that requires specific answers that can be input onto a defined process that gets us to a problem solution. |
Beta Was this translation helpful? Give feedback.
-
We are already starting to implement part of this idea in the following PRs:
In these PRs we are updating the endpoints so that they are returning a comprehensive json object documented in the This results in less manual parsing on the frontend side. |
Beta Was this translation helpful? Give feedback.
-
@howardgao has created a related issue #146 |
Beta Was this translation helpful? Give feedback.
-
I think we should separate the concerns with regard to the access control into 3 parts
We can evaluate what need to do on the api-server end that aren't covered by the other two. |
Beta Was this translation helpful? Give feedback.
-
At the moment the
api-server
exposes 3 kind of operations:ATM we have to use the
execBrokerOperations
to fetch details on components, such as number of messages for a queue or to change aspects of the broker. TheexecBrokerOperations
is a very powerful call, it allows to change & update every aspects of the broker.For me
exeBrokerOperations
pose a few issues:What if instead we would rely on specific endpoints to perform theses tasks and avoid exposing such a powerfull call into the frontend?
For an example, let's take a task that would involve listing the number of messages exchanged on an address.
We could add a new endpoint
/addresses/messagesCount
that would return ajson
object containing stats about the in flight messages:The
api-server
would take care of 'knowing' all the details necessary to perform the underlying jolokia requests. This would:Another advantage of having specific endpoints is that we will be able to unit test them using the test suite @howardgao designed.
What's your opinion on this?
Beta Was this translation helpful? Give feedback.
All reactions