How quarkusio/quarkus works
Quarkus is a Java framework that shifts substantial application work to build time, targeting JVM and native deployments while supporting container-first and cloud-native applications. The principal workflow is application augmentation: deployment logic organizes build steps and build items into an executable chain, with code generation and native-image configuration among the documented capabilities. Runtime extensions also adapt context propagation and provide focused HTTP-client and security support. The supplied tree and excerpts are selective, so links between unsampled subsystems are omitted rather than inferred.
Main entry points: QuarkusAugmentor.java Quarkus augmentor · BuildChain.java Build chain · BuildStep.java Build steps · QuarkusContextStorage.java OpenTelemetry storage
Components 21
Build-time augmentation
- Quarkus augmentor
core/deployment/src/main/java/io/quarkus/deployment/QuarkusAugmentor.java - Build chain
core/builder/src/main/java/io/quarkus/builder/BuildChain.java - Build steps
core/builder/src/main/java/io/quarkus/builder/BuildStep.java - Build items
core/builder/src/main/java/io/quarkus/builder/item/BuildItem.java - Extension loading
core/deployment/src/main/java/io/quarkus/deployment/ExtensionLoader.java - Code generation
core/deployment/src/main/java/io/quarkus/deployment/CodeGenerator.java - Native-image config
core/deployment/src/main/java/io/quarkus/deployment/builditem/nativeimage/NativeImageConfigBuildItem.java
Runtime context
- OpenTelemetry storage
extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/QuarkusContextStorage.java - Observation storage
extensions/observation/runtime/src/main/java/io/quarkus/observation/propagation/ObservationContextStorage.java - gRPC storage
extensions/grpc/runtime/src/main/java/io/grpc/override/ContextStorageOverride.java - Context executor
extensions/virtual-threads/runtime/src/main/java/io/quarkus/virtual/threads/ContextPreservingExecutorService.java
Framework extensions
- REST query params
extensions/resteasy-reactive/rest-client/runtime/src/main/java/io/quarkus/rest/client/reactive/ClientQueryParam.java - Query support
extensions/resteasy-reactive/rest-client/runtime/src/main/java/io/quarkus/rest/client/reactive/runtime/ClientQueryParamSupport.java - Authorization policies
extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/security/AuthorizationPolicyStorage.java - WebAuthn storage
extensions/security-webauthn/runtime/src/main/java/io/quarkus/security/webauthn/WebAuthnAuthenticatorStorage.java
Developer interface
- Dev UI
extensions/devui/resources/src/main/resources/dev-ui/controller/storage-controller.js
Other components
- Application developer
- Quarkus application
- Vert.x context
- WebAuthn user provider
- Browser storage
Connections 22
- Application developer → Quarkus augmentor: starts augmentation
- Quarkus augmentor → Extension loading: loads extensions
- Quarkus augmentor → Build chain: executes chain
- Build chain → Build steps: dispatches steps
- Build steps → Build items: produces items
- Quarkus augmentor → Code generation: runs code generation
- Quarkus augmentor → Native-image config: collects native config
- Quarkus application → OpenTelemetry storage: attaches context
- OpenTelemetry storage → Vert.x context: stores context
- Quarkus application → Observation storage: sets observation scope
- Observation storage → Vert.x context: stores scope
- Quarkus application → gRPC storage: attaches gRPC context
- gRPC storage → Vert.x context: stores context
- Quarkus application → Context executor: submits tasks
- Context executor → Vert.x context: dispatches with context
- Quarkus application → REST query params: configures client queries
- Query support → REST query params: checks query presence
- Quarkus application → Authorization policies: checks secured methods
- Quarkus application → WebAuthn storage: requests credential operations
- WebAuthn storage → WebAuthn user provider: delegates storage
- Quarkus application → Dev UI: uses extension storage
- Dev UI → Browser storage: reads and writes