[FLINK-38253] Allow usage of vertx/jdk/jetty/okhttp clients in fabric8 in flink-kubernetes
What is the purpose of the change
This PR add an option to use different HTTP client implementation in fabric8 used within flink-kubernetes module. It basically sync with operator repo, where this option was introduced few months ago as part of https://github.com/apache/flink-kubernetes-operator/pull/881.
The default client implementation remains okhttp, but the change will allow usage of new profiles that switch used http client implementations to vertx, jdk, or jetty.
Brief change log
Enable to build flink-kubernetes with vertx, jdk, or jetty http clients implementations for fabric8.
Verifying this change
This change is already covered by existing tests, such as all tests related to flink-kubernetes module.
I also added new CI workflow that runs unit/ITs with all of the mentioned implementations and also smoke e2e test with minikube.
Does this pull request potentially affect one of the following parts:
- Dependencies (does it add or upgrade a dependency): yes
- The public API, i.e., is any changed class annotated with
@Public(Evolving): no - The serializers: no
- The runtime per-record code paths (performance sensitive): no
- Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
- The S3 file system connector: no
Documentation
- Does this pull request introduce a new feature? no
- If yes, how is the feature documented? not applicable
CI report:
- a3f4206d392ac95276a0754fe693e998e00a1c04 Azure: SUCCESS
Bot commands
The @flinkbot bot supports the following commands:@flinkbot run azurere-run the last Azure build
Here is GHA run from my fork - https://github.com/Frawless/flink/actions/runs/16989320117