Skip to content

chore(rest): replace WebClient with QuarkusRestClient #949

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

Open
wants to merge 40 commits into
base: main
Choose a base branch
from

Conversation

andrewazores
Copy link
Member

@andrewazores andrewazores commented Jun 20, 2025

Welcome to Cryostat! 👋

Before contributing, make sure you have:

  • Read the contributing guidelines
  • Linked a relevant issue which this PR resolves
  • Linked any other relevant issues, PR's, or documentation, if any
  • Resolved all conflicts, if any
  • Rebased your branch PR on top of the latest upstream main branch
  • Attached at least one of the following labels to the PR: [chore, ci, docs, feat, fix, test]
  • Signed all commits using a GPG signature

To recreate commits with GPG signature git fetch upstream && git rebase --force --gpg-sign upstream/main


Fixes #778
Fixes #890
Discovered a bug in testing (#950) but this seems unrelated to this change.
Depends on #955
Based on #955
Depends on #961

Description of the change:

Refactors most usages of Vert.x WebClient to use QuarkusRestClient instead. This has a somewhat nicer interface to interact with, particular in the context of other Quarkus-isms, but most importantly it allows for unified client configuration using Quarkus properties.

NOTE semi-breaking change: grafana-datasource.url config property is now named quarkus.rest-client.jfr-datasource.url. The 3249ee80d "grafana-datasource.url property compat" commit patches it for compatibility so that the previous old name can still be used, but it should be deprecated and the new name used going forward.

Motivation for the change:

This enables a lot of configuration flexibility for HTTP-based connections from Cryostat to other components - reports sidecar, jfr-datasource, and agents.

How to manually test:

  1. Check out and build PR
  2. ./smoketest.bash -O -t quarkus-cryostat-agent
  3. Click around the UI. Everything should work the same before and after this PR.

@andrewazores andrewazores added breaking change This change (potentially) breaks API compatibility and requires corresponding changes elsewhere feat New feature or request safe-to-test labels Jun 20, 2025
@andrewazores andrewazores force-pushed the quarkus-rest-client branch 3 times, most recently from 7d9a393 to fd3110a Compare June 27, 2025 14:01
@andrewazores andrewazores removed the breaking change This change (potentially) breaks API compatibility and requires corresponding changes elsewhere label Jun 27, 2025
@andrewazores andrewazores force-pushed the quarkus-rest-client branch from 8ceb3ef to 92eb64d Compare June 27, 2025 15:58
@andrewazores
Copy link
Member Author

/build_test

@andrewazores andrewazores marked this pull request as ready for review June 27, 2025 17:19
@andrewazores andrewazores requested a review from a team as a code owner June 27, 2025 17:19
@andrewazores andrewazores requested a review from a team June 27, 2025 17:19
Copy link

Workflow started at 6/27/2025, 1:19:32 PM. View Actions Run.

Copy link

No OpenAPI schema changes detected.

Copy link

No GraphQL schema changes detected.

Copy link

CI build and push: At least one test failed ❌
https://github.com/cryostatio/cryostat/actions/runs/15932125006

@andrewazores
Copy link
Member Author

/build_test

@andrewazores andrewazores marked this pull request as ready for review June 27, 2025 20:56
Copy link

Workflow started at 6/27/2025, 4:56:41 PM. View Actions Run.

Copy link

No OpenAPI schema changes detected.

Copy link

No GraphQL schema changes detected.

Copy link

CI build and push: At least one test failed ❌
https://github.com/cryostatio/cryostat/actions/runs/15935805230

1 similar comment
Copy link

CI build and push: At least one test failed ❌
https://github.com/cryostatio/cryostat/actions/runs/15935805230

@andrewazores
Copy link
Member Author

/build_test

Copy link

Workflow started at 6/27/2025, 7:56:02 PM. View Actions Run.

Copy link

CI build and push: At least one test failed ❌
https://github.com/cryostatio/cryostat/actions/runs/15938092648

Copy link

No OpenAPI schema changes detected.

@andrewazores andrewazores force-pushed the quarkus-rest-client branch from b9cb0e1 to 2a36dd1 Compare July 7, 2025 17:24
Copy link

@andrewazores
Copy link
Member Author

/build_test

Copy link

Workflow started at 7/18/2025, 5:17:03 PM. View Actions Run.

Copy link

No OpenAPI schema changes detected.

Copy link

No GraphQL schema changes detected.

Copy link

CI build and push: All tests pass ✅
https://github.com/cryostatio/cryostat/actions/runs/16380478794

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feat New feature or request safe-to-test
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Bug] Disabling agent hostname verification isn't working [Request] Replace WebClient with QuarkusRestClient
1 participant