Skip to content

Commit 393de61

Browse files
committed
Sync documentation of main branch
1 parent 494bbf6 commit 393de61

File tree

5 files changed

+122
-21
lines changed

5 files changed

+122
-21
lines changed

_data/versioned/main/index/quarkus.yaml

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ types:
55
- title: Authorization of web endpoints
66
filename: security-authorize-web-endpoints-reference.adoc
77
summary: Quarkus has an integrated pluggable web security layer.
8-
categories: "web, security"
8+
categories: "security, web"
99
id: security-authorize-web-endpoints-reference
1010
type: reference
1111
url: /guides/security-authorize-web-endpoints-reference
@@ -18,7 +18,7 @@ types:
1818
- title: Command Mode Applications
1919
filename: command-mode-reference.adoc
2020
summary: This reference guide explains how to develop command line applications with Quarkus.
21-
categories: "command-line, core"
21+
categories: "core, command-line"
2222
type: reference
2323
url: /guides/command-mode-reference
2424
- title: Configuration Reference Guide
@@ -131,14 +131,14 @@ types:
131131
- title: Authentication mechanisms in Quarkus
132132
filename: security-authentication-mechanisms-concept.adoc
133133
summary: "The Quarkus Security framework supports multiple authentication mechanisms, which you can use to secure your applications."
134-
categories: "web, security"
134+
categories: "security, web"
135135
id: security-authentication-mechanisms-concept
136136
type: concepts
137137
url: /guides/security-authentication-mechanisms-concept
138138
- title: Basic authentication
139139
filename: security-basic-authentication-concept.adoc
140140
summary: HTTP Basic authentication is one of the least resource-demanding techniques that enforce access controls to web resources.
141-
categories: "web, security"
141+
categories: "security, web"
142142
id: security-basic-authentication-concept
143143
type: concepts
144144
url: /guides/security-basic-authentication-concept
@@ -152,21 +152,21 @@ types:
152152
- title: OpenID Connect (OIDC) Bearer authentication
153153
filename: security-oidc-bearer-token-authentication-concept.adoc
154154
summary: Secure HTTP access to Jakarta REST (formerly known as JAX-RS) endpoints in your application with Bearer authentication by using the Quarkus OpenID Connect (OIDC) extension.
155-
categories: "web, security"
155+
categories: "security, web"
156156
id: security-oidc-bearer-token-authentication-concept
157157
type: concepts
158158
url: /guides/security-oidc-bearer-token-authentication-concept
159159
- title: OpenID Connect authorization code flow mechanism for protecting web applications
160160
filename: security-oidc-code-flow-authentication-concept.adoc
161161
summary: "To protect your web applications, you can use the authorization code flow mechanism provided by the Quarkus OpenID Connect (OIDC) extension."
162-
categories: "web, security"
162+
categories: "security, web"
163163
id: security-oidc-code-flow-authentication-concept
164164
type: concepts
165165
url: /guides/security-oidc-code-flow-authentication-concept
166166
- title: Proactive authentication
167167
filename: security-proactive-authentication-concept.adoc
168168
summary: Proactive authentication is enabled in Quarkus by default.
169-
categories: "web, security"
169+
categories: "security, web"
170170
id: security-proactive-authentication-concept
171171
type: concepts
172172
url: /guides/security-proactive-authentication-concept
@@ -243,7 +243,7 @@ types:
243243
- title: Configure data sources in Quarkus
244244
filename: datasource.adoc
245245
summary: Use a unified configuration model to define datasources for Java Database Connectivity (JDBC) and Reactive drivers.
246-
categories: "getting-started, data, reactive"
246+
categories: "getting-started, reactive, data"
247247
id: datasources
248248
type: tutorial
249249
url: /guides/datasource
@@ -276,7 +276,7 @@ types:
276276
- title: Protect a web application by using OpenID Connect (OIDC) authorization code flow
277277
filename: security-oidc-code-flow-authentication-tutorial.adoc
278278
summary: "With the Quarkus OpenID Connect (OIDC) extension, you can protect application HTTP endpoints by using the OIDC Authorization Code Flow mechanism."
279-
categories: "web, security"
279+
categories: "security, web"
280280
id: security-oidc-code-flow-authentication-tutorial
281281
type: tutorial
282282
url: /guides/security-oidc-code-flow-authentication-tutorial
@@ -289,7 +289,7 @@ types:
289289
- title: Secure a Quarkus application with Basic authentication and Jakarta Persistence
290290
filename: security-basic-authentication-tutorial.adoc
291291
summary: Secure your Quarkus application endpoints by combining the built-in Quarkus Basic authentication with the Jakarta Persistence identity provider to enable role-based access control (RBAC).
292-
categories: "getting-started, security"
292+
categories: "security, getting-started"
293293
id: security-basic-authentication-tutorial
294294
type: tutorial
295295
url: /guides/security-basic-authentication-tutorial
@@ -345,7 +345,7 @@ types:
345345
- title: AppCDS
346346
filename: appcds.adoc
347347
summary: This reference guide explains how to enable AppCDS with Quarkus.
348-
categories: "cloud, core"
348+
categories: "core, cloud"
349349
type: guide
350350
url: /guides/appcds
351351
- title: Application Data Caching
@@ -484,7 +484,7 @@ types:
484484
- title: Deploying on OpenShift
485485
filename: deploying-to-openshift.adoc
486486
summary: This guide covers how to deploy a native application on OpenShift.
487-
categories: "native, cloud"
487+
categories: "cloud, native"
488488
id: deploy-openshift
489489
type: guide
490490
url: /guides/deploying-to-openshift
@@ -751,7 +751,7 @@ types:
751751
- title: Kubernetes extension
752752
filename: deploying-to-kubernetes.adoc
753753
summary: This guide covers how to deploy a native application on Kubernetes.
754-
categories: "native, cloud"
754+
categories: "cloud, native"
755755
id: deploy-kubernetes
756756
type: guide
757757
url: /guides/deploying-to-kubernetes
@@ -961,7 +961,7 @@ types:
961961
- title: Simplified Hibernate ORM with Panache and Kotlin
962962
filename: hibernate-orm-panache-kotlin.adoc
963963
summary: This explains the specifics of using Hibernate ORM with Panache in a Kotlin project.
964-
categories: "data, alt-languages"
964+
categories: "alt-languages, data"
965965
type: guide
966966
url: /guides/hibernate-orm-panache-kotlin
967967
- title: Simplified Hibernate Reactive with Panache
@@ -979,13 +979,13 @@ types:
979979
- title: Simplified MongoDB with Panache and Kotlin
980980
filename: mongodb-panache-kotlin.adoc
981981
summary: This guide covers the usage of MongoDB using active records and repositories in a Kotlin project.
982-
categories: "data, alt-languages"
982+
categories: "alt-languages, data"
983983
type: guide
984984
url: /guides/mongodb-panache-kotlin
985985
- title: SmallRye Fault Tolerance
986986
filename: smallrye-fault-tolerance.adoc
987987
summary: This guide demonstrates how your Quarkus application can utilize the SmallRye Fault Tolerance specification through the SmallRye Fault Tolerance extension.
988-
categories: "web, observability"
988+
categories: "observability, web"
989989
type: guide
990990
url: /guides/smallrye-fault-tolerance
991991
- title: SmallRye GraphQL
@@ -1015,14 +1015,14 @@ types:
10151015
- title: Testing Your Application
10161016
filename: getting-started-testing.adoc
10171017
summary: "This guide covers testing in JVM mode, native mode, and injection of resources into tests"
1018-
categories: "tooling, native, core"
1018+
categories: "tooling, core, native"
10191019
id: testing
10201020
type: guide
10211021
url: /guides/getting-started-testing
10221022
- title: Tips for writing native applications
10231023
filename: writing-native-applications-tips.adoc
10241024
summary: This guide is a collection of tips to help you solve the problems you encounter when compiling applications to native executable.
1025-
categories: "native, core, writing-extensions"
1025+
categories: "writing-extensions, core, native"
10261026
type: guide
10271027
url: /guides/writing-native-applications-tips
10281028
- title: Update projects to the latest version of Quarkus
@@ -1158,7 +1158,7 @@ types:
11581158
- title: Using SSL With Native Executables
11591159
filename: native-and-ssl.adoc
11601160
summary: "In this guide, we will discuss how you can get your native images to support SSL, as native images don't support it out of the box."
1161-
categories: "native, security, core"
1161+
categories: "security, core, native"
11621162
type: guide
11631163
url: /guides/native-and-ssl
11641164
- title: Using Security with .properties File
@@ -1265,7 +1265,7 @@ types:
12651265
- title: Validation with Hibernate Validator
12661266
filename: validation.adoc
12671267
summary: This guide covers how to use Hibernate Validator/Bean Validation in your REST services.
1268-
categories: "web, data"
1268+
categories: "data, web"
12691269
type: guide
12701270
url: /guides/validation
12711271
- title: Writing JSON REST Services

_generated-doc/main/config/quarkus-all-build-items.adoc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1375,6 +1375,9 @@ a| `Config config` :: +++<i>No Javadoc found</i>+++
13751375
a| https://github.com/quarkusio/quarkus/blob/main/extensions/kubernetes-client/spi/src/main/java/io/quarkus/kubernetes/client/spi/KubernetesClientCapabilityBuildItem.java[`io.quarkus.kubernetes.client.spi.KubernetesClientCapabilityBuildItem`, window="_blank"] :: +++<i>No Javadoc found</i>+++
13761376
a| `boolean generateRbac` :: +++<i>No Javadoc found</i>+++
13771377
1378+
a| https://github.com/quarkusio/quarkus/blob/main/extensions/kubernetes-client/spi/src/main/java/io/quarkus/kubernetes/client/spi/KubernetesResourcesBuildItem.java[`io.quarkus.kubernetes.client.spi.KubernetesResourcesBuildItem`, window="_blank"] :: +++<i>No Javadoc found</i>+++
1379+
a| `String[] resourceClasses` :: +++<i>No Javadoc found</i>+++
1380+
13781381
|===
13791382
== Kubernetes Service Binding - SPI
13801383
[%header,cols=2*]

_versions/main/guides/_includes/devtools/create-app.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ _For more information about how to install the Quarkus CLI and use it, please re
6262
----
6363
mvn {quarkus-platform-groupid}:quarkus-maven-plugin:{quarkus-version}:create \
6464
ifdef::create-app-stream[]
65-
-DplatformVersion={create-app-stream} \
65+
-DplatformVersion={quarkus-version} \
6666
endif::[]
6767
-DprojectGroupId={create-app-group-id} \
6868
ifdef::create-app-extensions[]

_versions/main/guides/kubernetes-client.adoc

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,8 @@ In dev mode and when running tests, xref:kubernetes-dev-services.adoc[Dev Servic
6161

6262
Quarkus provides multiple integration points for influencing the Kubernetes Client provided as a CDI bean.
6363

64+
==== Kubernetes Client Config customization
65+
6466
The first integration point is the use of the `io.quarkus.kubernetes.client.KubernetesConfigCustomizer` interface. When such a bean exists,
6567
it allows for arbitrary customizations of the `io.fabric8.kubernetes.client.Config` created by Quarkus (which takes into account the `quarkus.kubernetes-client.*` properties).
6668

@@ -82,6 +84,47 @@ public class KubernetesClientProducer {
8284
}
8385
----
8486

87+
==== Kubernetes Client ObjectMapper customization
88+
89+
The Fabric8 Kubernetes Client uses its own `ObjectMapper` instance for serialization and deserialization of Kubernetes resources.
90+
This mapper is provided to the client through a `KubernetesSerialization` instance that's injected into
91+
the `KubernetesClient` bean.
92+
93+
If for some reason you must customize the default `ObjectMapper` bean provided by this extension and used by the Kubernetes Client, you can do so by declaring a bean that implements the `KubernetesClientObjectMapperCustomizer` interface.
94+
95+
The following code snippet contains an example of a `KubernetesClientObjectMapperCustomizer` to set the `ObjectMapper` locale:
96+
97+
[source,java]
98+
----
99+
@Singleton
100+
public static class Customizer implements KubernetesClientObjectMapperCustomizer {
101+
@Override
102+
public void customize(ObjectMapper objectMapper) {
103+
objectMapper.setLocale(Locale.ROOT);
104+
}
105+
}
106+
----
107+
108+
Furthermore, if you must replace the default `ObjectMapper` bean used by the Kubernetes Client that the extension creates automatically, you can do so by declaring a bean of type `@KubernetesClientObjectMapper`.
109+
The following code snippet shows how you can declare this bean:
110+
111+
[source,java]
112+
----
113+
@Singleton
114+
public class KubernetesObjectMapperProducer {
115+
@KubernetesClientObjectMapper
116+
@Singleton
117+
@Produces
118+
public ObjectMapper kubernetesClientObjectMapper() {
119+
return new ObjectMapper();
120+
}
121+
}
122+
----
123+
124+
125+
WARNING: The static `io.fabric8.kubernetes.client.utils.Serialization` utils class is deprecated and should not be used.
126+
Access to `Serialization.jsonMapper()` should be replaced by the usage of @KubernetesClientObjectMapperCustomizer` declared beans.
127+
85128
== Testing
86129

87130
To make testing against a mock Kubernetes API extremely simple, Quarkus provides the `WithKubernetesTestServer` annotation which automatically launches

_versions/main/guides/reactive-sql-clients.adoc

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -698,7 +698,10 @@ A typical configuration with several connections would look like:
698698
----
699699
quarkus.datasource.reactive.url=postgresql://host1:5432/default,postgresql://host2:5432/default,postgresql://host3:5432/default
700700
----
701+
701702
This can also be written with indexed property syntax:
703+
704+
[source,properties]
702705
----
703706
quarkus.datasource.reactive.url[0]=postgresql://host1:5432/default
704707
quarkus.datasource.reactive.url[1]=postgresql://host2:5432/default
@@ -771,6 +774,58 @@ public class CustomPgPoolCreator implements PgPoolCreator {
771774
}
772775
----
773776

777+
== Pipelining
778+
779+
The PostgreSQL and MariaDB/MySQL clients support pipelining of queries at the connection level.
780+
The feature consists in sending multiple queries on the same database connection without waiting for the corresponding responses.
781+
782+
In some use cases, query pipelining can improve database access performance.
783+
784+
Here's an example for PostgreSQL:
785+
786+
[source,java]
787+
----
788+
import jakarta.inject.Inject;
789+
790+
import io.smallrye.mutiny.Uni;
791+
import io.vertx.mutiny.pgclient.PgPool;
792+
793+
public class PipeliningExample {
794+
795+
@Inject
796+
PgPool client;
797+
798+
public Uni<String> favoriteFruitAndVegetable() {
799+
// Explicitely acquire a connection
800+
return client.withConnection(conn -> {
801+
Uni<String> favoriteFruit = conn.query("SELECT name FROM fruits WHERE preferred IS TRUE").execute()
802+
.onItem().transform(rows -> rows.iterator().next().getString("name"));
803+
Uni<String> favoriteVegetable = conn.query("SELECT name FROM vegetables WHERE preferred IS TRUE").execute()
804+
.onItem().transform(rows -> rows.iterator().next().getString("name"));
805+
// favoriteFruit and favoriteVegetable unis will be subscribed at the same time
806+
return Uni.combine().all().unis(favoriteFruit, favoriteVegetable)
807+
.combinedWith(PipeliningExample::formatMessage);
808+
});
809+
}
810+
811+
private static String formatMessage(String fruit, String vegetable) {
812+
return String.format("The favorite fruit is %s and the favorite vegetable is %s", fruit, vegetable);
813+
}
814+
}
815+
----
816+
817+
The maximum number of pipelined queries is configured with the `pipelining-limit` property:
818+
819+
[source,properties]
820+
----
821+
# For PostgreSQL
822+
quarkus.datasource.reactive.postgresql.pipelining-limit=256
823+
# For MariaDB/MySQL
824+
quarkus.datasource.reactive.mysql.pipelining-limit=256
825+
----
826+
827+
By default, `pipelining-limit` is set to 256.
828+
774829
== Configuration Reference
775830

776831
=== Common Datasource

0 commit comments

Comments
 (0)