Red Hat build of Quarkus: Kubernetes-native Java

Kubernetes-native Java with low memory footprint and fast boot times for microservices and serverless applications.

Red Hat build of Quarkus 3.2 is now available. Click here for more details.

Getting started with Red Hat build of Quarkus

1. Install the Red Hat build of Quarkus

You can get up and running with the Red Hat build of Quarkus in just a few simple steps using your command-line interface (CLI). Open your favorite terminal and use JBang to install the Quarkus CLI. You do not need to have Java installed first. See below for instructions specific to your environment.

Quarkus requires Java to be installed on your machine for it to run. To install Java on your machine, get the Red Hat build of OpenJDK from here.

Choose your Operating System for installation instructions

RHEL Windows macOS Other Linux

2. Create the Getting Started application

Quick start

Start building in seconds using this Quarkus quick start. Choose from the download options based on your preferred build tool. 

Login & Download Quarkus quickstart for Maven >

Login & Download Quarkus quickstart for Gradle >

Generate your Quarkus starter project

The Quarkus project generator generates a boilerplate for you to get started with your application in seconds. It enables you to select your Quarkus extensions, Quarkus version, and build tool. By taking advantage of Red Hat generated projects, you can gain a significant boost to your product velocity.

Generate your application >

Quick start

Start building in seconds using this Quarkus quick start. Choose from the download options based on your preferred build tool. 

Download Quarkus quickstart for Maven >

Download Quarkus quickstart for Gradle >

Generate your Quarkus starter project

The Quarkus project generator generates a boilerplate for you to get started with your application in seconds. It enables you to select your Quarkus extensions, Quarkus version, and build tool. By taking advantage of Red Hat generated projects, you can gain a significant boost to your product velocity.

Generate your application >

 

3. Run the app

Run the Quarkus app in development mode on your machine by running the following command:

quarkus dev

4. Live coding

Quarkus makes it easy to change your code on the fly. Let's see this in action by modifying the RESTful endpoint.

Open src/main/java/org/acme/GreetingResource.java in a text editor or your favorite IDE and change Hello from RESTEasy Reactive to Hola from RESTEasy Reactive. Then refresh the browser to view the changes.

@Path("/hello")
public class GreetingResource {

    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String hello() {
        return "Hello from RESTEasy Reactive";
    }
}

Cool stuff right? Learn more about Quarkus's dev mode.

5. Deploying Quarkus Application

There are multiple ways to deploy the Quarkus applications to OpenShift. Explore popular approaches below and choose the option that fits your needs.

Deploy Directly from Git

OpenShift’s developer experience enables teams to simply deploy the source without having to deal with complex deployment configs. This approach uses Red Hat build of OpenJDK runtime.

Quarkus CLI

You can deploy Quarkus applications using the oc CLI tool. This option is preferred by developers who prefer working with the CLI and integrating with toolchains.

Deploy Container

This option is best suited for teams that have containerized their application and have an image deployed to an image registry like Red Hat Quay or Docker Hub. 

6. Enhance your application capabilities

Quarkus is cloud-native, making your deployment process a breeze. Discover additional capabilities below..

Data sources

Configure data sources and obtain a reference to those data sources in code
with pool tuning configuration properties.

Kafka

Apache Kafka is a popular open source distributed event streaming platform. Quarkus provides support for Apache Kafka through SmallRye Reactive Messaging framework.

Reactive

Reactive is an essential tenet of the Quarkus architecture. Quarkus includes many reactive features and offers a broad ecosystem.

Security

The Quarkus security framework provides built-in security authentication mechanisms for basic, form-based, and mutual TLS (mTLS) authentication.

Get access to Quarkus your way

When we say Quarkus is everywhere, we mean everywhere. Quarkus is a flexible and powerful Java framework that makes it easy for developers to integrate and incorporate a variety of application services. Quarkus is both integrated with supported via a number of Red Hat product bundles.


Red Hat product bundles with Quarkus

Red Hat Runtimes

Red Hat Runtimes

Quarkus is tightly integrated with Runtimes products such as Red Hat Data Grid for fast access to data and Keycloak single sign-on for authentication. Quarkus also includes a Spring Boot compatibility layer to make it easier for Spring developers to create Quarkus applications.

Red Hat Integration

Red Hat Integration

Quarkus is integrated with Red Hat AMQ streams, based on Strimzi and Kafka, to develop event-driven applications as well as Red Hat Fuse, based on Apache Camel, to create and compose Kubernetes-native serverless and microservices applications.

Red Hat OpenShift

Red Hat OpenShift

Quarkus is natively integrated with Red Hat OpenShift to make it easier to deploy and manage applications. This integration includes familiar tooling, remote cluster development, integration with managed configurations, and one-step deployment of containerized and serverless applications. Get started with Quarkus in the Developer Sandbox for Red Hat OpenShift.

Red Hat Enterprise Linux

Red Hat Enterprise Linux

Linux is widely deployed across data centers, edge networks, and the cloud. Quarkus provides Java developers with a framework that is ideal for Linux distributions due to its efficient use of memory resources and fast startup times.