-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(jmxauth): tolerate JMX auth failures at discovery, re-attempt if new matching Credentials added #329
Conversation
3ff7235
to
a9b0e6f
Compare
/build_test |
Workflow started at 3/20/2024, 4:40:04 PM. View Actions Run. |
CI build and push: All tests pass ✅ (JDK21) |
No OpenAPI schema changes detected. |
CI build and push: At least one test failed ❌ (JDK17) |
05ef44f
to
3379e9b
Compare
This PR/issue depends on:
|
/build_test |
Workflow started at 3/22/2024, 9:27:44 AM. View Actions Run. |
CI build and push: All tests pass ✅ (JDK21) |
/build_test |
No OpenAPI schema changes detected. |
Workflow started at 3/22/2024, 9:30:57 AM. View Actions Run. |
CI build and push: All tests pass ✅ (JDK21) |
CI build and push: All tests pass ✅ (JDK17) |
No OpenAPI schema changes detected. |
CI build and push: All tests pass ✅ (JDK17) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good to me
…new matching Credentials added
Welcome to Cryostat3! 👋
Before contributing, make sure you have:
main
branch[chore, ci, docs, feat, fix, test]
To recreate commits with GPG signature
git fetch upstream && git rebase --force --gpg-sign upstream/main
Related to #2
Related to #71
Depends on #337
Description of the change:
Cryostat 3 tolerates connection failures when attempting to determine newly discovered targets' JVM IDs. When new Credentials are added, Cryostat looks in the database for any targets with null JVM IDs (signifying the initial connection failure), checks if the new credential matches the target, and then re-attempts to determine the JVM hash ID and persist this update to the database.
Motivation for the change:
Prior to this change, Cryostat 3 would always try to connect to newly discovered JVMs to determine their hash IDs. If this connection attempt failed for any reason then the discovery would be ignored and the JVM would not be registered in the target database. This means that target JVMs which require JMX authentication, and/or which use JMX with TLS, may not be discoverable unless Cryostat 3 is pre-configured with the correct credentials and certificates.
JMX SSL/TLS cert handling is not implemented here. See #330.
How to manually test:
sample-app-2
andsample-app-3
JDP targets should now appear with ports9094
and9095
respectively.target.alias.contains('andrew')
and credentialsadmin:adminpass123
.sample-app-2:9094
should now be connectable and usable in all the usual ways.sample-app-3:9095
still will not be since it also requires SSL/TLS.