fabric8-maven-plugin icon indicating copy to clipboard operation
fabric8-maven-plugin copied to clipboard

Support Kaniko builds

Open edrandall opened this issue 4 years ago • 9 comments

Description

maven-fabric8-plugin already supports docker-daemonless builds using Jib, but Jib has a limited (though useful) support of layering a Java application on top of an existing base image.

It would be really useful if this were taken to the next level with Kaniko support. We could then build our entire suite of applications using the same (fabric8) abstraction and no need for a docker daemon or d-in-d anywhere. The main advantages of using the fabric8 plugin being that:

  • configuration is standardised
  • dependencies for running the underlying tool (Jib, Kaniko, whatever) are automatically downloaded.

edrandall avatar Jan 10 '20 15:01 edrandall

@rhuss @manusa @dev-gaur @lordofthejars : What do you think about this? Can we support this use case?

rohanKanojia avatar Jan 10 '20 15:01 rohanKanojia

Well, it is similar to buildah. We could provide support for both. It is true that nowadays kaniko is getting some traction because of tekton.

lordofthejars avatar Jan 10 '20 15:01 lordofthejars

Actually, the idea is really to support as many build system that makes sense. Kaniko is one of them. Ideally, that should just be different implementation of the jkube-kit buiildservice (as sketched out on the fabric8-kit github page, with a sample implementation for the current docker build). The start is here: https://github.com/fabric8io/fabric8-kit/tree/master/build

rhuss avatar Jan 10 '20 20:01 rhuss

I'd like to support this build system too, but I would do it in scope of JKube. We should make JKube image build system as abstract as possible so that concrete implementations are easy to add and don't require extra work besides invoking the implementation specific build commands from the provided common build model.

From the earlier comments I'd like to highlight and keep in mind these statements: "configuration is standardised", "support as many build system that makes sense". I think they summarize pretty much some of JKube goals and what we should be focusing on.

manusa avatar Jan 11 '20 05:01 manusa

This issue has been automatically marked as stale because it has not had any activity since 90 days. It will be closed if no further activity occurs within 7 days. Thank you for your contributions!

stale[bot] avatar Apr 10 '20 06:04 stale[bot]

Link back to #1534

  • https://developers.redhat.com/blog/2020/01/28/introduction-to-eclipse-jkube-java-tooling-for-kubernetes-and-red-hat-openshift/

edrandall avatar Apr 10 '20 08:04 edrandall

any news about Kaniko support on Jkube ? @manusa

dloiacono avatar Nov 05 '21 08:11 dloiacono

Problem with JKube is that is is not a straight migration from f8 / dmp. The approach seems to be, aim for lowest-common-denominator, removing f8 features that don't immediately fit their model, rather than maintaining support for them. Example: https://github.com/eclipse/jkube/issues/644

edrandall avatar Nov 05 '21 09:11 edrandall

any news about Kaniko support on Jkube ? @manusa

Hi @dloiacono, Support for Kaniko is tracked in https://github.com/eclipse/jkube/issues/767 This is scheduled for the mid-term in our roadmap. Our current priorities are finishing up with the Gradle plugin support and improve Helm chart generation with better support for placeholders/values.

Problem with JKube is that they are not a straight migration from f8....

Hi @edrandall. Could you be more specific about the features you are missing right now in JKube as compared to FMP? Only some very Maven specific features were dropped. Any thing else you are missing should be reported and at least considered from the project perspective.

manusa avatar Nov 05 '21 09:11 manusa