Book Image

Hands-On Cloud-Native Applications with Java and Quarkus

By : Francesco Marchioni
Book Image

Hands-On Cloud-Native Applications with Java and Quarkus

By: Francesco Marchioni

Overview of this book

Quarkus is a new Kubernetes-native framework that allows Java developers to combine the power of containers, microservices, and cloud-native to build reliable applications. The book is a development guide that will teach you how to build Java-native applications using Quarkus and GraalVM. We start by learning about the basic concepts of a cloud-native application and its advantages over standard enterprise applications. Then we will quickly move on to application development, by installing the tooling required to build our first application on Quarkus. Next, we’ll learn how to create a container-native image of our application and execute it in a Platform-as-a-Service environment such as Minishift. Later, we will build a complete real-world application that will use REST and the Contexts and Dependency injection stack with a web frontend. We will also learn how to add database persistence to our application using PostgreSQL. We will learn how to work with various APIs available to?Quarkus?such as Camel, Eclipse MicroProfile, and Spring DI. Towards the end, we will learn advanced development techniques such as securing applications, application configuration, and working with non-blocking programming models using Vert.x. By the end of this book, you will be proficient with all the components of Quarkus and develop-blazing fast applications leveraging modern technology infrastructure.
Table of Contents (15 chapters)
Free Chapter
1
Section 1: Getting Started with Quarkus
5
Section 2: Building Applications with Quarkus
10
Section 3: Advanced Development Tactics

Using HTTPS with Quarkus

The last section of this chapter is dedicated to encrypting the HTTP communication in Quarkus. In order to do that, you need to provide a valid (either self-signed or signed by a CA) Keystore or PEM certificate in your configuration.

First, let's learn how to generate a self-signed PEM key and certificate pair. The simplest way to do this is by using the OpenSSL tool, as follows:

 $ openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem

The preceding command will generate a certificate named cert.pem and a related key file named key.pem in the current directory. Next, configure the filesystem path to your certificate and the key file in your application.properties:

quarkus.http.ssl.certificate.file=/path/cert.pem
quarkus.http.ssl.certificate.key-file=/path/key.pem

On the other hand, you can also generate and use a Keystore...