Why It’s Time to Try the Latest Version of Eclipse JKube
Eclipse JKube is the successor to the deprecated Fabric8 Maven plug-in, and the latest version, 1.8.0, is now available. We sat down with Marc Nuri, who explained why now’s the time to upgrade if you haven’t already.
Q: For anyone not familiar with the project, can you briefly tell us what Eclipse JKube is all about?
A: Eclipse JKube started in 2020 as a rebranding of the Fabric8 Maven plug-in, which was deprecated the same year. The plug-in had been around for a long time and had a significant user base. There are around 35,000 projects in GitHub that rely on it. We brought the plug-in to the Eclipse Foundation, rebranded it as Eclipse JKube, and set about improving it. We’ve now improved every bit of its functionality.
JKube makes it easy to transition your Java applications to the cloud by deploying them in Kubernetes. In fact, we want to be the de-facto standard for deploying Java applications in Kubernetes.
JKube consists of plug-ins and components for building container images using Docker, Java image builder (Jib), or Source-to-Image (S2I) build strategies. Based on the setting you’ve already provided in your project, it automatically generates a container image based on some opinionated defaults and the cluster container manifests. JKube also provides tools for deploying your manifest, generating charts, debugging the container, and more.
As a side note, if you’re still using the legacy Maven plug-in, we really encourage you to make the switch to JKube. It’s typically a very easy migration.
Q: Tell us about the latest version. What changes does it include?
A: There are no major changes in version 1.8.0; it’s more about functionality.
One of the priorities was graduating the Gradle plug-ins, which we first previewed in v1.5.0. We wanted people to test them and provide feedback. Then we took that feedback and started implementing it, and that’s what you see in v1.8.0: complete functionality and feature parity.
We also included an update related to the Jakarta namespace. Obviously, one of the big recent updates in Jakarta EE 9 was the move from the javax.* namespace to jakarta.*. We have a feature that relies on that namespace, so in v1.8.0 we introduced a fix that provides compatibility for both namespaces.
Finally, we introduced tons of bug fixes that help make the entire project more reliable.
Q: So, why should people using earlier JKube versions upgrade to v1.8.0?
A: Obviously, since the JKube plug-ins are essentially build and deployment tools, it’s easy to simply add them into your CI or CD pipeline and forget about them. But we’ve been making additions and improvements with every release: new features, broader Kubernetes cluster compatibility, and improved reliability and performance. All these things add up to a lot of improvements between this latest version to some of the previous ones. That’s what makes it worth it.
Q: How can the community help improve JKube?
A: In the past year, we had around 70 contributors, which is good. But we’re always looking for more feedback. This project is community-driven. So, if you can come in and say “I like your project, but I really need to do something that your project does not currently do,” then we can talk about how we can achieve this. That's what we want to do.
All feedback is good. But most of the feedback we get is from people who’ve tried Eclipse JKube and found that it mostly worked for them, but they were having some minor issues. We get much less feedback from people who tried it and it didn’t work for them at all.
We also want to hear about new functionality needs. We want everyone to get involved, to participate in the roadmap, and help us decide what we’re going to do next. So, if you feel you need something else from Eclipse JKube, or there are some features that would help you, please request it in an issue. Better yet, contribute it in a pull request or even just provide that feedback to us.
That goes both ways, of course. We’re always looking for new contributors, including people who are new to open source.
Q: What should contributors who are new to open source know about the JKube project?
A: The project is structured in such a way that newcomers, whether they’re new to Eclipse JKube or new to open source in general, can come on board easily. We have sets of first-timer issues, and good first issues to start on. We tend to guide newcomers to open source and spend time with them to help develop their interest in open source and our project.
It’s satisfying to be able to give back to the community and to help people learn how to contribute to an open source project, especially a project hosted at the Eclipse Foundation, which has a set of specific requirements.
Oh, and we’re also participating in Google Summer of Code, which will be interesting for new contributors to open source.
Q: How can people learn more about JKube and get involved?
A: They can visit our website and join our open channels: our GitHub, our mailing list. If you’re interested and want to contribute, we want to hear from you. Our Feedback and Community page has all the details.
About the Author
Marc Nuri is the project lead for Eclipse JKube and a principal software engineer at Red Hat. He’s also part of the core maintainer team for the Fabric8 Kubernetes client.
More from this Edition
Langium is a new toolkit for textual languages that are built on the TypeScript programming language.