diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml index 3f1353efea..d29d1f1d21 100644 --- a/.github/workflows/integration-tests.yml +++ b/.github/workflows/integration-tests.yml @@ -12,7 +12,7 @@ on: http-client: type: string required: false - default: 'vertx' + default: 'vertx-5' experimental: type: boolean required: false diff --git a/docs/content/en/docs/migration/v5-7-migration.md b/docs/content/en/docs/migration/v5-7-migration.md index a5fb257fd3..8d735c8acd 100644 --- a/docs/content/en/docs/migration/v5-7-migration.md +++ b/docs/content/en/docs/migration/v5-7-migration.md @@ -41,3 +41,40 @@ Other notable Jackson 3 differences: ```java client.pods().withShardSelector((String) null); ``` + +## Default HTTP client is now Vert.x 5 + +The `operator-framework` artifact now brings the Vert.x 5 based HTTP client of the Fabric8 client +(`kubernetes-httpclient-vertx-5`), which is also the default of the Fabric8 client itself, instead of +the JDK one (`kubernetes-httpclient-jdk`). If your operator doesn't declare an HTTP client +implementation of its own there is nothing to do, it gets the new default. To keep using the JDK +client, or to use another implementation, exclude the default from the `operator-framework` +dependency and add the one you want: + +```xml + + io.javaoperatorsdk + operator-framework + + + io.fabric8 + kubernetes-httpclient-vertx-5 + + + + + io.fabric8 + kubernetes-httpclient-jdk + 8.0.0 + +``` + +The implementations provided as part of the Fabric8 client all follow the +`kubernetes-httpclient-` pattern for their artifact identifier. + +If your operator already replaced the default HTTP client, update the exclusion: excluding +`kubernetes-httpclient-jdk` no longer has any effect and `kubernetes-httpclient-vertx-5` would end up +on the classpath next to your implementation. This is especially important if you use the Vert.x 4 +based client (`kubernetes-httpclient-vertx`), since Vert.x 4 and Vert.x 5 cannot be used together. +If you want to keep the Vert.x 4 based client, use it in place of `kubernetes-httpclient-jdk` in the +snippet above. diff --git a/micrometer-support/pom.xml b/micrometer-support/pom.xml index ae3c4d0be1..29dcf1f9f5 100644 --- a/micrometer-support/pom.xml +++ b/micrometer-support/pom.xml @@ -64,7 +64,7 @@ io.fabric8 - kubernetes-httpclient-vertx + kubernetes-httpclient-${fabric8-httpclient-impl.name} test diff --git a/pom.xml b/pom.xml index 7bb23fa1bd..6cfc9b84ee 100644 --- a/pom.xml +++ b/pom.xml @@ -69,7 +69,7 @@ ${java.version} java-operator-sdk https://sonarcloud.io - jdk + vertx-5 6.1.3 8.0.0 2.0.20 diff --git a/sample-operators/tomcat-operator/pom.xml b/sample-operators/tomcat-operator/pom.xml index ea964a2b07..0a05fffc1c 100644 --- a/sample-operators/tomcat-operator/pom.xml +++ b/sample-operators/tomcat-operator/pom.xml @@ -53,10 +53,6 @@ - - io.fabric8 - kubernetes-httpclient-vertx - org.apache.logging.log4j log4j-slf4j2-impl