Skip to content

feat: use the Vert.x HTTP client of the Fabric8 client by default - #3674

Merged
csviri merged 4 commits into
nextfrom
feat/vertx-default-http-client
Nov 4, 2026
Merged

csviri merged 4 commits into
nextfrom
feat/vertx-default-http-client

Conversation

@csviri

@csviri csviri commented Nov 4, 2026

Copy link
Copy Markdown
Collaborator

feat: use the Vert.x HTTP client of the Fabric8 client by default

Changes the HTTP client implementation operator-framework brings by default from the JDK one
(kubernetes-httpclient-jdk) to the Vert.x 5 one (kubernetes-httpclient-vertx-5), which is also
the default of the Fabric8 client itself.

What changes

  • The fabric8-httpclient-impl.name property of the root pom.xml is now vertx-5 (was jdk).
    operator-framework, the sample operators and the test scope of operator-framework-core pick
    their client through it.
  • operator-framework-core keeps excluding the Fabric8 default from kubernetes-client, so that
    exactly one implementation is on the classpath, the one selected by the property.
  • The v5.7 migration guide has a new section describing how to keep the JDK client, or use another
    one: exclude kubernetes-httpclient-vertx-5 from operator-framework and add the implementation
    you want.

Impact

Operators that get their HTTP client transitively from operator-framework and don't declare one
themselves now get Vert.x instead of the JDK client. Operators that declare an implementation of
their own are not affected, as before they need to exclude the default one.

The CI already runs the integration tests with the vertx-5, jdk and jetty clients (the
httpclient-tests matrix passes the client explicitly), so this does not change what is tested.

The JDK default dates from #2235 (Feb 2024).

The operator-framework artifact now brings kubernetes-httpclient-vertx-5, the default of the Fabric8 client itself, instead of kubernetes-httpclient-jdk. The migration guide describes how to keep using the JDK client.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings November 4, 2026 20:17
@openshift-ci
openshift-ci Bot requested review from metacosm and xstefank November 4, 2026 20:17
@coderabbitai

coderabbitai Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 877c253d-74a7-4c00-a678-710969982574

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

The migration recipe omits the Fabric8 dependency version, causing Maven validation to fail in bootstrapper-generated projects that import only the JOSDK BOM.

1 open issue
What changed in this PR

Switches the SDK’s default Fabric8 HTTP client from JDK to Vert.x 5, aligning it with Fabric8’s default.

Changes:

  • Updates the shared HTTP client selection to vertx-5.
  • Documents how operators can retain the JDK client or choose another implementation.
File Description
pom.xml Selects Vert.x 5 as the default HTTP client.
docs/​content/​en/​docs/​migration/​v5-7-migration.md Explains the default change and provides dependency replacement instructions.

Review effort: Balanced

csviri and others added 3 commits November 4, 2026 21:23
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
The tomcat sample and micrometer-support explicitly depended on kubernetes-httpclient-vertx (Vert.x 4), which clashed with kubernetes-httpclient-vertx-5 now brought by operator-framework. Drop the explicit dependency from the sample and make micrometer-support follow the fabric8-httpclient-impl.name property.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ation guide

The integration-tests workflow defaulted to the Vert.x 4 based client, so runs that did not pass http-client did not exercise the new default. The migration guide now names Vert.x 5 in the heading and explains how to update an exclusion of the previous default client.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@csviri
csviri merged commit 6558161 into next Nov 4, 2026
29 checks passed
@csviri
csviri deleted the feat/vertx-default-http-client branch November 4, 2026 22:00
csviri added a commit that referenced this pull request Nov 6, 2026
)

* feat: use the Vert.x HTTP client of the Fabric8 client by default

The operator-framework artifact now brings kubernetes-httpclient-vertx-5, the default of the Fabric8 client itself, instead of kubernetes-httpclient-jdk. The migration guide describes how to keep using the JDK client.

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants