Skip to content

IBM/template-liberty

Repository files navigation

Cloud-native Toolkit

This template can be used as a starter kit for the Cloud-native toolkit

Create and deploy a Java - MicroProfile / Jakarta EE application

We have applications available for Node.js Express, Go Gin, Python Flask, Python Django, Java Spring, Java Liberty, Swift Kitura, Android, and iOS.

In this sample application, you will create a Java cloud-native application using Liberty. This provides a starting point for creating Java web applications running on Open Liberty. It contains no default application code, but comes with standard best practices, including a health check.

This application exposes the following endpoints:

  • Health endpoint: <host>:<port>/health
  • Web content: <host>:<port>/<contextRoot>
  • Web Application: <host>:<port>/v1/example
  • Swagger UI: <host>:<port>/openapi/ui
  • Openapi Document: <host>:<port>/openapi

The web application has a health endpoint which is accessible at <host>:<port>/health. The ports are set in the pom.xml file.

Steps

You can deploy this application to IBM Cloud or build it locally by cloning this repo first. Once your app is live, you can access the /health endpoint to build out your cloud native application.

Deploying

After you have created a new git repo from this git template, remember to rename the project. Edit the pom.xml and change the artifactId from the default name to the name you used to create the template.

Make sure you are logged into IBM Cloud using the IBM Cloud CLI and have access to your development cluster. If you are using OpenShift make sure you have logged into the OpenShift CLI on the command line.

Install the IBM Garage for Cloud CLI.

curl -sfL get.cloudnativetoolkit.dev | sh -

Use the IBM Garage for Cloud CLI to create the dev namespace

igc namespace dev --dev

Use the IBM Garage for Cloud CLI to register the GIT Repo

igc pipeline -n dev --tekton --pipeline ibm-appmod-liberty

See the Deploy an app guide under Day 1 - Build and deploy in the IBM Cloud-Native toolkit for details.

Building Locally

To get started building this application locally, you can either run the application natively or use the IBM Cloud Developer Tools for containerization and easy deployment to IBM Cloud.

Native Application Development

To build and run the application:

  1. mvn liberty:dev
  2. Press enter once the server is running to run integration tests.

To run an application in Docker use the Docker file called Dockerfile. If you do not want to install Maven locally you can use Dockerfile-tools to build a container with Maven installed.

You can verify the state of your locally running application using the Selenium UI test script included in the scripts directory.

More Details

For more details on how to use this Starter Kit Template please review the IBM Garage for Cloud Cloud-Native Toolkit Guide

Next Steps

License

This sample application is licensed under the Apache License, Version 2. Separate third-party code objects invoked within this code pattern are licensed by their respective providers pursuant to their own separate licenses. Contributions are subject to the Developer Certificate of Origin, Version 1.1 and the Apache License, Version 2.

Apache License FAQ