Skip to content

Commit 1658c9f

Browse files
committed
Sync web site with Quarkus documentation
1 parent 7f5e245 commit 1658c9f

11 files changed

+207
-52
lines changed

_generated-doc/latest/config/quarkus-all-config.adoc

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69869,6 +69869,32 @@ endif::add-copy-button-to-env-var[]
6986969869
|string
6987069870
|
6987169871

69872+
a| [[quarkus-oidc_quarkus-oidc-resource-metadata-authorization-server]] [.property-path]##link:#quarkus-oidc_quarkus-oidc-resource-metadata-authorization-server[`quarkus.oidc.resource-metadata.authorization-server`]##
69873+
ifdef::add-copy-button-to-config-props[]
69874+
config_property_copy_button:+++quarkus.oidc.resource-metadata.authorization-server+++[]
69875+
endif::add-copy-button-to-config-props[]
69876+
69877+
69878+
`quarkus.oidc."tenant".resource-metadata.authorization-server`
69879+
ifdef::add-copy-button-to-config-props[]
69880+
config_property_copy_button:+++quarkus.oidc."tenant".resource-metadata.authorization-server+++[]
69881+
endif::add-copy-button-to-config-props[]
69882+
69883+
[.description]
69884+
--
69885+
Authorization server URL. 'quarkus.oidc.auth-server-url' property value is reported by default.
69886+
69887+
69888+
ifdef::add-copy-button-to-env-var[]
69889+
Environment variable: env_var_with_copy_button:+++QUARKUS_OIDC_RESOURCE_METADATA_AUTHORIZATION_SERVER+++[]
69890+
endif::add-copy-button-to-env-var[]
69891+
ifndef::add-copy-button-to-env-var[]
69892+
Environment variable: `+++QUARKUS_OIDC_RESOURCE_METADATA_AUTHORIZATION_SERVER+++`
69893+
endif::add-copy-button-to-env-var[]
69894+
--
69895+
|string
69896+
|
69897+
6987269898
a| [[quarkus-oidc_quarkus-oidc-resource-metadata-force-https-scheme]] [.property-path]##link:#quarkus-oidc_quarkus-oidc-resource-metadata-force-https-scheme[`quarkus.oidc.resource-metadata.force-https-scheme`]##
6987369899
ifdef::add-copy-button-to-config-props[]
6987469900
config_property_copy_button:+++quarkus.oidc.resource-metadata.force-https-scheme+++[]

_generated-doc/latest/config/quarkus-oidc.adoc

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1913,6 +1913,32 @@ endif::add-copy-button-to-env-var[]
19131913
|string
19141914
|
19151915

1916+
a| [[quarkus-oidc_quarkus-oidc-resource-metadata-authorization-server]] [.property-path]##link:#quarkus-oidc_quarkus-oidc-resource-metadata-authorization-server[`quarkus.oidc.resource-metadata.authorization-server`]##
1917+
ifdef::add-copy-button-to-config-props[]
1918+
config_property_copy_button:+++quarkus.oidc.resource-metadata.authorization-server+++[]
1919+
endif::add-copy-button-to-config-props[]
1920+
1921+
1922+
`quarkus.oidc."tenant".resource-metadata.authorization-server`
1923+
ifdef::add-copy-button-to-config-props[]
1924+
config_property_copy_button:+++quarkus.oidc."tenant".resource-metadata.authorization-server+++[]
1925+
endif::add-copy-button-to-config-props[]
1926+
1927+
[.description]
1928+
--
1929+
Authorization server URL. 'quarkus.oidc.auth-server-url' property value is reported by default.
1930+
1931+
1932+
ifdef::add-copy-button-to-env-var[]
1933+
Environment variable: env_var_with_copy_button:+++QUARKUS_OIDC_RESOURCE_METADATA_AUTHORIZATION_SERVER+++[]
1934+
endif::add-copy-button-to-env-var[]
1935+
ifndef::add-copy-button-to-env-var[]
1936+
Environment variable: `+++QUARKUS_OIDC_RESOURCE_METADATA_AUTHORIZATION_SERVER+++`
1937+
endif::add-copy-button-to-env-var[]
1938+
--
1939+
|string
1940+
|
1941+
19161942
a| [[quarkus-oidc_quarkus-oidc-resource-metadata-force-https-scheme]] [.property-path]##link:#quarkus-oidc_quarkus-oidc-resource-metadata-force-https-scheme[`quarkus.oidc.resource-metadata.force-https-scheme`]##
19171943
ifdef::add-copy-button-to-config-props[]
19181944
config_property_copy_button:+++quarkus.oidc.resource-metadata.force-https-scheme+++[]

_generated-doc/latest/config/quarkus-oidc_quarkus.oidc.adoc

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1913,6 +1913,32 @@ endif::add-copy-button-to-env-var[]
19131913
|string
19141914
|
19151915

1916+
a| [[quarkus-oidc_quarkus-oidc-resource-metadata-authorization-server]] [.property-path]##link:#quarkus-oidc_quarkus-oidc-resource-metadata-authorization-server[`quarkus.oidc.resource-metadata.authorization-server`]##
1917+
ifdef::add-copy-button-to-config-props[]
1918+
config_property_copy_button:+++quarkus.oidc.resource-metadata.authorization-server+++[]
1919+
endif::add-copy-button-to-config-props[]
1920+
1921+
1922+
`quarkus.oidc."tenant".resource-metadata.authorization-server`
1923+
ifdef::add-copy-button-to-config-props[]
1924+
config_property_copy_button:+++quarkus.oidc."tenant".resource-metadata.authorization-server+++[]
1925+
endif::add-copy-button-to-config-props[]
1926+
1927+
[.description]
1928+
--
1929+
Authorization server URL. 'quarkus.oidc.auth-server-url' property value is reported by default.
1930+
1931+
1932+
ifdef::add-copy-button-to-env-var[]
1933+
Environment variable: env_var_with_copy_button:+++QUARKUS_OIDC_RESOURCE_METADATA_AUTHORIZATION_SERVER+++[]
1934+
endif::add-copy-button-to-env-var[]
1935+
ifndef::add-copy-button-to-env-var[]
1936+
Environment variable: `+++QUARKUS_OIDC_RESOURCE_METADATA_AUTHORIZATION_SERVER+++`
1937+
endif::add-copy-button-to-env-var[]
1938+
--
1939+
|string
1940+
|
1941+
19161942
a| [[quarkus-oidc_quarkus-oidc-resource-metadata-force-https-scheme]] [.property-path]##link:#quarkus-oidc_quarkus-oidc-resource-metadata-force-https-scheme[`quarkus.oidc.resource-metadata.force-https-scheme`]##
19171943
ifdef::add-copy-button-to-config-props[]
19181944
config_property_copy_button:+++quarkus.oidc.resource-metadata.force-https-scheme+++[]

_guides/_attributes.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Common attributes.
22
// --> No blank lines (it ends the document header)
33
:project-name: Quarkus
4-
:quarkus-version: 3.26.2
4+
:quarkus-version: 3.26.3
55
:quarkus-platform-groupid: io.quarkus.platform
66
// .
77
:maven-version: 3.9.9

_guides/blaze-persistence.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ Add the following dependencies to your project:
5151
</dependency>
5252
<dependency>
5353
<groupId>com.blazebit</groupId>
54-
<artifactId>blaze-persistence-integration-hibernate-7.0</artifactId>
54+
<artifactId>blaze-persistence-integration-hibernate-7.1</artifactId>
5555
<scope>runtime</scope>
5656
</dependency>
5757
----
@@ -60,7 +60,7 @@ Add the following dependencies to your project:
6060
.Using Gradle
6161
----
6262
implementation("com.blazebit:blaze-persistence-integration-quarkus-3")
63-
runtimeOnly("com.blazebit:blaze-persistence-integration-hibernate-7.0")
63+
runtimeOnly("com.blazebit:blaze-persistence-integration-hibernate-7.1")
6464
----
6565

6666
The use in native images requires a dependency on the entity view annotation processor that may be extracted into a separate `native` profile:

_guides/building-native-image.adoc

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,16 @@ What does having a working C developer environment mean?
3939
sudo dnf install gcc glibc-devel zlib-devel libstdc++-static
4040
# Debian-based distributions:
4141
sudo apt-get install build-essential libz-dev zlib1g-dev
42+
# Arch Linux
43+
sudo pacman -S freetype2 gcc glibc lib32-gcc-libs zlib
4244
----
4345
* XCode provides the required dependencies on macOS:
4446
+
4547
[source,bash]
4648
----
4749
xcode-select --install
4850
----
49-
* On Windows, you will need to install the https://aka.ms/vs/15/release/vs_buildtools.exe[Visual Studio 2017 Visual C++ Build Tools]
51+
* On Windows, you will need to install the https://aka.ms/vs/17/release/vs_buildtools.exe[Visual Studio 2022 Visual C++ Build Tools]
5052
====
5153

5254
=== Background
@@ -220,7 +222,7 @@ Another solution is to write a script to do this for you:
220222
221223
[source,bash]
222224
----
223-
cmd /c 'call "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvars64.bat" && mvn package -Dnative'
225+
cmd /c 'call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" && mvn package -Dnative'
224226
----
225227
====
226228

_guides/extension-registry-user.adoc

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,3 +214,26 @@ image:registry-nexus-repository.png[Nexus Repository Proxy]
214214
- Set the `Remote Storage` URL to `https://registry.quarkus.io/maven`
215215

216216
image:registry-nexus3-repository.png[Nexus Repository Proxy]
217+
218+
==== Environment Variables
219+
220+
Applications using a registry client can be configured using environment variables.
221+
222+
`QUARKUS_REGISTRIES` environment variable can be used to specify which registries should be enabled as a comma-separated list of registry IDs.
223+
For example
224+
```
225+
QUARKUS_REGISTRIES=registry.acme.org,registry.quarkus.io
226+
```
227+
That alone will be enough to initialize a registry client to pull extension catalogs from two registries using their default configurations.
228+
229+
Certain registry options could be initialized with their specific environment variables. Each such option will have the following environment variable prefix:
230+
```
231+
QUARKUS_REGISTRY_<UPPERCASED_AND_UNDERSCORED_REGISTRY_ID>_
232+
```
233+
where `<UPPERCASED_AND_UNDERSCORED_REGISTRY_ID>` is a registry ID with each character converted to uppercase and a `.` replaced with `_`. For example, `REGISTRY_ACME_ORG`.
234+
235+
The following options can be configured with this approach:
236+
237+
- Repository URL, for example `QUARKUS_REGISTRY_REGISTRY_ACME_ORG_REPO_URL=https://internal.registry.acme.org/maven`
238+
- Update policy, for example `QUARKUS_REGISTRY_REGISTRY_ACME_ORG_UPDATE_POLICY=always`
239+
- Offering, for example `QUARKUS_REGISTRY_REGISTRY_ACME_ORG_OFFERING=acme-magic`

_guides/quarkus-runtime-base-image.adoc

Lines changed: 62 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -32,75 +32,74 @@ CMD ["./application", "-Dquarkus.http.host=0.0.0.0"]
3232
== Extending the image
3333

3434
Your application may have additional requirements.
35-
For example, if you have an application that requires `libfreetype.so`, you need to copy the native libraries to the container.
36-
In this case, you need to use a multi-stage `dockerfile` to copy the required libraries:
35+
For example, if you have an application that manipulates graphics, images, or PDFs, you likely have Quarkus AWT extension included in the project and your native executable will require some additional libraries to run.
36+
In this case, you need to use a multi-stage `dockerfile` to copy the required libraries.
3737

38-
[source, dockerfile]
39-
----
40-
# First stage - install the dependencies in an intermediate container
41-
FROM registry.access.redhat.com/ubi9/ubi-minimal:9.6 as BUILD
42-
RUN microdnf install freetype -y
43-
44-
# Second stage - copy the dependencies
45-
FROM quay.io/quarkus/ubi9-quarkus-micro-image:2.0
46-
COPY --from=BUILD \
47-
/lib64/libfreetype.so.6 \
48-
/lib64/libbz2.so.1 \
49-
/lib64/libpng16.so.16 \
50-
/lib64/
51-
52-
WORKDIR /work/
53-
COPY --chmod=0755 target/*-runner /work/application
54-
EXPOSE 8080
55-
CMD ["./application", "-Dquarkus.http.host=0.0.0.0"]
56-
----
38+
[WARNING]
39+
====
40+
Copying handpicked libraries makes up for a small container image, yet it is somewhat britte, differs for different base image versions, and it is a subject to change as transitive dependencies of these libraries might change.
41+
====
5742

58-
If you need to have access to the full AWT support, you need more than just `libfreetype.so`, but also the font and font configurations:
43+
[NOTE]
44+
====
45+
Headless graphics, PDF documents, QR code images etc. manipulation is natively supported on amd64/aarch64 Linux only. Neither Windows nor MacOS are supported and require running the application in a Linux container.
46+
====
5947

6048
[source, dockerfile]
6149
----
6250
# First stage - install the dependencies in an intermediate container
63-
FROM registry.access.redhat.com/ubi9/ubi-minimal:9.6 as BUILD
64-
RUN microdnf install freetype fontconfig -y
51+
FROM registry.access.redhat.com/ubi9/ubi-minimal:9.6 as nativelibs
52+
RUN microdnf install -y freetype fontconfig expat
6553
6654
# Second stage - copy the dependencies
6755
FROM quay.io/quarkus/ubi9-quarkus-micro-image:2.0
68-
COPY --from=BUILD \
56+
WORKDIR /work/
57+
COPY --from=nativelibs \
58+
/lib64/libz.so.1 \
59+
/lib64/libstdc++.so.6 \
6960
/lib64/libfreetype.so.6 \
7061
/lib64/libgcc_s.so.1 \
7162
/lib64/libbz2.so.1 \
7263
/lib64/libpng16.so.16 \
7364
/lib64/libm.so.6 \
74-
/lib64/libbz2.so.1 \
65+
/lib64/libexpat.so.1 \
7566
/lib64/libuuid.so.1 \
67+
/lib64/libxml2.so.2 \
68+
/lib64/libharfbuzz.so.0 \
69+
/lib64/libbrotlidec.so.1 \
70+
/lib64/libbrotlicommon.so.1 \
71+
/lib64/liblzma.so.5 \
72+
/lib64/libglib-2.0.so.0 \
73+
/lib64/libgraphite2.so.3 \
74+
/lib64/libpcre.so.1 \
7675
/lib64/
77-
78-
COPY --from=BUILD \
76+
COPY --from=nativelibs \
7977
/usr/lib64/libfontconfig.so.1 \
8078
/usr/lib64/
81-
82-
COPY --from=BUILD \
79+
COPY --from=nativelibs \
8380
/usr/share/fonts /usr/share/fonts
84-
85-
COPY --from=BUILD \
81+
COPY --from=nativelibs \
8682
/usr/share/fontconfig /usr/share/fontconfig
87-
88-
COPY --from=BUILD \
83+
COPY --from=nativelibs \
8984
/usr/lib/fontconfig /usr/lib/fontconfig
90-
91-
COPY --from=BUILD \
85+
COPY --from=nativelibs \
9286
/etc/fonts /etc/fonts
9387
94-
WORKDIR /work/
95-
COPY --chmod=0755 target/*-runner /work/application
88+
RUN chown 1001 /work \
89+
&& chmod "g+rwX" /work \
90+
&& chown 1001:root /work
91+
# Shared objects to be dynamically loaded at runtime as needed,
92+
COPY target/*.so /work/
93+
COPY --chown=1001:root --chmod=0755 target/*-runner /work/application
94+
9695
EXPOSE 8080
97-
CMD ["./application", "-Dquarkus.http.host=0.0.0.0"]
98-
----
96+
USER 1001
9997
98+
ENTRYPOINT ["./application", "-Dquarkus.http.host=0.0.0.0"]
99+
----
100100

101101
== Alternative - Using ubi-minimal
102102

103-
104103
If the micro image does not suit your requirements, you can use https://catalog.redhat.com/software/containers/ubi9-minimal/61832888c0d15aff4912fe0d[ubi9-minimal].
105104
It's a bigger image, but contains more utilities and is closer to a full Linux distribution.
106105
Typically, it contains a package manager (`microdnf`), so you can install packages more easily.
@@ -121,3 +120,25 @@ USER 1001
121120
122121
CMD ["./application", "-Dquarkus.http.host=0.0.0.0"]
123122
----
123+
124+
To make documents processing, graphics, PDFs, etc. available for the application, you can install the required libraries using `microdnf` without manually copying anything:
125+
126+
[source, dockerfile]
127+
----
128+
FROM registry.access.redhat.com/ubi9/ubi-minimal:9.6
129+
RUN microdnf install -y freetype fontconfig \
130+
&& microdnf clean all
131+
132+
WORKDIR /work/
133+
RUN chown 1001 /work \
134+
&& chmod "g+rwX" /work \
135+
&& chown 1001:root /work
136+
# Shared objects to be dynamically loaded at runtime as needed
137+
COPY --chown=1001:root target/*.so /work/
138+
COPY --chown=1001:root --chmod=0755 target/*-runner /work/application
139+
140+
EXPOSE 8080
141+
USER 1001
142+
143+
ENTRYPOINT ["./application", "-Dquarkus.http.host=0.0.0.0"]
144+
----

_guides/security-oidc-expanded-configuration.adoc

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1295,6 +1295,7 @@ In turn, a client that requested the protected resource metadata can use its pro
12951295

12961296
|quarkus.oidc.resource-metadata.enabled |false|Enable resource metadata properties
12971297
|quarkus.oidc.resource-metadata.resource ||Resource identifier
1298+
|quarkus.oidc.resource-metadata.authorization-server ||Authorization server URL
12981299
|quarkus.oidc.resource-metadata.force-https-scheme |true|Force that a resource identifier URL has an HTTPS scheme
12991300
|====
13001301

@@ -1307,7 +1308,9 @@ According to the https://datatracker.ietf.org/doc/rfc9728/[OAuth2 Protected Reso
13071308

13081309
If it is configured as a relative path then it is added to the current request URL's host and port to build a resource identifier URL. If it is not configured at all then, unless it is a default tenant id, the tenand id is added to the current request URL's host and port to build a resource identifier URL.
13091310

1310-
In such cases, the `quarkus.oidc.resource-metadata.force-https-scheme` property can be used to set a correct URL scheme, which is set to HTTPS by default.
1311+
The resource identifier URL scheme is set to `HTTPS` by default. You can enable an `HTTP` URL scheme with `quarkus.oidc.resource-metadata.force-https-scheme=false`, it can be particularly useful in simple demos and tests.
1312+
1313+
`quarkus.oidc.resource-metadata.authorization-server` allows to customize an authorization server URL that will be included in the resource metadata. The `quarkus.oidc.auth-server-url` URL is included by default, however, for some cases where an OIDC proxy interposes over the actual OIDC provider, returning the OIDC proxy's URL is required instead.
13111314

13121315
See also the <<oidc-metadata-properties>> for details about the OIDC provider metadata that Quarkus OIDC uses for its work.
13131316

_guides/security-openid-connect-client-reference.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -768,7 +768,7 @@ You can also inject named `Tokens`, see <<named-oidc-clients,Inject named OidcCl
768768
Additionally, the `quarkus.oidc-client.refresh-token-time-skew` property can be used for a preemptive access token refreshment to avoid sending nearly expired access tokens that might cause HTTP 401 errors. For example, if this property is set to `3S` and the access token will expire in less than 3 seconds, then this token will be auto-refreshed.
769769

770770

771-
By default, OIDC client refreshes the token during the current request, when it detects that it has expired, or nearly expired if the [refresh token time skew](https://quarkus.io/guides/security-openid-connect-client-reference#quarkus-oidc-client_quarkus-oidc-client-refresh-token-time-skew) is configured.
771+
By default, OIDC client refreshes the token during the current request, when it detects that it has expired, or nearly expired if the xref:#quarkus-oidc-client_quarkus-oidc-client-refresh-token-time-skew[refresh token time skew] is configured.
772772
Performance critical applications may want to avoid having to wait for a possible token refresh during the incoming requests and configure an asynchronous token refresh instead, for example:
773773

774774
[source,properties]

0 commit comments

Comments
 (0)