cloud-native-toolkit / planning

The is the planning repo to manage the cross project Epics and Issues. Tasks and Bugs
3 stars 1 forks source link

Add a starter kit for Java microservice with MicroProfile, Jakarta EE and Open Liberty #676

Open yeekangc opened 3 years ago

yeekangc commented 3 years ago

Is your feature request related to a problem? Please describe. Currently, the toolkit doesn't include a starter kit for developing Java microservices using open cloud-native Java APIs like MicroProfile or Jakarta EE.

Which persona(s) does this feature benefit (e.g. developer, SRE, etc)? Developers

What is the impact of not having this feature? What will be the benefit of having this feature? MicroProfile and Jakarta EE are open cloud-native Java APIs collaboratively developed by the community under Eclipse Foundation and which IBM is a key contributor and leader. They are gaining momentum and adoption in the industry.

Open Liberty is an all-purpose open-source cloud-native Java runtime that fully supports both MicroProfile and Jakarta EE APIs from IBM that offers leading performance and capabilities for enterprise-grade cloud-native applications.

As a cloud-native toolkit that demonstrates best practices, it is important for the toolkit to includes a starter kit to assist developers and speed up the getting started process to build applications with MicroProfile and Jakarta EE on Open Liberty.

Describe the solution you'd like A "Java Microservice with MicroProfile, Jakarta EE and Open Liberty" starter kit in the toolkit.

Describe alternatives you've considered N/A

Additional context N/A

yeekangc commented 3 years ago

We will gladly contribute this starter kit. @meswan @gkwan-ibm on the Open Liberty team are looking at this.

mjperrins commented 3 years ago

This was a Starter Kit we always wanted to create so any help adding additional content is always welcome

csantanapr commented 3 years ago

@yeekangc what is the status on this starter kit?

Do you need any help on this we can provide? Folks starting to ask for this starter kit

csantanapr commented 3 years ago

@yeekangc please try to use the maven tekton pipeline, we recently added quarkus starter kit and it leverages this pipeline

Here is some guidance on the changes to integrate the new starter kit

bwoolf1 commented 3 years ago

This pipeline probably uses Liberty, may provide inspiration: https://github.com/IBM/ibm-garage-tekton-tasks/blob/main/pipelines/appmod-liberty-pipeline.yaml

yeekangc commented 3 years ago

Thanks, @csantanapr, @bwoolf1.

We were slowed down a bit but are still looking at this. Still intend to get it done asap and will reach out if we have questions. We will work with the noted pipelines.

yeekangc commented 3 years ago

A template that the team has created: https://github.com/tt-le/java-liberty-app. Take a look.

Ran into failure for with the GitOps step for the pipeline. See https://github.com/IBM/ibm-garage-tekton-tasks/issues/104. It failed for the Quarkus and Spring starter kits too.

Let us know if you have feedback for the template. Will proceed to integrate after.

lsteck commented 3 years ago

@yeekangc I was able to run your starter kit in a tekton ibm-appmod-liberty pipeline and it worked just fine. I didn't have any issues with the gitops step as mentioned in https://github.com/IBM/ibm-garage-tekton-tasks/issues/104 which I think is an issue with the environment

yeekangc commented 3 years ago

Thanks, @lsteck. You are right. It's working now!

yeekangc commented 3 years ago

@csantanapr @lsteck, can you create a repo for us to merge the template? We will prep the other PRs after.

seansund commented 3 years ago

@yeekangc Does template-liberty work for the template name?

seansund commented 3 years ago

@yeekangc Added https://github.com/ibm-garage-cloud/template-liberty and gave you Maintainer access

lsteck commented 3 years ago

I'll do the following