Fabric8 Kubernetes Client 6.4.1 está disponible!
En nombre de todo el equipo de Fabric8 y de todos sus contribuidores, estoy muy contento de anunciar que hemos liberado la versión 6.4.1
de Fabric8 Kubernetes Client y que está disponible para su descarga desde Maven Central 🎉.
Muchas gracias a todos los que habéis contribuido reportando issues, creando pull requests, dando feedback y promocionando el proyecto mediante blogs, videos, comentarios, etc. Valoramos muchísimo vuestra ayuda ¡seguid así!
Novedades
Sin más dilación, veamos cuáles son las novedades más importantes de esta versión:
- Implementación del HttpClient basada en Vert.x
- Generación de tipos en Java desde CRDs remotos
- Mejoras en @KubernetesTest
- 🐛 Muchas otras mejoras y bug-fixes
Puedes encontrar la lista completa de cambios para esta versión en la release page en GitHub.
Implementación del HttpClient basada en Vert.x
Esta versión incluye una nueva implementación del HttpClient
basada en Vert.x como alternativa a la implementación basada en OkHttpClient
que se usa por defecto. Aprovecho para agradecer el trabajo de Steven Hawkins y Julien Viet que han hecho que esto sea posible.
Puedes comenzar a utilizar la nueva implementación en Vert.x configurando la dependencia de Fabric8 Kubernetes Client en tu pom.xml
del siguiente modo:
<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>
Generación de tipos en Java desde CRDs remotos
Fabric8 Kubernetes Client ahora soporta la generación de tipos en Java a partir de Custom Resource Definitions (CRDs) remotos para proporcionar una mejor experiencia de usuario. Esto significa que ya no es necesario disponer del CRD localmente en el proyecto. Tampoco será necesario configurar builds complejas que incluyan pasos adicionales para hacer una descarga previa del CRD.
@KubernetesTest improvements
Además de varios pequeños desarrollos, hemos mejorado la anotación @KubernetesTest
para permitir evitar la creación de un namespace efímero para cada test.
Cómo utilizar esta versión
Si tu proyecto está basado en Maven, lo único que hay que hacer es añadir Fabric8 Kubernetes Client a las dependencias del proyecto:
<dependency>
<groupId>io.fabric8</groupId>
<artifactId>kubernetes-client</artifactId>
<version>6.4.1</version>
</dependency>
Si tu proyecto está basado en Gradle, lo único que tienes que hacer es añadir Fabric8 Kubernetes Client a las dependencias de Gradle:
dependencies {
api "io.fabric8:kubernetes-client:6.4.1"
}
Una vez hayas configurado tu proyecto, puedes crear una instancia del cliente para realizar distintas operaciones. En el siguiente fragmento de código muestro como instanciar el cliente y obtener una lista de Pods:
try (KubernetesClient client = new KubernetesClientBuilder().build()) {
client.pods().list().getItems().forEach(p -> System.out.println(p.getMetadata().getName()));
}
Cómo ayudar y colaborar
Si estás interesado o interesada en ayudar con el proyecto y es la primera vez que contribuyes, puedes echar un vistazo al tag "first-timers-only" en el repositorio. Hemos etiquetado issues muy sencillas para que puedas iniciarte en el mundo Open Source.
También nos encanta leer artículos y publicaciones mencionando nuestro proyecto y compartiendo la experiencia. Dar una estrella al proyecto, y en general, ayudar a promocionar el proyecto, nos ayuda a llegar a más usuarios e incrementar el feedback. El feedback es la única forma de mejorar y siempre es bienvenido.
Project Page | Issues | Discussions | Gitter | Stack Overflow