Fabric8 Kubernetes Client 6.4.1 is now available!
On behalf of the Fabric8 team and everyone who has contributed, I'm happy to announce that the Fabric8 Kubernetes Client 6.4.1
has been released and is now available from Maven Central 🎉.
Thanks to all of you who have contributed with issue reports, pull requests, feedback, and spreading the word with blogs, videos, comments, and so on. We really appreciate your help, keep it up!
What's new?
Without further ado, let's have a look at the most significant updates:
- Vert.x HttpClient implementation
- Java type generation from remote CRDs
- @KubernetesTest improvements
- 🐛 Many other bug fixes and minor improvements
You can find the full changelog for this version in our GitHub release page.
Vert.x HttpClient implementation
This release includes yet another HttpClient
implementation as an alternative to the OkHttpClient
based implementation that is configured by default. Big shout out to Steven Hawkins and Julien Viet who made this possible.
You can start using the new Vert.x implementation by configuring the Fabric8 Kubernetes Client dependency in your pom.xml
as follows:
<dependency>
<groupId>io.fabric8</groupId>
<artifactId>kubernetes-client</artifactId>
<version>6.4.1</version>
<exclusions>
<exclusion>
<groupId>io.fabric8</groupId>
<artifactId>kubernetes-httpclient-okhttp</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.fabric8</groupId>
<artifactId>kubernetes-httpclient-vertx</artifactId>
<version>6.4.1</version>
</dependency>
Java type generation from remote CRDs
The Fabric8 Kubernetes Client now supports generating Java types from remote Custom Resource Definitions (CRDs) to provide a better experience. This means that you won't need to have the CRD locally in your project anymore. You won't need complex builds either that include additional steps to download the CRD from a remote location.
@KubernetesTest improvements
In addition to several other minor enhancements, we've improved the @KubernetesTest
annotation to allow opting out of creating an ephemeral namespace for your tests.
Using this release
If your project is based on Maven, you just need to add the Fabric8 Kubernetes Client to your Maven dependencies:
<dependency>
<groupId>io.fabric8</groupId>
<artifactId>kubernetes-client</artifactId>
<version>6.4.1</version>
</dependency>
If your project is based on Gradle, you just need to add the Fabric8 Kubernetes Client to your Gradle dependencies:
dependencies {
api "io.fabric8:kubernetes-client:6.4.1"
}
Once your project is ready, you can create a new instance of the client to perform operations. In the following code snippet, I show you how to instantiate the client and retrieve a list of Pods:
try (KubernetesClient client = new KubernetesClientBuilder().build()) {
client.pods().list().getItems().forEach(p -> System.out.println(p.getMetadata().getName()));
}
How can you help?
If you're interested in helping out and are a first-time contributor, check out the "good first issue" tag in the issue repository. We've tagged extremely easy issues so that you can get started contributing to Open Source.
We're also excited to read articles and posts mentioning our project and sharing the user experience. Giving a star to the project, and spreading the word in general, helps us reach more users and broaden the feedback. Feedback is the only way to improve.
Project Page | Issues | Discussions | Gitter | Stack Overflow