Quarkus Payara Qube

What is Payara Qube?

Payara Qube is a Java deployment platform that runs Jakarta EE, Spring Boot, and Quarkus applications in production. It provides a complete, unified runtime environment with built-in monitoring, logging, and scaling capabilities.

The platform is available in two consumption models:

Payara Qube (Managed)

A fully managed cloud service where Payara hosts and operates the infrastructure. You deploy applications through a web console or CLI, and the platform handles all operational concerns.

Payara Qube (Self-Hosted)

Install and run the platform on your own infrastructure, whether on-premises or in your cloud infrastructure. You maintain full control over the deployment environment while using the same runtime capabilities as the managed service.

Both models provide identical functionality for deploying and running applications. The choice depends on your operational preferences and infrastructure requirements.

About This Extension

This extension prepares your Quarkus application for deployment to Payara Qube. It configures logging, metrics, and packaging to match the platform’s runtime requirements, ensuring your application integrates properly with Payara Qube’s monitoring and management features.

Installation

Add the extension to your project:

<dependency>
    <groupId>io.quarkiverse.payara-qube</groupId>
    <artifactId>quarkus-payara-qube</artifactId>
    <version>1.0.0.Alpha1</version>
</dependency>

Building and Deploying

Build your application with Maven or Gradle as normal. The extension produces a ZIP file in your build output directory (typically target/ for Maven or build/ for Gradle).

Deploy this ZIP file to Payara Qube:

Via Console

Upload through the web interface at upload application

Via CLI

Use the command-line tool documented at Payara Qube CLI

Once deployed, your application runs on the Payara Qube runtime with full access to monitoring, logging, and scaling features.

What the Extension Configures

Application Package

Produces a ZIP distribution containing your application and its dependencies, structured for the Payara Qube runtime.

Logging Format

Configures JSON-formatted logging that integrates with Payara Qube’s log aggregation system. This enables log search, filtering, and analysis through the management console.

Use standard SLF4J or JBoss Logging APIs in your application code. The extension handles format configuration.

Do not override the logging format in your application configuration. Overriding the format will prevent your logs from appearing correctly in the console.

Metrics Endpoint

Exposes application and runtime metrics to Payara Qube’s monitoring system. Memory usage, request rates, and custom application metrics become visible in the management console.

Configuration Sources

Provides additional MicroProfile Config sources that read configuration from files supplied by the Payara Qube runtime. This allows you to modify configuration through the console without rebuilding your application.

Runtime Limitations

No Reaugmentation

Payara Qube does not perform reaugmentation. Only properties marked as runtime-configurable in Quarkus can be changed through the Payara Qube console.

Build-time properties must be set before packaging your application. Changes to build-time properties require rebuilding and redeploying the ZIP file.

Execution Constraints

The runtime environment restricts certain operations for security and stability:

  • File System Access: Applications can only write to /tmp. Writes to other locations will fail.

  • Process Spawning: Applications cannot launch additional processes or subprocesses.

If your application or its dependencies attempt these operations, deployment will fail. Review your dependencies and ensure they operate within these constraints.