Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(#1656) : Jib publish strategy base on JibCli #4545

Closed

Conversation

gansheer
Copy link
Contributor

@gansheer gansheer commented Jul 7, 2023

Ref #1656

Motivation

This Jib publish strategy uses the Jib Cli tool that propose the same features that the Jib maven plugin as a CLI wrapper without the need for a pom.xml as build description.

The existing builder code already creates a folder /tmp/kit-xxxxxxxxxxxxxxxxxxxxxxxxxxxx/context containing the needed dependencies, so the pom.xml used by the maven build command is not really needed to create the target Kit image.
The other main advantage is the creation of the runtime builder image does not provides any maven context/config/pom.xml, therefore the usage of a CLI allows to create this runtime builder image.

Description

  • Add the Jib CLI tool into the Dockerfile of the camel-k image
  • Define the Jib BuildConfig for : runtime builder image, jvm kit image, native kit image
  • Add the Jib publish strategy
  • Add the Jib runtime builder image creation
  • Add the Jib Kit image creation
  • Add registry auth managment

Release Note

feat(#1656) : Jib publish strategy base on JibCli

@gansheer gansheer force-pushed the feature/1656_jibcli_publishstrategy branch from 48c86d7 to 8fc78f9 Compare July 7, 2023 11:53
@gansheer gansheer force-pushed the feature/1656_jibcli_publishstrategy branch from 8fc78f9 to 1315a0b Compare July 7, 2023 12:16
Copy link
Contributor

@squakez squakez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In general I think it's good to have the JIB strategy, but the operator should not depend by it. I mean that we should not have the CLI included in the container image. If a user wants to use any external tool, then it makes sense to use the pod strategy, as it already happens for Buildah and Kaniko. Even for Spectrum, I think we made a design mistake allowing it to be used within the same kamel builder command, which is creating a circular reference that has to be solved sooner or later.

@gansheer
Copy link
Contributor Author

Closing in favor of trying out some features to use pipelines instead.

@gansheer gansheer closed this Jul 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants