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

Buildpack for Quarkus/Quarkus Native #23559

Closed
lordofthejars opened this issue Feb 9, 2022 · 6 comments · Fixed by #41936
Closed

Buildpack for Quarkus/Quarkus Native #23559

lordofthejars opened this issue Feb 9, 2022 · 6 comments · Fixed by #41936
Labels
Milestone

Comments

@lordofthejars
Copy link
Contributor

Description

I've started using Quakrus Buildpacks but I couldn't find any buildpack for Quarkus, the only one that is available is of the Boson project but it is Boson-based and is not generic enough to work standalone.

Implementation ideas

Develop a buildpack for Quarkus / Quarkus Native and use them as default configuration values

@geoand
Copy link
Contributor

geoand commented Feb 10, 2022

cc @iocanel @BarDweller

@geoand
Copy link
Contributor

geoand commented Mar 20, 2023

@iocanel @BarDweller is this something that already exists?

@iocanel
Copy link
Contributor

iocanel commented Mar 20, 2023 via email

@geoand
Copy link
Contributor

geoand commented Mar 1, 2024

@BarDweller has this been implemented?

@geoand geoand added the triage/needs-feedback We are waiting for feedback. label Mar 1, 2024
@BarDweller
Copy link
Contributor

There are a variety of ways to use buildpacks with Quarkus.

We started by looking at creating a standalone 'quarkus buildpack' that would go into a builder image, but found it to be of limited use. These builders are in the snowdrop github, and use simple bash scripts for the detect/build. They are at best prototypes, and due to their standalone nature miss out on much that buildpacks can offer through being part of an ecosystem of buildpacks that work together to implement a build.

As a result of those investigations we decided to become part of the Paketo buildpack ecosystem, and work towards adding UBI and Quarkus to their builders.

At this stage, we have created and published a UBI Paketo builder image (paketocommunity/builder-ubi-base) that contains the Quarkus buildpack (along with the rest of the Paketo java ecosystem, but using a Java runtime supplied by UBI). Note that this does not currently cover Quarkus native, which would require an alternate builder image, in the same manner Paketo handles native for non UBI builders. The UBI Builder image makes use of Builder Image Extensions, that are part of CNCF Buildpacks Platform spec 0.10, if you are using pack cli, make sure it's a recent version. If you are using Quarkus's Container Image Buildpack support, that currently only implements Platform spec 0.4, but I'm working on the update to allow it to cover 0.4-0.12 which should be ready soon. If you are using tekton pipelines, make sure they are correctly implementing at least platform spec 0.10 (Released October 2022) with support for Image Extensions. Many are still at 0.4, or 0.7.

Quarkus will also work with the non UBI Paketo images (although you have to either configure your Quarkus project options so the targets are seen as expected, or manually include the Paketo Quarkus buildpack when building via pack cli).

@geoand
Copy link
Contributor

geoand commented Mar 3, 2024

Thanks for the update @BarDweller

@geoand geoand removed the triage/needs-feedback We are waiting for feedback. label Mar 3, 2024
@quarkus-bot quarkus-bot bot added this to the 3.16 - main milestone Sep 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants