From 1bc68db77b8f8741e390ef859e518f357df8f904 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Tue, 26 Nov 2024 02:01:47 +0000 Subject: [PATCH] Sync documentation of main branch --- .../main/config/quarkus-all-config.adoc | 185 ++++++++++++++++-- _generated-doc/main/config/quarkus-arc.adoc | 14 +- .../main/config/quarkus-arc_quarkus.arc.adoc | 14 +- .../main/config/quarkus-azure-functions.adoc | 6 +- ...ure-functions_quarkus.azure-functions.adoc | 6 +- .../config/quarkus-container-image-jib.adoc | 8 +- ...arkus-container-image-jib_quarkus.jib.adoc | 8 +- .../config/quarkus-core_quarkus.native.adoc | 40 +++- .../quarkus-grpc_quarkus.generate-code.adoc | 4 +- _generated-doc/main/config/quarkus-qute.adoc | 4 +- .../config/quarkus-qute_quarkus.qute.adoc | 4 +- .../config/quarkus-rest-client-config.adoc | 4 +- ...est-client-config_quarkus.rest-client.adoc | 4 +- .../quarkus-rest-kotlin-serialization.adoc | 2 +- ...lization_quarkus.kotlin-serialization.adoc | 2 +- .../config/quarkus-security-webauthn.adoc | 4 +- ...us-security-webauthn_quarkus.webauthn.adoc | 4 +- .../quarkus-vertx-http_quarkus.http.adoc | 51 ++++- ...quarkus-vertx-http_quarkus.management.adoc | 48 +++++ .../conditional-extension-dependencies.adoc | 12 +- _versions/main/guides/rest.adoc | 3 + _versions/main/guides/security-jwt-build.adoc | 2 - 22 files changed, 381 insertions(+), 48 deletions(-) diff --git a/_generated-doc/main/config/quarkus-all-config.adoc b/_generated-doc/main/config/quarkus-all-config.adoc index a38d506fcc6..4d4722edfbf 100644 --- a/_generated-doc/main/config/quarkus-all-config.adoc +++ b/_generated-doc/main/config/quarkus-all-config.adoc @@ -994,6 +994,8 @@ endif::add-copy-button-to-config-props[] - If set to `none` (or `false`) no beans will ever be removed even if they are unused (according to the criteria set out below) - If set to `fwk`, then all unused beans will be removed, except the unused beans whose classes are declared in the application code + + An unused bean: - is not a built-in bean or interceptor, @@ -1118,7 +1120,9 @@ An element value can be: - a fully qualified class name, i.e. `org.acme.Foo` - a simple class name as defined by `Class++#++getSimpleName()`, i.e. `Foo` - a package name with suffix `.++*++`, i.e. `org.acme.++*++`, matches a package - - a package name with suffix `.++**++`, i.e. `org.acme.++**++`, matches a package that starts with the value Each element value is used to match an alternative bean class, an alternative stereotype annotation type or a bean class that declares an alternative producer. If any value matches then the priority of `Integer++#++MAX_VALUE` is used for the relevant bean. The priority declared via `jakarta.annotation.Priority` is overridden. + - a package name with suffix `.++**++`, i.e. `org.acme.++**++`, matches a package that starts with the value + +Each element value is used to match an alternative bean class, an alternative stereotype annotation type or a bean class that declares an alternative producer. If any value matches then the priority of `Integer++#++MAX_VALUE` is used for the relevant bean. The priority declared via `jakarta.annotation.Priority` is overridden. ifdef::add-copy-button-to-env-var[] @@ -1167,7 +1171,9 @@ An element value can be: - a fully qualified class name, i.e. `org.acme.Foo` - a simple class name as defined by `Class++#++getSimpleName()`, i.e. `Foo` - a package name with suffix `.++*++`, i.e. `org.acme.++*++`, matches a package - - a package name with suffix `.++**++`, i.e. `org.acme.++**++`, matches a package that starts with the value If any element value matches a discovered type then the type is excluded from discovery, i.e. no beans and observer methods are created from this type. + - a package name with suffix `.++**++`, i.e. `org.acme.++**++`, matches a package that starts with the value + +If any element value matches a discovered type then the type is excluded from discovery, i.e. no beans and observer methods are created from this type. ifdef::add-copy-button-to-env-var[] @@ -1195,7 +1201,9 @@ An element value can be: - a fully qualified class name, i.e. `org.acme.Foo` - a simple class name as defined by `Class++#++getSimpleName()`, i.e. `Foo` - a package name with suffix `.++*++`, i.e. `org.acme.++*++`, matches a package - - a package name with suffix `.++**++`, i.e. `org.acme.++**++`, matches a package that starts with the value If any element value matches a discovered bean, then such a bean is considered unremovable. + - a package name with suffix `.++**++`, i.e. `org.acme.++**++`, matches a package that starts with the value + +If any element value matches a discovered bean, then such a bean is considered unremovable. ifdef::add-copy-button-to-env-var[] @@ -1673,7 +1681,11 @@ Description of each type can be found link:https://github.com/microsoft/azure-ma - *key* Password for _service_principal_ if using password authentication - *certificate* Path to PEM file if using _service_principal_ - *certificate-password* Password for PEM file if it is password protected and if using _service_principal_ - - *environment* if using _service_principal_ Defaults to "azure_cli" for authentication + - *environment* if using _service_principal_ + + + +Defaults to "azure_cli" for authentication ifdef::add-copy-button-to-env-var[] @@ -3078,7 +3090,9 @@ If this is set, then it will be used as the entry point of the container image. - Entrypoint "INHERIT" means to inherit entrypoint from base image, `jvmArguments` field is used for arguments - A valid entrypoint is jar package specific (see `quarkus.package.jar.type`) - A valid entrypoint depends on the location of both the launching scripts and the application jar file. To that end it's helpful to remember that when `fast-jar` packaging is used (the default), all necessary application jars are added to the `/work` directory and that the same directory is also used as the working directory. When `legacy-jar` or `uber-jar` are used, the application jars are unpacked under the `/app` directory and that directory is used as the working directory. - - Even if the `jvmArguments` field is set, it is ignored completely unless entrypoint is "INHERIT" When this is not set, a proper default entrypoint will be constructed. As a final note, a very useful tool for inspecting container image layers that can greatly aid when debugging problems with endpoints is link:https://github.com/wagoodman/dive[dive] + - Even if the `jvmArguments` field is set, it is ignored completely unless entrypoint is "INHERIT" + +When this is not set, a proper default entrypoint will be constructed. As a final note, a very useful tool for inspecting container image layers that can greatly aid when debugging problems with endpoints is link:https://github.com/wagoodman/dive[dive] ifdef::add-copy-button-to-env-var[] @@ -3103,7 +3117,9 @@ If this is set, then it will be used as the entry point of the container image. - Entrypoint "INHERIT" means to inherit entrypoint from base image, `nativeArguments` field is used for arguments - A valid entrypoint depends on the location of both the launching scripts and the native binary file. To that end it's helpful to remember that the native application is added to the `/work` directory and that and the same directory is also used as the working directory - - Even if the `nativeArguments` field is set, it is ignored completely unless entrypoint is "INHERIT" When this is not set, a proper default entrypoint will be constructed. As a final note, a very useful tool for inspecting container image layers that can greatly aid when debugging problems with endpoints is link:https://github.com/wagoodman/dive[dive] + - Even if the `nativeArguments` field is set, it is ignored completely unless entrypoint is "INHERIT" + +When this is not set, a proper default entrypoint will be constructed. As a final note, a very useful tool for inspecting container image layers that can greatly aid when debugging problems with endpoints is link:https://github.com/wagoodman/dive[dive] ifdef::add-copy-button-to-env-var[] @@ -8868,13 +8884,47 @@ quarkus.native.resources.includes = foo/**,bar/**/*.txt the files `src/main/resources/foo/selected.png` and `bar/some.txt` will be included in the native image, while `src/main/resources/ignored.png` will not be included. -Supported glob features Feature Description `++*++` Matches a (possibly empty) sequence of characters that does not contain slash (`/`) `++**++` Matches a (possibly empty) sequence of characters that may contain slash (`/`) `?` Matches one character, but not slash `++[++abc++]++` Matches one character given in the bracket, but not slash `++[++a-z++]++` Matches one character from the range given in the bracket, but not slash `++[++!abc++]++` Matches one character not named in the bracket; does not match slash `++[++a-z++]++` Matches one character outside the range given in the bracket; does not match slash `++{++one,two,three++}++` Matches any of the alternating tokens separated by comma; the tokens may contain wildcards, nested alternations and ranges `++\++` The escape character +Supported glob features + +!=== +!Feature !Description + +!`++*++` +!Matches a (possibly empty) sequence of characters that does not contain slash (`/`) + +!`++**++` +!Matches a (possibly empty) sequence of characters that may contain slash (`/`) + +!`?` +!Matches one character, but not slash + +!`++[++abc++]++` +!Matches one character given in the bracket, but not slash + +!`++[++a-z++]++` +!Matches one character from the range given in the bracket, but not slash + +!`++[++\!abc++]++` +!Matches one character not named in the bracket; does not match slash + +!`++[++a-z++]++` +!Matches one character outside the range given in the bracket; does not match slash + +!`++{++one,two,three++}++` +!Matches any of the alternating tokens separated by comma; the tokens may contain wildcards, nested alternations and ranges + +!`++\++` +!The escape character +!=== + Note that there are three levels of escaping when passing this option via `application.properties`: . `application.properties` parser - - MicroProfile Config list converter that splits the comma separated list - - Glob parser All three levels use backslash (`++\++`) as the escaping character. So you need to use an appropriate number of backslashes depending on which level you want to escape. + . MicroProfile Config list converter that splits the comma separated list + . Glob parser + +All three levels use backslash (`++\++`) as the escaping character. So you need to use an appropriate number of backslashes depending on which level you want to escape. Note that Quarkus extensions typically include the resources they require by themselves. This option is useful in situations when the built-in functionality is not sufficient. @@ -12069,9 +12119,10 @@ Require that all registered HTTP authentication mechanisms must complete the aut Typically, this property has to be true when the credentials are carried over mTLS, when both mTLS and another authentication, for example, OIDC bearer token authentication, must succeed. In such cases, `SecurityIdentity` created by the first mechanism, mTLS, can be injected, identities created by other mechanisms will be available on `SecurityIdentity`. The identities can be retrieved using utility method as in the example below: ``` +`io.quarkus.vertx.http.runtime.security.HttpSecurityUtils.getSecurityIdentities(securityIdentity)` ``` -`io.quarkus.vertx.http.runtime.security.HttpSecurityUtils.getSecurityIdentities(securityIdentity)` + This property is false by default which means that the authentication process is complete as soon as the first `SecurityIdentity` is created. @@ -15463,6 +15514,50 @@ endif::add-copy-button-to-env-var[] |boolean | +a| [[quarkus-vertx-http_quarkus-http-proxy-strict-forwarded-control]] [.property-path]##link:#quarkus-vertx-http_quarkus-http-proxy-strict-forwarded-control[`quarkus.http.proxy.strict-forwarded-control`]## +ifdef::add-copy-button-to-config-props[] +config_property_copy_button:+++quarkus.http.proxy.strict-forwarded-control+++[] +endif::add-copy-button-to-config-props[] + + +[.description] +-- +When both Forwarded and X-Forwarded headers are enabled with `allow-forwarded` and `allow-x-forwarded` respectively, enforce that the identical headers must have equal values. + + +ifdef::add-copy-button-to-env-var[] +Environment variable: env_var_with_copy_button:+++QUARKUS_HTTP_PROXY_STRICT_FORWARDED_CONTROL+++[] +endif::add-copy-button-to-env-var[] +ifndef::add-copy-button-to-env-var[] +Environment variable: `+++QUARKUS_HTTP_PROXY_STRICT_FORWARDED_CONTROL+++` +endif::add-copy-button-to-env-var[] +-- +|boolean +|`true` + +a| [[quarkus-vertx-http_quarkus-http-proxy-forwarded-precedence]] [.property-path]##link:#quarkus-vertx-http_quarkus-http-proxy-forwarded-precedence[`quarkus.http.proxy.forwarded-precedence`]## +ifdef::add-copy-button-to-config-props[] +config_property_copy_button:+++quarkus.http.proxy.forwarded-precedence+++[] +endif::add-copy-button-to-config-props[] + + +[.description] +-- +When both Forwarded and X-Forwarded headers are enabled with `allow-forwarded` and `allow-x-forwarded` respectively, and `strict-forwarded-control` enforcing that the identical headers must have equal values is disabled, choose if it is Forwarded or X-Forwarded matching header value that is preferred. + +For example, if Forwarded has a precedence over X-Forwarded, Forwarded scheme is `http` and X-Forwarded scheme is `https`, then the final scheme value is `http`. If X-Forwarded has a precedence, then the final scheme value is 'https'. + + +ifdef::add-copy-button-to-env-var[] +Environment variable: env_var_with_copy_button:+++QUARKUS_HTTP_PROXY_FORWARDED_PRECEDENCE+++[] +endif::add-copy-button-to-env-var[] +ifndef::add-copy-button-to-env-var[] +Environment variable: `+++QUARKUS_HTTP_PROXY_FORWARDED_PRECEDENCE+++` +endif::add-copy-button-to-env-var[] +-- +a|`forwarded`, `x-forwarded` +|`forwarded` + a| [[quarkus-vertx-http_quarkus-http-proxy-enable-forwarded-host]] [.property-path]##link:#quarkus-vertx-http_quarkus-http-proxy-enable-forwarded-host[`quarkus.http.proxy.enable-forwarded-host`]## ifdef::add-copy-button-to-config-props[] config_property_copy_button:+++quarkus.http.proxy.enable-forwarded-host+++[] @@ -15591,12 +15686,16 @@ Examples of a socket address in the form of `host` or `host:port`: - `localhost` - `localhost:8084` + + Examples of a CIDR notation: - `::/128` - `::/0` - `127.0.0.0/8` + + Please bear in mind that IPv4 CIDR won't match request sent from the IPv6 address and the other way around. @@ -17138,6 +17237,50 @@ endif::add-copy-button-to-env-var[] |boolean | +a| [[quarkus-vertx-http_quarkus-management-proxy-strict-forwarded-control]] [.property-path]##link:#quarkus-vertx-http_quarkus-management-proxy-strict-forwarded-control[`quarkus.management.proxy.strict-forwarded-control`]## +ifdef::add-copy-button-to-config-props[] +config_property_copy_button:+++quarkus.management.proxy.strict-forwarded-control+++[] +endif::add-copy-button-to-config-props[] + + +[.description] +-- +When both Forwarded and X-Forwarded headers are enabled with `allow-forwarded` and `allow-x-forwarded` respectively, enforce that the identical headers must have equal values. + + +ifdef::add-copy-button-to-env-var[] +Environment variable: env_var_with_copy_button:+++QUARKUS_MANAGEMENT_PROXY_STRICT_FORWARDED_CONTROL+++[] +endif::add-copy-button-to-env-var[] +ifndef::add-copy-button-to-env-var[] +Environment variable: `+++QUARKUS_MANAGEMENT_PROXY_STRICT_FORWARDED_CONTROL+++` +endif::add-copy-button-to-env-var[] +-- +|boolean +|`true` + +a| [[quarkus-vertx-http_quarkus-management-proxy-forwarded-precedence]] [.property-path]##link:#quarkus-vertx-http_quarkus-management-proxy-forwarded-precedence[`quarkus.management.proxy.forwarded-precedence`]## +ifdef::add-copy-button-to-config-props[] +config_property_copy_button:+++quarkus.management.proxy.forwarded-precedence+++[] +endif::add-copy-button-to-config-props[] + + +[.description] +-- +When both Forwarded and X-Forwarded headers are enabled with `allow-forwarded` and `allow-x-forwarded` respectively, and `strict-forwarded-control` enforcing that the identical headers must have equal values is disabled, choose if it is Forwarded or X-Forwarded matching header value that is preferred. + +For example, if Forwarded has a precedence over X-Forwarded, Forwarded scheme is `http` and X-Forwarded scheme is `https`, then the final scheme value is `http`. If X-Forwarded has a precedence, then the final scheme value is 'https'. + + +ifdef::add-copy-button-to-env-var[] +Environment variable: env_var_with_copy_button:+++QUARKUS_MANAGEMENT_PROXY_FORWARDED_PRECEDENCE+++[] +endif::add-copy-button-to-env-var[] +ifndef::add-copy-button-to-env-var[] +Environment variable: `+++QUARKUS_MANAGEMENT_PROXY_FORWARDED_PRECEDENCE+++` +endif::add-copy-button-to-env-var[] +-- +a|`forwarded`, `x-forwarded` +|`forwarded` + a| [[quarkus-vertx-http_quarkus-management-proxy-enable-forwarded-host]] [.property-path]##link:#quarkus-vertx-http_quarkus-management-proxy-enable-forwarded-host[`quarkus.management.proxy.enable-forwarded-host`]## ifdef::add-copy-button-to-config-props[] config_property_copy_button:+++quarkus.management.proxy.enable-forwarded-host+++[] @@ -17266,12 +17409,16 @@ Examples of a socket address in the form of `host` or `host:port`: - `localhost` - `localhost:8084` + + Examples of a CIDR notation: - `::/128` - `::/0` - `127.0.0.0/8` + + Please bear in mind that IPv4 CIDR won't match request sent from the IPv6 address and the other way around. @@ -21234,7 +21381,9 @@ Specify the dependencies that are allowed to have proto files that can be import - _none_ - default - don't scan dependencies - a comma separated list of _groupId:artifactId_ coordinates to scan - - _all_ - scan all dependencies By default, _com.google.protobuf:protobuf-java_. + - _all_ - scan all dependencies + +By default, _com.google.protobuf:protobuf-java_. ifdef::add-copy-button-to-env-var[] @@ -76649,7 +76798,9 @@ A valid prefix consists of alphanumeric characters and underscores. Three specia - `` - the alias of an iterated element suffixed with an underscore is used, e.g. `item_hasNext` and `it_count` - `` - the alias of an iterated element suffixed with a question mark is used, e.g. `item?hasNext` and `it?count` - - `` - no prefix is used, e.g. `hasNext` and `count` By default, the `` constant is set. + - `` - no prefix is used, e.g. `hasNext` and `count` + +By default, the `` constant is set. ifdef::add-copy-button-to-env-var[] @@ -83411,7 +83562,9 @@ The possible values are: - `request-response` - enables logging request and responses, including redirect responses - `all` - enables logging requests and responses and lower-level logging - - `none` - no additional logging This property is applicable to reactive REST clients only. + - `none` - no additional logging + +This property is applicable to reactive REST clients only. ifdef::add-copy-button-to-env-var[] @@ -84573,7 +84726,7 @@ Specifies the `JsonNamingStrategy` that should be used for all properties in cla This element can be one of two things: . the fully qualified class name of a type implements the `NamingStrategy` interface and has a no-arg constructor - - a value in the form `NamingStrategy.SnakeCase` which refers to built-in values provided by the kotlin serialization library itself. + . a value in the form `NamingStrategy.SnakeCase` which refers to built-in values provided by the kotlin serialization library itself. ifdef::add-copy-button-to-env-var[] @@ -85707,7 +85860,9 @@ endif::add-copy-button-to-config-props[] Kind of Authenticator Attachment allowed. Authenticators can connect to your device in two forms: - `PLATFORM` - The Authenticator is built-in to your device (e.g.: Security chip) - - `CROSS_PLATFORM` - The Authenticator can roam across devices (e.g.: USB Authenticator) For security reasons your application may choose to restrict to a specific attachment mode. If omitted, then any mode is permitted. + - `CROSS_PLATFORM` - The Authenticator can roam across devices (e.g.: USB Authenticator) + +For security reasons your application may choose to restrict to a specific attachment mode. If omitted, then any mode is permitted. ifdef::add-copy-button-to-env-var[] diff --git a/_generated-doc/main/config/quarkus-arc.adoc b/_generated-doc/main/config/quarkus-arc.adoc index f18df11150a..458ca70cc29 100644 --- a/_generated-doc/main/config/quarkus-arc.adoc +++ b/_generated-doc/main/config/quarkus-arc.adoc @@ -19,6 +19,8 @@ endif::add-copy-button-to-config-props[] - If set to `none` (or `false`) no beans will ever be removed even if they are unused (according to the criteria set out below) - If set to `fwk`, then all unused beans will be removed, except the unused beans whose classes are declared in the application code + + An unused bean: - is not a built-in bean or interceptor, @@ -143,7 +145,9 @@ An element value can be: - a fully qualified class name, i.e. `org.acme.Foo` - a simple class name as defined by `Class++#++getSimpleName()`, i.e. `Foo` - a package name with suffix `.++*++`, i.e. `org.acme.++*++`, matches a package - - a package name with suffix `.++**++`, i.e. `org.acme.++**++`, matches a package that starts with the value Each element value is used to match an alternative bean class, an alternative stereotype annotation type or a bean class that declares an alternative producer. If any value matches then the priority of `Integer++#++MAX_VALUE` is used for the relevant bean. The priority declared via `jakarta.annotation.Priority` is overridden. + - a package name with suffix `.++**++`, i.e. `org.acme.++**++`, matches a package that starts with the value + +Each element value is used to match an alternative bean class, an alternative stereotype annotation type or a bean class that declares an alternative producer. If any value matches then the priority of `Integer++#++MAX_VALUE` is used for the relevant bean. The priority declared via `jakarta.annotation.Priority` is overridden. ifdef::add-copy-button-to-env-var[] @@ -192,7 +196,9 @@ An element value can be: - a fully qualified class name, i.e. `org.acme.Foo` - a simple class name as defined by `Class++#++getSimpleName()`, i.e. `Foo` - a package name with suffix `.++*++`, i.e. `org.acme.++*++`, matches a package - - a package name with suffix `.++**++`, i.e. `org.acme.++**++`, matches a package that starts with the value If any element value matches a discovered type then the type is excluded from discovery, i.e. no beans and observer methods are created from this type. + - a package name with suffix `.++**++`, i.e. `org.acme.++**++`, matches a package that starts with the value + +If any element value matches a discovered type then the type is excluded from discovery, i.e. no beans and observer methods are created from this type. ifdef::add-copy-button-to-env-var[] @@ -220,7 +226,9 @@ An element value can be: - a fully qualified class name, i.e. `org.acme.Foo` - a simple class name as defined by `Class++#++getSimpleName()`, i.e. `Foo` - a package name with suffix `.++*++`, i.e. `org.acme.++*++`, matches a package - - a package name with suffix `.++**++`, i.e. `org.acme.++**++`, matches a package that starts with the value If any element value matches a discovered bean, then such a bean is considered unremovable. + - a package name with suffix `.++**++`, i.e. `org.acme.++**++`, matches a package that starts with the value + +If any element value matches a discovered bean, then such a bean is considered unremovable. ifdef::add-copy-button-to-env-var[] diff --git a/_generated-doc/main/config/quarkus-arc_quarkus.arc.adoc b/_generated-doc/main/config/quarkus-arc_quarkus.arc.adoc index f18df11150a..458ca70cc29 100644 --- a/_generated-doc/main/config/quarkus-arc_quarkus.arc.adoc +++ b/_generated-doc/main/config/quarkus-arc_quarkus.arc.adoc @@ -19,6 +19,8 @@ endif::add-copy-button-to-config-props[] - If set to `none` (or `false`) no beans will ever be removed even if they are unused (according to the criteria set out below) - If set to `fwk`, then all unused beans will be removed, except the unused beans whose classes are declared in the application code + + An unused bean: - is not a built-in bean or interceptor, @@ -143,7 +145,9 @@ An element value can be: - a fully qualified class name, i.e. `org.acme.Foo` - a simple class name as defined by `Class++#++getSimpleName()`, i.e. `Foo` - a package name with suffix `.++*++`, i.e. `org.acme.++*++`, matches a package - - a package name with suffix `.++**++`, i.e. `org.acme.++**++`, matches a package that starts with the value Each element value is used to match an alternative bean class, an alternative stereotype annotation type or a bean class that declares an alternative producer. If any value matches then the priority of `Integer++#++MAX_VALUE` is used for the relevant bean. The priority declared via `jakarta.annotation.Priority` is overridden. + - a package name with suffix `.++**++`, i.e. `org.acme.++**++`, matches a package that starts with the value + +Each element value is used to match an alternative bean class, an alternative stereotype annotation type or a bean class that declares an alternative producer. If any value matches then the priority of `Integer++#++MAX_VALUE` is used for the relevant bean. The priority declared via `jakarta.annotation.Priority` is overridden. ifdef::add-copy-button-to-env-var[] @@ -192,7 +196,9 @@ An element value can be: - a fully qualified class name, i.e. `org.acme.Foo` - a simple class name as defined by `Class++#++getSimpleName()`, i.e. `Foo` - a package name with suffix `.++*++`, i.e. `org.acme.++*++`, matches a package - - a package name with suffix `.++**++`, i.e. `org.acme.++**++`, matches a package that starts with the value If any element value matches a discovered type then the type is excluded from discovery, i.e. no beans and observer methods are created from this type. + - a package name with suffix `.++**++`, i.e. `org.acme.++**++`, matches a package that starts with the value + +If any element value matches a discovered type then the type is excluded from discovery, i.e. no beans and observer methods are created from this type. ifdef::add-copy-button-to-env-var[] @@ -220,7 +226,9 @@ An element value can be: - a fully qualified class name, i.e. `org.acme.Foo` - a simple class name as defined by `Class++#++getSimpleName()`, i.e. `Foo` - a package name with suffix `.++*++`, i.e. `org.acme.++*++`, matches a package - - a package name with suffix `.++**++`, i.e. `org.acme.++**++`, matches a package that starts with the value If any element value matches a discovered bean, then such a bean is considered unremovable. + - a package name with suffix `.++**++`, i.e. `org.acme.++**++`, matches a package that starts with the value + +If any element value matches a discovered bean, then such a bean is considered unremovable. ifdef::add-copy-button-to-env-var[] diff --git a/_generated-doc/main/config/quarkus-azure-functions.adoc b/_generated-doc/main/config/quarkus-azure-functions.adoc index 826948f1670..69d3a2acf2a 100644 --- a/_generated-doc/main/config/quarkus-azure-functions.adoc +++ b/_generated-doc/main/config/quarkus-azure-functions.adoc @@ -218,7 +218,11 @@ Description of each type can be found link:https://github.com/microsoft/azure-ma - *key* Password for _service_principal_ if using password authentication - *certificate* Path to PEM file if using _service_principal_ - *certificate-password* Password for PEM file if it is password protected and if using _service_principal_ - - *environment* if using _service_principal_ Defaults to "azure_cli" for authentication + - *environment* if using _service_principal_ + + + +Defaults to "azure_cli" for authentication ifdef::add-copy-button-to-env-var[] diff --git a/_generated-doc/main/config/quarkus-azure-functions_quarkus.azure-functions.adoc b/_generated-doc/main/config/quarkus-azure-functions_quarkus.azure-functions.adoc index 826948f1670..69d3a2acf2a 100644 --- a/_generated-doc/main/config/quarkus-azure-functions_quarkus.azure-functions.adoc +++ b/_generated-doc/main/config/quarkus-azure-functions_quarkus.azure-functions.adoc @@ -218,7 +218,11 @@ Description of each type can be found link:https://github.com/microsoft/azure-ma - *key* Password for _service_principal_ if using password authentication - *certificate* Path to PEM file if using _service_principal_ - *certificate-password* Password for PEM file if it is password protected and if using _service_principal_ - - *environment* if using _service_principal_ Defaults to "azure_cli" for authentication + - *environment* if using _service_principal_ + + + +Defaults to "azure_cli" for authentication ifdef::add-copy-button-to-env-var[] diff --git a/_generated-doc/main/config/quarkus-container-image-jib.adoc b/_generated-doc/main/config/quarkus-container-image-jib.adoc index 1621ed5c69b..66338a2252e 100644 --- a/_generated-doc/main/config/quarkus-container-image-jib.adoc +++ b/_generated-doc/main/config/quarkus-container-image-jib.adoc @@ -125,7 +125,9 @@ If this is set, then it will be used as the entry point of the container image. - Entrypoint "INHERIT" means to inherit entrypoint from base image, `jvmArguments` field is used for arguments - A valid entrypoint is jar package specific (see `quarkus.package.jar.type`) - A valid entrypoint depends on the location of both the launching scripts and the application jar file. To that end it's helpful to remember that when `fast-jar` packaging is used (the default), all necessary application jars are added to the `/work` directory and that the same directory is also used as the working directory. When `legacy-jar` or `uber-jar` are used, the application jars are unpacked under the `/app` directory and that directory is used as the working directory. - - Even if the `jvmArguments` field is set, it is ignored completely unless entrypoint is "INHERIT" When this is not set, a proper default entrypoint will be constructed. As a final note, a very useful tool for inspecting container image layers that can greatly aid when debugging problems with endpoints is link:https://github.com/wagoodman/dive[dive] + - Even if the `jvmArguments` field is set, it is ignored completely unless entrypoint is "INHERIT" + +When this is not set, a proper default entrypoint will be constructed. As a final note, a very useful tool for inspecting container image layers that can greatly aid when debugging problems with endpoints is link:https://github.com/wagoodman/dive[dive] ifdef::add-copy-button-to-env-var[] @@ -150,7 +152,9 @@ If this is set, then it will be used as the entry point of the container image. - Entrypoint "INHERIT" means to inherit entrypoint from base image, `nativeArguments` field is used for arguments - A valid entrypoint depends on the location of both the launching scripts and the native binary file. To that end it's helpful to remember that the native application is added to the `/work` directory and that and the same directory is also used as the working directory - - Even if the `nativeArguments` field is set, it is ignored completely unless entrypoint is "INHERIT" When this is not set, a proper default entrypoint will be constructed. As a final note, a very useful tool for inspecting container image layers that can greatly aid when debugging problems with endpoints is link:https://github.com/wagoodman/dive[dive] + - Even if the `nativeArguments` field is set, it is ignored completely unless entrypoint is "INHERIT" + +When this is not set, a proper default entrypoint will be constructed. As a final note, a very useful tool for inspecting container image layers that can greatly aid when debugging problems with endpoints is link:https://github.com/wagoodman/dive[dive] ifdef::add-copy-button-to-env-var[] diff --git a/_generated-doc/main/config/quarkus-container-image-jib_quarkus.jib.adoc b/_generated-doc/main/config/quarkus-container-image-jib_quarkus.jib.adoc index 1621ed5c69b..66338a2252e 100644 --- a/_generated-doc/main/config/quarkus-container-image-jib_quarkus.jib.adoc +++ b/_generated-doc/main/config/quarkus-container-image-jib_quarkus.jib.adoc @@ -125,7 +125,9 @@ If this is set, then it will be used as the entry point of the container image. - Entrypoint "INHERIT" means to inherit entrypoint from base image, `jvmArguments` field is used for arguments - A valid entrypoint is jar package specific (see `quarkus.package.jar.type`) - A valid entrypoint depends on the location of both the launching scripts and the application jar file. To that end it's helpful to remember that when `fast-jar` packaging is used (the default), all necessary application jars are added to the `/work` directory and that the same directory is also used as the working directory. When `legacy-jar` or `uber-jar` are used, the application jars are unpacked under the `/app` directory and that directory is used as the working directory. - - Even if the `jvmArguments` field is set, it is ignored completely unless entrypoint is "INHERIT" When this is not set, a proper default entrypoint will be constructed. As a final note, a very useful tool for inspecting container image layers that can greatly aid when debugging problems with endpoints is link:https://github.com/wagoodman/dive[dive] + - Even if the `jvmArguments` field is set, it is ignored completely unless entrypoint is "INHERIT" + +When this is not set, a proper default entrypoint will be constructed. As a final note, a very useful tool for inspecting container image layers that can greatly aid when debugging problems with endpoints is link:https://github.com/wagoodman/dive[dive] ifdef::add-copy-button-to-env-var[] @@ -150,7 +152,9 @@ If this is set, then it will be used as the entry point of the container image. - Entrypoint "INHERIT" means to inherit entrypoint from base image, `nativeArguments` field is used for arguments - A valid entrypoint depends on the location of both the launching scripts and the native binary file. To that end it's helpful to remember that the native application is added to the `/work` directory and that and the same directory is also used as the working directory - - Even if the `nativeArguments` field is set, it is ignored completely unless entrypoint is "INHERIT" When this is not set, a proper default entrypoint will be constructed. As a final note, a very useful tool for inspecting container image layers that can greatly aid when debugging problems with endpoints is link:https://github.com/wagoodman/dive[dive] + - Even if the `nativeArguments` field is set, it is ignored completely unless entrypoint is "INHERIT" + +When this is not set, a proper default entrypoint will be constructed. As a final note, a very useful tool for inspecting container image layers that can greatly aid when debugging problems with endpoints is link:https://github.com/wagoodman/dive[dive] ifdef::add-copy-button-to-env-var[] diff --git a/_generated-doc/main/config/quarkus-core_quarkus.native.adoc b/_generated-doc/main/config/quarkus-core_quarkus.native.adoc index a6829f45254..c4011f61fa0 100644 --- a/_generated-doc/main/config/quarkus-core_quarkus.native.adoc +++ b/_generated-doc/main/config/quarkus-core_quarkus.native.adoc @@ -677,13 +677,47 @@ quarkus.native.resources.includes = foo/**,bar/**/*.txt the files `src/main/resources/foo/selected.png` and `bar/some.txt` will be included in the native image, while `src/main/resources/ignored.png` will not be included. -Supported glob features Feature Description `++*++` Matches a (possibly empty) sequence of characters that does not contain slash (`/`) `++**++` Matches a (possibly empty) sequence of characters that may contain slash (`/`) `?` Matches one character, but not slash `++[++abc++]++` Matches one character given in the bracket, but not slash `++[++a-z++]++` Matches one character from the range given in the bracket, but not slash `++[++!abc++]++` Matches one character not named in the bracket; does not match slash `++[++a-z++]++` Matches one character outside the range given in the bracket; does not match slash `++{++one,two,three++}++` Matches any of the alternating tokens separated by comma; the tokens may contain wildcards, nested alternations and ranges `++\++` The escape character +Supported glob features + +!=== +!Feature !Description + +!`++*++` +!Matches a (possibly empty) sequence of characters that does not contain slash (`/`) + +!`++**++` +!Matches a (possibly empty) sequence of characters that may contain slash (`/`) + +!`?` +!Matches one character, but not slash + +!`++[++abc++]++` +!Matches one character given in the bracket, but not slash + +!`++[++a-z++]++` +!Matches one character from the range given in the bracket, but not slash + +!`++[++\!abc++]++` +!Matches one character not named in the bracket; does not match slash + +!`++[++a-z++]++` +!Matches one character outside the range given in the bracket; does not match slash + +!`++{++one,two,three++}++` +!Matches any of the alternating tokens separated by comma; the tokens may contain wildcards, nested alternations and ranges + +!`++\++` +!The escape character +!=== + Note that there are three levels of escaping when passing this option via `application.properties`: . `application.properties` parser - - MicroProfile Config list converter that splits the comma separated list - - Glob parser All three levels use backslash (`++\++`) as the escaping character. So you need to use an appropriate number of backslashes depending on which level you want to escape. + . MicroProfile Config list converter that splits the comma separated list + . Glob parser + +All three levels use backslash (`++\++`) as the escaping character. So you need to use an appropriate number of backslashes depending on which level you want to escape. Note that Quarkus extensions typically include the resources they require by themselves. This option is useful in situations when the built-in functionality is not sufficient. diff --git a/_generated-doc/main/config/quarkus-grpc_quarkus.generate-code.adoc b/_generated-doc/main/config/quarkus-grpc_quarkus.generate-code.adoc index 87c98985956..79995167c69 100644 --- a/_generated-doc/main/config/quarkus-grpc_quarkus.generate-code.adoc +++ b/_generated-doc/main/config/quarkus-grpc_quarkus.generate-code.adoc @@ -44,7 +44,9 @@ Specify the dependencies that are allowed to have proto files that can be import - _none_ - default - don't scan dependencies - a comma separated list of _groupId:artifactId_ coordinates to scan - - _all_ - scan all dependencies By default, _com.google.protobuf:protobuf-java_. + - _all_ - scan all dependencies + +By default, _com.google.protobuf:protobuf-java_. ifdef::add-copy-button-to-env-var[] diff --git a/_generated-doc/main/config/quarkus-qute.adoc b/_generated-doc/main/config/quarkus-qute.adoc index 7b6e88460f9..b1e100b697d 100644 --- a/_generated-doc/main/config/quarkus-qute.adoc +++ b/_generated-doc/main/config/quarkus-qute.adoc @@ -119,7 +119,9 @@ A valid prefix consists of alphanumeric characters and underscores. Three specia - `` - the alias of an iterated element suffixed with an underscore is used, e.g. `item_hasNext` and `it_count` - `` - the alias of an iterated element suffixed with a question mark is used, e.g. `item?hasNext` and `it?count` - - `` - no prefix is used, e.g. `hasNext` and `count` By default, the `` constant is set. + - `` - no prefix is used, e.g. `hasNext` and `count` + +By default, the `` constant is set. ifdef::add-copy-button-to-env-var[] diff --git a/_generated-doc/main/config/quarkus-qute_quarkus.qute.adoc b/_generated-doc/main/config/quarkus-qute_quarkus.qute.adoc index 7b6e88460f9..b1e100b697d 100644 --- a/_generated-doc/main/config/quarkus-qute_quarkus.qute.adoc +++ b/_generated-doc/main/config/quarkus-qute_quarkus.qute.adoc @@ -119,7 +119,9 @@ A valid prefix consists of alphanumeric characters and underscores. Three specia - `` - the alias of an iterated element suffixed with an underscore is used, e.g. `item_hasNext` and `it_count` - `` - the alias of an iterated element suffixed with a question mark is used, e.g. `item?hasNext` and `it?count` - - `` - no prefix is used, e.g. `hasNext` and `count` By default, the `` constant is set. + - `` - no prefix is used, e.g. `hasNext` and `count` + +By default, the `` constant is set. ifdef::add-copy-button-to-env-var[] diff --git a/_generated-doc/main/config/quarkus-rest-client-config.adoc b/_generated-doc/main/config/quarkus-rest-client-config.adoc index 7117d850891..56886decd1c 100644 --- a/_generated-doc/main/config/quarkus-rest-client-config.adoc +++ b/_generated-doc/main/config/quarkus-rest-client-config.adoc @@ -767,7 +767,9 @@ The possible values are: - `request-response` - enables logging request and responses, including redirect responses - `all` - enables logging requests and responses and lower-level logging - - `none` - no additional logging This property is applicable to reactive REST clients only. + - `none` - no additional logging + +This property is applicable to reactive REST clients only. ifdef::add-copy-button-to-env-var[] diff --git a/_generated-doc/main/config/quarkus-rest-client-config_quarkus.rest-client.adoc b/_generated-doc/main/config/quarkus-rest-client-config_quarkus.rest-client.adoc index 7117d850891..56886decd1c 100644 --- a/_generated-doc/main/config/quarkus-rest-client-config_quarkus.rest-client.adoc +++ b/_generated-doc/main/config/quarkus-rest-client-config_quarkus.rest-client.adoc @@ -767,7 +767,9 @@ The possible values are: - `request-response` - enables logging request and responses, including redirect responses - `all` - enables logging requests and responses and lower-level logging - - `none` - no additional logging This property is applicable to reactive REST clients only. + - `none` - no additional logging + +This property is applicable to reactive REST clients only. ifdef::add-copy-button-to-env-var[] diff --git a/_generated-doc/main/config/quarkus-rest-kotlin-serialization.adoc b/_generated-doc/main/config/quarkus-rest-kotlin-serialization.adoc index 10e00e7d105..2bb81b27455 100644 --- a/_generated-doc/main/config/quarkus-rest-kotlin-serialization.adoc +++ b/_generated-doc/main/config/quarkus-rest-kotlin-serialization.adoc @@ -286,7 +286,7 @@ Specifies the `JsonNamingStrategy` that should be used for all properties in cla This element can be one of two things: . the fully qualified class name of a type implements the `NamingStrategy` interface and has a no-arg constructor - - a value in the form `NamingStrategy.SnakeCase` which refers to built-in values provided by the kotlin serialization library itself. + . a value in the form `NamingStrategy.SnakeCase` which refers to built-in values provided by the kotlin serialization library itself. ifdef::add-copy-button-to-env-var[] diff --git a/_generated-doc/main/config/quarkus-rest-kotlin-serialization_quarkus.kotlin-serialization.adoc b/_generated-doc/main/config/quarkus-rest-kotlin-serialization_quarkus.kotlin-serialization.adoc index 10e00e7d105..2bb81b27455 100644 --- a/_generated-doc/main/config/quarkus-rest-kotlin-serialization_quarkus.kotlin-serialization.adoc +++ b/_generated-doc/main/config/quarkus-rest-kotlin-serialization_quarkus.kotlin-serialization.adoc @@ -286,7 +286,7 @@ Specifies the `JsonNamingStrategy` that should be used for all properties in cla This element can be one of two things: . the fully qualified class name of a type implements the `NamingStrategy` interface and has a no-arg constructor - - a value in the form `NamingStrategy.SnakeCase` which refers to built-in values provided by the kotlin serialization library itself. + . a value in the form `NamingStrategy.SnakeCase` which refers to built-in values provided by the kotlin serialization library itself. ifdef::add-copy-button-to-env-var[] diff --git a/_generated-doc/main/config/quarkus-security-webauthn.adoc b/_generated-doc/main/config/quarkus-security-webauthn.adoc index a288ab611ac..e849ec5b732 100644 --- a/_generated-doc/main/config/quarkus-security-webauthn.adoc +++ b/_generated-doc/main/config/quarkus-security-webauthn.adoc @@ -128,7 +128,9 @@ endif::add-copy-button-to-config-props[] Kind of Authenticator Attachment allowed. Authenticators can connect to your device in two forms: - `PLATFORM` - The Authenticator is built-in to your device (e.g.: Security chip) - - `CROSS_PLATFORM` - The Authenticator can roam across devices (e.g.: USB Authenticator) For security reasons your application may choose to restrict to a specific attachment mode. If omitted, then any mode is permitted. + - `CROSS_PLATFORM` - The Authenticator can roam across devices (e.g.: USB Authenticator) + +For security reasons your application may choose to restrict to a specific attachment mode. If omitted, then any mode is permitted. ifdef::add-copy-button-to-env-var[] diff --git a/_generated-doc/main/config/quarkus-security-webauthn_quarkus.webauthn.adoc b/_generated-doc/main/config/quarkus-security-webauthn_quarkus.webauthn.adoc index a288ab611ac..e849ec5b732 100644 --- a/_generated-doc/main/config/quarkus-security-webauthn_quarkus.webauthn.adoc +++ b/_generated-doc/main/config/quarkus-security-webauthn_quarkus.webauthn.adoc @@ -128,7 +128,9 @@ endif::add-copy-button-to-config-props[] Kind of Authenticator Attachment allowed. Authenticators can connect to your device in two forms: - `PLATFORM` - The Authenticator is built-in to your device (e.g.: Security chip) - - `CROSS_PLATFORM` - The Authenticator can roam across devices (e.g.: USB Authenticator) For security reasons your application may choose to restrict to a specific attachment mode. If omitted, then any mode is permitted. + - `CROSS_PLATFORM` - The Authenticator can roam across devices (e.g.: USB Authenticator) + +For security reasons your application may choose to restrict to a specific attachment mode. If omitted, then any mode is permitted. ifdef::add-copy-button-to-env-var[] diff --git a/_generated-doc/main/config/quarkus-vertx-http_quarkus.http.adoc b/_generated-doc/main/config/quarkus-vertx-http_quarkus.http.adoc index 803172a771a..f86acf02f70 100644 --- a/_generated-doc/main/config/quarkus-vertx-http_quarkus.http.adoc +++ b/_generated-doc/main/config/quarkus-vertx-http_quarkus.http.adoc @@ -125,9 +125,10 @@ Require that all registered HTTP authentication mechanisms must complete the aut Typically, this property has to be true when the credentials are carried over mTLS, when both mTLS and another authentication, for example, OIDC bearer token authentication, must succeed. In such cases, `SecurityIdentity` created by the first mechanism, mTLS, can be injected, identities created by other mechanisms will be available on `SecurityIdentity`. The identities can be retrieved using utility method as in the example below: ``` +`io.quarkus.vertx.http.runtime.security.HttpSecurityUtils.getSecurityIdentities(securityIdentity)` ``` -`io.quarkus.vertx.http.runtime.security.HttpSecurityUtils.getSecurityIdentities(securityIdentity)` + This property is false by default which means that the authentication process is complete as soon as the first `SecurityIdentity` is created. @@ -3519,6 +3520,50 @@ endif::add-copy-button-to-env-var[] |boolean | +a| [[quarkus-vertx-http_quarkus-http-proxy-strict-forwarded-control]] [.property-path]##link:#quarkus-vertx-http_quarkus-http-proxy-strict-forwarded-control[`quarkus.http.proxy.strict-forwarded-control`]## +ifdef::add-copy-button-to-config-props[] +config_property_copy_button:+++quarkus.http.proxy.strict-forwarded-control+++[] +endif::add-copy-button-to-config-props[] + + +[.description] +-- +When both Forwarded and X-Forwarded headers are enabled with `allow-forwarded` and `allow-x-forwarded` respectively, enforce that the identical headers must have equal values. + + +ifdef::add-copy-button-to-env-var[] +Environment variable: env_var_with_copy_button:+++QUARKUS_HTTP_PROXY_STRICT_FORWARDED_CONTROL+++[] +endif::add-copy-button-to-env-var[] +ifndef::add-copy-button-to-env-var[] +Environment variable: `+++QUARKUS_HTTP_PROXY_STRICT_FORWARDED_CONTROL+++` +endif::add-copy-button-to-env-var[] +-- +|boolean +|`true` + +a| [[quarkus-vertx-http_quarkus-http-proxy-forwarded-precedence]] [.property-path]##link:#quarkus-vertx-http_quarkus-http-proxy-forwarded-precedence[`quarkus.http.proxy.forwarded-precedence`]## +ifdef::add-copy-button-to-config-props[] +config_property_copy_button:+++quarkus.http.proxy.forwarded-precedence+++[] +endif::add-copy-button-to-config-props[] + + +[.description] +-- +When both Forwarded and X-Forwarded headers are enabled with `allow-forwarded` and `allow-x-forwarded` respectively, and `strict-forwarded-control` enforcing that the identical headers must have equal values is disabled, choose if it is Forwarded or X-Forwarded matching header value that is preferred. + +For example, if Forwarded has a precedence over X-Forwarded, Forwarded scheme is `http` and X-Forwarded scheme is `https`, then the final scheme value is `http`. If X-Forwarded has a precedence, then the final scheme value is 'https'. + + +ifdef::add-copy-button-to-env-var[] +Environment variable: env_var_with_copy_button:+++QUARKUS_HTTP_PROXY_FORWARDED_PRECEDENCE+++[] +endif::add-copy-button-to-env-var[] +ifndef::add-copy-button-to-env-var[] +Environment variable: `+++QUARKUS_HTTP_PROXY_FORWARDED_PRECEDENCE+++` +endif::add-copy-button-to-env-var[] +-- +a|`forwarded`, `x-forwarded` +|`forwarded` + a| [[quarkus-vertx-http_quarkus-http-proxy-enable-forwarded-host]] [.property-path]##link:#quarkus-vertx-http_quarkus-http-proxy-enable-forwarded-host[`quarkus.http.proxy.enable-forwarded-host`]## ifdef::add-copy-button-to-config-props[] config_property_copy_button:+++quarkus.http.proxy.enable-forwarded-host+++[] @@ -3647,12 +3692,16 @@ Examples of a socket address in the form of `host` or `host:port`: - `localhost` - `localhost:8084` + + Examples of a CIDR notation: - `::/128` - `::/0` - `127.0.0.0/8` + + Please bear in mind that IPv4 CIDR won't match request sent from the IPv6 address and the other way around. diff --git a/_generated-doc/main/config/quarkus-vertx-http_quarkus.management.adoc b/_generated-doc/main/config/quarkus-vertx-http_quarkus.management.adoc index a2456cf0c1a..c2fa08192e5 100644 --- a/_generated-doc/main/config/quarkus-vertx-http_quarkus.management.adoc +++ b/_generated-doc/main/config/quarkus-vertx-http_quarkus.management.adoc @@ -1487,6 +1487,50 @@ endif::add-copy-button-to-env-var[] |boolean | +a| [[quarkus-vertx-http_quarkus-management-proxy-strict-forwarded-control]] [.property-path]##link:#quarkus-vertx-http_quarkus-management-proxy-strict-forwarded-control[`quarkus.management.proxy.strict-forwarded-control`]## +ifdef::add-copy-button-to-config-props[] +config_property_copy_button:+++quarkus.management.proxy.strict-forwarded-control+++[] +endif::add-copy-button-to-config-props[] + + +[.description] +-- +When both Forwarded and X-Forwarded headers are enabled with `allow-forwarded` and `allow-x-forwarded` respectively, enforce that the identical headers must have equal values. + + +ifdef::add-copy-button-to-env-var[] +Environment variable: env_var_with_copy_button:+++QUARKUS_MANAGEMENT_PROXY_STRICT_FORWARDED_CONTROL+++[] +endif::add-copy-button-to-env-var[] +ifndef::add-copy-button-to-env-var[] +Environment variable: `+++QUARKUS_MANAGEMENT_PROXY_STRICT_FORWARDED_CONTROL+++` +endif::add-copy-button-to-env-var[] +-- +|boolean +|`true` + +a| [[quarkus-vertx-http_quarkus-management-proxy-forwarded-precedence]] [.property-path]##link:#quarkus-vertx-http_quarkus-management-proxy-forwarded-precedence[`quarkus.management.proxy.forwarded-precedence`]## +ifdef::add-copy-button-to-config-props[] +config_property_copy_button:+++quarkus.management.proxy.forwarded-precedence+++[] +endif::add-copy-button-to-config-props[] + + +[.description] +-- +When both Forwarded and X-Forwarded headers are enabled with `allow-forwarded` and `allow-x-forwarded` respectively, and `strict-forwarded-control` enforcing that the identical headers must have equal values is disabled, choose if it is Forwarded or X-Forwarded matching header value that is preferred. + +For example, if Forwarded has a precedence over X-Forwarded, Forwarded scheme is `http` and X-Forwarded scheme is `https`, then the final scheme value is `http`. If X-Forwarded has a precedence, then the final scheme value is 'https'. + + +ifdef::add-copy-button-to-env-var[] +Environment variable: env_var_with_copy_button:+++QUARKUS_MANAGEMENT_PROXY_FORWARDED_PRECEDENCE+++[] +endif::add-copy-button-to-env-var[] +ifndef::add-copy-button-to-env-var[] +Environment variable: `+++QUARKUS_MANAGEMENT_PROXY_FORWARDED_PRECEDENCE+++` +endif::add-copy-button-to-env-var[] +-- +a|`forwarded`, `x-forwarded` +|`forwarded` + a| [[quarkus-vertx-http_quarkus-management-proxy-enable-forwarded-host]] [.property-path]##link:#quarkus-vertx-http_quarkus-management-proxy-enable-forwarded-host[`quarkus.management.proxy.enable-forwarded-host`]## ifdef::add-copy-button-to-config-props[] config_property_copy_button:+++quarkus.management.proxy.enable-forwarded-host+++[] @@ -1615,12 +1659,16 @@ Examples of a socket address in the form of `host` or `host:port`: - `localhost` - `localhost:8084` + + Examples of a CIDR notation: - `::/128` - `::/0` - `127.0.0.0/8` + + Please bear in mind that IPv4 CIDR won't match request sent from the IPv6 address and the other way around. diff --git a/_versions/main/guides/conditional-extension-dependencies.adoc b/_versions/main/guides/conditional-extension-dependencies.adoc index 224107500ba..a3dd03c817c 100644 --- a/_versions/main/guides/conditional-extension-dependencies.adoc +++ b/_versions/main/guides/conditional-extension-dependencies.adoc @@ -23,7 +23,7 @@ A Quarkus extension may declare one or more conditional dependencies on other Qu Let's consider the following scenario as an example: `quarkus-extension-a` has an optional dependency on `quarkus-extension-b` which should be included in a Quarkus application only if `quarkus-extension-c` is found among the application dependencies (direct or transitive). In this case, the presence of `quarkus-extension-c` is the condition which, if satisfied, will trigger inclusion of the `quarkus-extension-b` when Quarkus application dependencies are resolved. -The condition which triggers activation of an extension is configured in the extension's `META-INF/quarkus-extension.properties`, which is included in the runtime artifact of the extension.Extension developers can add the following configuration to express the condition which would have to be satisfied for the extension to be activated: +The condition which triggers activation of an extension is configured in the extension's `META-INF/quarkus-extension.properties`, which is included in the runtime artifact of the extension. Extension developers can add the following configuration to express the condition which would have to be satisfied for the extension to be activated: [source,xml] ---- @@ -182,7 +182,7 @@ In this case, the Maven dependency is not at all required in the `pom.xml` file. == Dev mode-only extension dependencies -Extensions can also declare conditional dependencies on other extensions using Dev mode as the condition or one of the conditions for those dependencies to be activated. +Extensions can also declare conditional dependencies on other extensions using dev mode as the condition or one of the conditions for those dependencies to be activated. Dev mode-only extension dependencies can be configured in the Quarkus extension plugin in the following way: @@ -223,11 +223,11 @@ Dev mode-only extension dependencies can be configured in the Quarkus extension ---- <1> the runtime Quarkus extension artifact ID; <2> the goal that generates the extension descriptor which every Quarkus runtime extension project should be configured with; -<3> the Dev mode conditional dependency configuration element; -<4> the artifact coordinates of conditional dependencies on extensions that should be evaluated only if an application is launched in Dev mode. +<3> the dev mode conditional dependency configuration element; +<4> the artifact coordinates of conditional dependencies on extensions that should be evaluated only if an application is launched in dev mode. The `quarkus-extension-b`, in this example, may or may not define its own condition to be evaluated. -If the `quarkus-extension-b` does not define a dependency condition on its own (there is no dependency condition recorded in its `META-INF/quarkus-extension.properties`), the `quarkus-extension-b` will only be added as a dependency of the `quarkus-extension-a` in Dev mode but not in other modes (prod or test). +If the `quarkus-extension-b` does not define a dependency condition on its own (there is no dependency condition recorded in its `META-INF/quarkus-extension.properties`), the `quarkus-extension-b` will only be added as a dependency of the `quarkus-extension-a` in dev mode but not in other modes (prod or test). -If the `quarkus-extension-b` does define a dependency condition on its own (a dependency condition recorded in its `META-INF/quarkus-extension.properties`), the `quarkus-extension-b` will be added as a dependency of the `quarkus-extension-a` in Dev mode only if its condition is satisfied (the artifacts it requires are present in the application dependency graph). +If the `quarkus-extension-b` does define a dependency condition on its own (a dependency condition recorded in its `META-INF/quarkus-extension.properties`), the `quarkus-extension-b` will be added as a dependency of the `quarkus-extension-a` in dev mode only if its condition is satisfied (the artifacts it requires are present in the application dependency graph). diff --git a/_versions/main/guides/rest.adoc b/_versions/main/guides/rest.adoc index aa0ffb37523..c3ffbf337e6 100644 --- a/_versions/main/guides/rest.adoc +++ b/_versions/main/guides/rest.adoc @@ -1535,6 +1535,9 @@ WARNING: Currently you cannot use the `@SecureField` annotation to secure your d ==== All resource methods returning data secured with the `@SecureField` annotation should be tested. Please make sure data are secured as you intended. +Quarkus always attempts to detect fields annotated with the `@SecureField` annotation, +however it may fail to infer returned type and miss the `@SecureField` annotation instance. +If that happens, please explicitly enable secure serialization on the resource endpoint with the `@EnableSecureSerialization` annotation. ==== Assuming security has been set up for the application (see our xref:security-overview.adoc[guide] for more details), when a user with the `admin` role diff --git a/_versions/main/guides/security-jwt-build.adoc b/_versions/main/guides/security-jwt-build.adoc index de94662e7a8..931ebdf3391 100644 --- a/_versions/main/guides/security-jwt-build.adoc +++ b/_versions/main/guides/security-jwt-build.adoc @@ -32,8 +32,6 @@ To use the SmallRye JWT Build API, add the following dependency to your project: ---- -Alternatively, for a Gradle-based project, use the following configuration: - [source,gradle,role="secondary asciidoc-tabs-target-sync-gradle"] .build.gradle ----