Skip to content

Conversation

@ppalaga
Copy link
Contributor

@ppalaga ppalaga commented Oct 24, 2025

This is how the global HTTP proxy configuration could work. I am open to discuss any aspects of this PR

What is in this PR:

  • A new quarkus-proxy-config extension
  • The reactive REST client was made to use the new global settings

TBD:

@ppalaga
Copy link
Contributor Author

ppalaga commented Oct 24, 2025

cc @geoand

@quarkus-bot

This comment has been minimized.

@quarkus-bot

This comment has been minimized.

@github-actions
Copy link

github-actions bot commented Oct 24, 2025

🎊 PR Preview 50d1785 has been successfully built and deployed to https://quarkus-pr-main-50709-preview.surge.sh/version/main/guides/

  • Images of blog posts older than 3 months are not available.
  • Newsletters older than 3 months are not available.

@geoand
Copy link
Contributor

geoand commented Oct 25, 2025

Thanks @ppalaga!

CI is not happy currently

@quarkus-bot quarkus-bot bot added area/devtools Issues/PR related to maven, gradle, platform and cli tooling/plugins area/documentation labels Oct 28, 2025
@ppalaga
Copy link
Contributor Author

ppalaga commented Oct 28, 2025

29e6198:

  • Rebased
  • Added support for ProxyType in the Reactive REST client when configured via proxy-configuration-name
  • Checked the docs of the new and old options again

@quarkus-bot

This comment has been minimized.

@quarkus-bot

This comment has been minimized.

@ppalaga
Copy link
Contributor Author

ppalaga commented Oct 28, 2025

b27f402: fixed the compilation failures

@quarkus-bot

This comment has been minimized.

@quarkus-bot

This comment has been minimized.

@ppalaga
Copy link
Contributor Author

ppalaga commented Oct 28, 2025

Could please some SME assess whether the failed TckRecoveryTests.testCancelWhenParticipantIsUnavailable can somehow be impacted by the current change?

@geoand
Copy link
Contributor

geoand commented Oct 29, 2025

cc @xstefank

@xstefank
Copy link
Member

@ppalaga that test is flaky but it was probably just a timing issue for which we have adjustment config. If it fails again, ping me offline.

@ppalaga
Copy link
Contributor Author

ppalaga commented Oct 29, 2025

Thanks @xstefank, this PR is ready for review then.

@geoand
Copy link
Contributor

geoand commented Oct 29, 2025

Thanks a lot @ppalaga!

I'll try and have a look this week

Copy link
Member

@gsmet gsmet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason why you went with proxy-config instead of proxy-registry similar to the TLS naming?

They look like very similar things.

Genuinely curious.

@ppalaga
Copy link
Contributor Author

ppalaga commented Oct 29, 2025

Is there a reason why you went with proxy-config instead of proxy-registry similar to the TLS naming?

Indeed, the design is similar, but unlike with TLS registry, which hosts some key stores and trust stores, there is no real data in this extension. It is only configuration. Anyway, I do not insist on the name.

@geoand
Copy link
Contributor

geoand commented Oct 31, 2025

I'm with @gsmet on this, I think proxy-config is going to be confusing

@ppalaga
Copy link
Contributor Author

ppalaga commented Oct 31, 2025

OK, be it quarkus-proxy-registry.

Anything else, @geoand?

@geoand
Copy link
Contributor

geoand commented Oct 31, 2025

I haven't been able to take a look yet unfortunately

@ppalaga
Copy link
Contributor Author

ppalaga commented Oct 31, 2025

3885a85:

  • Rebased,
  • Changed the name to quarkus-proxy-registry

@geoand
Copy link
Contributor

geoand commented Oct 31, 2025

🙏🏽

@quarkus-bot
Copy link

quarkus-bot bot commented Oct 31, 2025

Status for workflow Quarkus Documentation CI

This is the status report for running Quarkus Documentation CI on commit 3885a85.

✅ The latest workflow run for the pull request has completed successfully.

It should be safe to merge provided you have a look at the other checks in the summary.

Warning

There are other workflow runs running, you probably need to wait for their status before merging.

@quarkus-bot
Copy link

quarkus-bot bot commented Oct 31, 2025

Status for workflow Quarkus CI

This is the status report for running Quarkus CI on commit 3885a85.

✅ The latest workflow run for the pull request has completed successfully.

It should be safe to merge provided you have a look at the other checks in the summary.

You can consult the Develocity build scans.


Flaky tests - Develocity

⚙️ JVM Tests - JDK 17

📦 extensions/micrometer-opentelemetry/deployment

io.quarkus.micrometer.opentelemetry.deployment.compatibility.MicrometerTimedInterceptorTest.testTimeMethod_AsyncFailed - History

  • Stream has no elements - java.lang.IllegalArgumentException
java.lang.IllegalArgumentException: Stream has no elements
	at io.quarkus.micrometer.opentelemetry.deployment.common.MetricDataFilter.lambda$lastReading$2(MetricDataFilter.java:213)
	at java.base/java.util.Optional.orElseThrow(Optional.java:403)
	at io.quarkus.micrometer.opentelemetry.deployment.common.MetricDataFilter.lastReading(MetricDataFilter.java:213)
	at io.quarkus.micrometer.opentelemetry.deployment.common.MetricDataFilter.lastReadingDataPoint(MetricDataFilter.java:231)
	at io.quarkus.micrometer.opentelemetry.deployment.compatibility.MicrometerTimedInterceptorTest.testTimeMethod_AsyncFailed(MicrometerTimedInterceptorTest.java:150)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
	at io.quarkus.test.QuarkusUnitTest.runExtensionMethod(QuarkusUnitTest.java:534)

⚙️ Gradle Tests - JDK 17 Windows

📦 integration-tests/gradle

io.quarkus.gradle.devmode.IncludedKotlinBuildDevModeTest.main - History

  • Condition with Lambda expression in io.quarkus.test.devmode.util.DevModeClient was not fulfilled within 1 minutes 30 seconds. - org.awaitility.core.ConditionTimeoutException
org.awaitility.core.ConditionTimeoutException: Condition with Lambda expression in io.quarkus.test.devmode.util.DevModeClient was not fulfilled within 1 minutes  30 seconds.
	at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
	at org.awaitility.core.CallableCondition.await(CallableCondition.java:78)
	at org.awaitility.core.CallableCondition.await(CallableCondition.java:26)
	at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:1160)
	at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:1129)
	at io.quarkus.test.devmode.util.DevModeClient.getHttpResponse(DevModeClient.java:164)
	at io.quarkus.gradle.devmode.QuarkusDevGradleTestBase.getHttpResponse(QuarkusDevGradleTestBase.java:165)

⚙️ MicroProfile TCKs Tests

📦 tcks/microprofile-lra

org.eclipse.microprofile.lra.tck.TckRecoveryTests.testCancelWhenParticipantIsUnavailable - History

  • Expecting the metric Compensated callback was called Expected: a value equal to or greater than <1> but: <0> was less than <1> - java.lang.AssertionError
java.lang.AssertionError: 
Expecting the metric Compensated callback was called
Expected: a value equal to or greater than <1>
     but: <0> was less than <1>
	at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
	at org.eclipse.microprofile.lra.tck.TckRecoveryTests.assertMetricCallbackCalled(TckRecoveryTests.java:210)
	at org.eclipse.microprofile.lra.tck.TckRecoveryTests.testCancelWhenParticipantIsUnavailable(TckRecoveryTests.java:195)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

@geoand geoand changed the title Global HTTP proxy settings Introduce global HTTP proxy settings configuration Nov 3, 2025
Copy link
Contributor

@geoand geoand left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great stuff, thanks!

@geoand geoand merged commit 12eccb1 into quarkusio:main Nov 3, 2025
61 checks passed
@quarkus-bot quarkus-bot bot added this to the 3.30 - main milestone Nov 3, 2025
@quarkus-bot quarkus-bot bot added the kind/enhancement New feature or request label Nov 3, 2025
@ppalaga
Copy link
Contributor Author

ppalaga commented Nov 3, 2025

Thanks for the review and merge, @geoand!

Let me file some followup issues.

@geoand
Copy link
Contributor

geoand commented Nov 4, 2025

👌

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/dependencies Pull requests that update a dependency file area/devtools Issues/PR related to maven, gradle, platform and cli tooling/plugins area/documentation area/rest area/rest-client area/resteasy-classic kind/enhancement New feature or request triage/flaky-test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Global HTTP proxy settings

4 participants