-
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
feat(rules): implement declarative Automated Rules #749
base: main
Are you sure you want to change the base?
Conversation
637623c
to
306d541
Compare
This PR/issue depends on: |
/build_test |
Workflow started at 12/19/2024, 7:22:14 PM. View Actions Run. |
f447e9e
to
df06866
Compare
No GraphQL schema changes detected. |
No OpenAPI schema changes detected. |
CI build and push: At least one test failed ❌ |
/build_test |
Workflow started at 12/19/2024, 9:52:21 PM. View Actions Run. |
No GraphQL schema changes detected. |
No OpenAPI schema changes detected. |
CI build and push: All tests pass ✅ |
724905b
to
27d7fb8
Compare
Welcome to Cryostat! 👋
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
Based on #735
Depends on #735
Fixes #548
Fixes #727
Description of the change:
Adds a declarative configuration directory for Automated Rules and implements loading definitions from this directory at startup.
Motivation for the change:
This will allow users to preload Automated Rules into their Cryostat installations without needing to go through the web UI or API calls. It also allows us to ship pre-written Rule definitions as part of the base container image.
For practical usage, end users who are using JMX for target connections should have JMX authentication configured. In that case, #720 would also need to be complete for the user to make full use of declarative Automated Rules. Otherwise, users can declaratively configure their own Automated Rules, but will still need to go through the UI or API to define the corresponding stored credentials. For users who are using the Cryostat Agent this will already work out of the box, since the Agent registers its own stored credentials.
Since this also provides preset Automated Rules as part of the container image, it's also useful as a way for us to ship example rule configurations for users to reference when crafting their own.
How to manually test:
./smoketest.bash -O
quarkus
Rule predefined as part of this PR.quarkus
Rule. Enable the Rule and anauto_quarkus
recording should be started on Cryostat. See feat(matchexpressions): expressions can reference target JFR event type IDs #735 and feat(eventtemplates): add Preset event templates type and Quarkus-specific preset #733