Quarkus Configuration Reference

Comprehensive configuration reference for Quarkus 3.33.1 LTS workloads running on OpenShift and Kubernetes. Covers all 9 demos from container images through Panama FFM.

View on GitHub ↗

UBI9 Default GC — Shenandoah

ubi9/openjdk-21-runtime ships Shenandoah as the default GC — not G1GC. Temurin, Corretto, and Microsoft all default to G1GC. Demos that compare GC algorithms override explicitly.

Multi-Stage Dockerfile Pattern

FROM maven:3.9-eclipse-temurin-21 AS builder
# USER root required in builder stage
FROM ubi9/openjdk-21-runtime
# USER 185 before ENTRYPOINT
ENTRYPOINT ["java",
  "-XX:+UseContainerSupport",
  "-XX:MaxRAMPercentage=75.0",
  "-jar", "quarkus-run.jar"]

Sections

Common pitfalls covered: Unqualified image names in Podman, SELinux bind mounts (:Z), named volume permissions, dependency:go-offline hangs in UBI, mounting config into otel-lgtm, AppCDS JVM fingerprint mismatch, allocateFrom() vs allocateArray(), JAX-RS annotations on record declarations.
File location in repo
java-optimization-demos/QUARKUS-README.md