All configuration options

Configuration property fixed at build time - All other configuration properties are overridable at runtime

AWS Lambda

Type

Default

The exception classes expected to be thrown by the handler. Any exception thrown by the handler that is an instance of a class in this list will not be logged, but will otherwise be handled normally by the lambda runtime. This is useful for avoiding unnecessary stack traces while preserving the ability to log unexpected exceptions.

list of class name

The handler name. Handler names are specified on handler classes using the @javax.inject.Named annotation. If this name is unspecified and there is exactly one unnamed implementation of com.amazonaws.services.lambda.runtime.RequestHandler then this unnamed handler will be used. If there is only a single named handler and the name is unspecified then the named handler will be used.

string

AWS Lambda Common

Type

Default

Port to access mock event server in dev mode

int

8080

Port to access mock event server in dev mode

int

8081

AWS Lambda Gateway REST API

Type

Default

Enable security mechanisms to process lambda and AWS based security (i.e. Cognito, IAM) from the http event sent from API Gateway

boolean

false

Agroal - Database connection pool

Type

Default

If we create a JDBC datasource for this datasource.

boolean

true

The datasource driver class name

string

Whether we want to use regular JDBC transactions, XA, or disable all transactional capabilities. When enabling XA you will need a driver implementing javax.sql.XADataSource.

enabled, xa, disabled

enabled

Enable datasource metrics collection. If unspecified, collecting metrics will be enabled by default if a metrics extension is active.

boolean

The datasource URL

string

The initial size of the pool. Usually you will want to set the initial size to match at least the minimal size, but this is not enforced so to allow for architectures which prefer a lazy initialization of the connections on boot, while being able to sustain a minimal pool size after boot.

int

The datasource pool minimum size

int

0

The datasource pool maximum size

int

20

The interval at which we validate idle connections in the background. Set to 0 to disable background validation.

Duration

2M

Perform foreground validation on connections that have been idle for longer than the specified interval.

Duration

The timeout before cancelling the acquisition of a new connection

Duration

5

The interval at which we check for connection leaks.

Duration

The interval at which we try to remove idle connections.

Duration

5M

The max lifetime of a connection.

Duration

The transaction isolation level.

undefined, none, read-uncommitted, read-committed, repeatable-read, serializable

Collect and display extra troubleshooting info on leaked connections.

boolean

false

Allows connections to be flushed upon return to the pool. It’s not enabled by default.

boolean

false

When enabled Agroal will be able to produce a warning when a connection is returned to the pool without the application having closed all open statements. This is unrelated with tracking of open connections. Disable for peak performance, but only when there’s high confidence that no leaks are happening.

boolean

true

Query executed when first using a connection.

string

Query executed to validate a connection.

string

Disable pooling to prevent reuse of Connections. Use this with when an external pool manages the life-cycle of Connections.

boolean

true

Require an active transaction when acquiring a connection. Recommended for production. WARNING: Some extensions acquire connections without holding a transaction for things like schema updates and schema validation. Setting this setting to STRICT may lead to failures in those cases.

off, warn, strict

Other unspecified properties to be passed to the JDBC driver when creating new connections.

Map<String,String>

Additional named datasources

Type

Default

If we create a JDBC datasource for this datasource.

boolean

true

The datasource driver class name

string

Whether we want to use regular JDBC transactions, XA, or disable all transactional capabilities. When enabling XA you will need a driver implementing javax.sql.XADataSource.

enabled, xa, disabled

enabled

Enable datasource metrics collection. If unspecified, collecting metrics will be enabled by default if a metrics extension is active.

boolean

string

The initial size of the pool. Usually you will want to set the initial size to match at least the minimal size, but this is not enforced so to allow for architectures which prefer a lazy initialization of the connections on boot, while being able to sustain a minimal pool size after boot.

int

The datasource pool minimum size

int

0

The datasource pool maximum size

int

20

The interval at which we validate idle connections in the background. Set to 0 to disable background validation.

Duration

2M

Perform foreground validation on connections that have been idle for longer than the specified interval.

Duration

The timeout before cancelling the acquisition of a new connection

Duration

5

The interval at which we check for connection leaks.

Duration

The interval at which we try to remove idle connections.

Duration

5M

The max lifetime of a connection.

Duration

undefined, none, read-uncommitted, read-committed, repeatable-read, serializable

Collect and display extra troubleshooting info on leaked connections.

boolean

false

Allows connections to be flushed upon return to the pool. It’s not enabled by default.

boolean

false

When enabled Agroal will be able to produce a warning when a connection is returned to the pool without the application having closed all open statements. This is unrelated with tracking of open connections. Disable for peak performance, but only when there’s high confidence that no leaks are happening.

boolean

true

Query executed when first using a connection.

string

Query executed to validate a connection.

string

Disable pooling to prevent reuse of Connections. Use this with when an external pool manages the life-cycle of Connections.

boolean

true

Require an active transaction when acquiring a connection. Recommended for production. WARNING: Some extensions acquire connections without holding a transaction for things like schema updates and schema validation. Setting this setting to STRICT may lead to failures in those cases.

off, warn, strict

Other unspecified properties to be passed to the JDBC driver when creating new connections.

Map<String,String>

Apache Kafka Client

Type

Default

Whether or not an health check is published in case the smallrye-health extension is present. If you enable the health check, you must specify the kafka.bootstrap.servers property.

boolean

false

Whether or not to enable Snappy in native mode. Note that Snappy requires GraalVM 21+ and embeds a native library in the native executable. This library is unpacked and loaded when the application starts.

boolean

false

If Dev Services for Kafka has been explicitly enabled or disabled. Dev Services are generally enabled by default, unless there is an existing configuration present. For Kafka, Dev Services starts a broker unless kafka.bootstrap.servers is set or if all the Reactive Messaging Kafka channel are configured with a bootstrap.servers.

boolean

Optional fixed port the dev service will listen to. If not defined, the port will be chosen randomly.

int

The Kafka container image to use. Only Redpanda and Strimzi images are supported. Default image is Redpanda. Note that Strimzi images are launched in Kraft mode. In order to use a Strimzi image you need to set a compatible image name such as quay.io/strimzi-test-container/test-container:0.100.0-kafka-3.1.0 or quay.io/strimzi/kafka:0.27.1-kafka-3.0.0 For Redpanda: See https://vectorized.io/docs/quick-start-docker/ and https://hub.docker.com/r/vectorized/redpanda For Strimzi: See https://github.com/strimzi/test-container and https://quay.io/repository/strimzi-test-container/test-container

string

docker.io/vectorized/redpanda:v21.11.3

Indicates if the Kafka broker managed by Quarkus Dev Services is shared. When shared, Quarkus looks for running containers using label-based service discovery. If a matching container is found, it is used, and so a second one is not started. Otherwise, Dev Services for Kafka starts a new container. The discovery uses the quarkus-dev-service-kafka label. The value is configured using the service-name property. Container sharing is only used in dev mode.

boolean

true

The value of the quarkus-dev-service-kafka label attached to the started container. This property is used when shared is set to true. In this case, before starting a container, Dev Services for Kafka looks for a container with the quarkus-dev-service-kafka label set to the configured value. If found, it will use this container instead of starting a new one. Otherwise it starts a new container with the quarkus-dev-service-kafka label set to the specified value. This property is used when you need multiple shared Kafka brokers.

string

kafka

Timeout for admin client calls used in topic creation. Defaults to 2 seconds.

Duration

2S

Enables transaction support. Also enables the producer idempotence. Find more info about Red Panda transaction support on https://vectorized.io/blog/fast-transactions/. Notice that KIP-447 (producer scalability for exactly once semantic) and KIP-360 (Improve reliability of idempotent/transactional producer) are not supported.

boolean

false

The topic-partition pairs to create in the Dev Services Kafka broker. After the broker is started, given topics with partitions are created, skipping already existing topics. For example, quarkus.kafka.devservices.topic-partitions.test=2 will create a topic named test with 2 partitions. The topic creation will not try to re-partition existing topics with different number of partitions.

Map<String,Integer>

Apache Kafka Streams

Type

Default

Whether or not a health check is published in case the smallrye-health extension is present (defaults to true).

boolean

true

A unique identifier for this Kafka Streams application. If not set, defaults to quarkus.application.name.

string

${quarkus.application.name}

A comma-separated list of host:port pairs identifying the Kafka bootstrap server(s). If not set, fallback to kafka.bootstrap.servers, and if not set either use localhost:9012.

list of host:port

localhost:9012

A unique identifier of this application instance, typically in the form host:port.

string

A comma-separated list of topic names. The pipeline will only be started once all these topics are present in the Kafka cluster and ignore.topics is set to false.

list of string

Timeout to wait for topic names to be returned from admin client. If set to 0 (or negative), topics check is ignored.

Duration

10S

The schema registry key. Different schema registry libraries expect a registry URL in different configuration properties. For Apicurio Registry, use apicurio.registry.url. For Confluent schema registry, use schema.registry.url.

string

schema.registry.url

string

string

SASL mechanism used for client connections

string

JAAS login context parameters for SASL connections in the format used by JAAS configuration files

string

The fully qualified name of a SASL client callback handler class

string

The fully qualified name of a SASL login callback handler class

string

The fully qualified name of a class that implements the Login interface

string

The Kerberos principal name that Kafka runs as

string

Kerberos kinit command path

string

Login thread will sleep until the specified window factor of time from last refresh

double

Percentage of random jitter added to the renewal time

double

Percentage of random jitter added to the renewal time

long

Login refresh thread will sleep until the specified window factor relative to the credential’s lifetime has been reached-

double

The maximum amount of random jitter relative to the credential’s lifetime

double

The desired minimum duration for the login refresh thread to wait before refreshing a credential

Duration

The amount of buffer duration before credential expiration to maintain when refreshing a credential

Duration

The SSL protocol used to generate the SSLContext

string

The name of the security provider used for SSL connections

string

A list of cipher suites

string

The list of protocols enabled for SSL connections

string

string

string

string

string

string

string

string

string

string

Password of the private key in the key store

string

The algorithm used by key manager factory for SSL connections

string

The algorithm used by trust manager factory for SSL connections

string

The endpoint identification algorithm to validate server hostname using server certificate

string

https

The SecureRandom PRNG implementation to use for SSL cryptography operations

string

ArC

Type

Default

  • If set to all (or true) the container will attempt to remove all unused beans.

  • 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,

  • is not eligible for injection to any injection point,

  • is not excluded by any extension,

  • does not have a name,

  • does not declare an observer,

  • does not declare any producer which is eligible for injection to any injection point,

  • is not directly eligible for injection into any javax.enterprise.inject.Instance injection point

string

all

If set to true @Inject is automatically added to all non-static fields that are annotated with one of the annotations defined by AutoInjectAnnotationBuildItem.

boolean

true

If set to true, the bytecode of unproxyable beans will be transformed. This ensures that a proxy/subclass can be created properly. If the value is set to false, then an exception is thrown at build time indicating that a subclass/proxy could not be created. Quarkus performs the following transformations when this setting is enabled: - Remove 'final' modifier from classes and methods when a proxy is required. - Create a no-args constructor if needed. - Makes private no-args constructors package-private if necessary.

boolean

true

If set to true, the build fails if a private method that is neither an observer nor a producer, is annotated with an interceptor binding. An example of this is the use of Transactional on a private method of a bean. If set to false, Quarkus simply logs a warning that the annotation will be ignored.

boolean

false

The default naming strategy for ConfigProperties.NamingStrategy. The allowed values are determined by that enum

from-config, verbatim, kebab-case

kebab-case

The list of selected alternatives for an application. 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 javax.annotation.Priority or io.quarkus.arc.AlternativePriority is overriden.

list of string

If set to true then javax.enterprise.inject.Produces is automatically added to all non-void methods that are annotated with a scope annotation, a stereotype or a qualifier, and are not annotated with Inject or Produces, and no parameter is annotated with Disposes, Observes or ObservesAsync.

boolean

true

The list of types that should be excluded from discovery. 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.

list of string

List of types that should be considered unremovable regardless of whether they are directly used or not. This is a configuration option equivalent to using io.quarkus.arc.Unremovable annotation. 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.

list of string

If set to true then the container attempts to detect "unused removed beans" false positives during programmatic lookup at runtime. You can disable this feature to conserve some memory when running your application in production.

boolean

true

If set to true then the container attempts to detect wrong usages of annotations and eventually fails the build to prevent unexpected behavior of a Quarkus application. A typical example is @javax.ejb.Singleton which is often confused with @javax.inject.Singleton. As a result a component annotated with @javax.ejb.Singleton would be completely ignored. Another example is an inner class annotated with a scope annotation - this component would be again completely ignored.

boolean

true

If set to true then the container monitors business method invocations and fired events during the development mode.

boolean

true

If set to true then disable StartupEvent and ShutdownEvent observers declared on application bean classes during the tests.

boolean

false

The list of packages that will not be checked for split package issues. A package string representation can be: - a full name of the package, i.e. org.acme.foo - a package name with suffix .*, i.e. org.acme.*, which matches a package that starts with provided value

list of string

Artifacts that should be excluded from discovery

Type

Default

string

required

The maven artifactId of the artifact.

string

required

The maven classifier of the artifact.

string

Cache

Type

Default

Whether or not the cache extension is enabled.

boolean

true

Cache type.

string

caffeine

Minimum total size for the internal data structures. Providing a large enough estimate at construction time avoids the need for expensive resizing operations later, but setting this value unnecessarily high wastes memory.

int

Maximum number of entries the cache may contain. Note that the cache may evict an entry before this limit is exceeded or temporarily exceed the threshold while evicting. As the cache size grows close to the maximum, the cache evicts entries that are less likely to be used again. For example, the cache may evict an entry because it hasn’t been used recently or very often.

long

Specifies that each entry should be automatically removed from the cache once a fixed duration has elapsed after the entry’s creation, or the most recent replacement of its value.

Duration

Specifies that each entry should be automatically removed from the cache once a fixed duration has elapsed after the entry’s creation, the most recent replacement of its value, or its last read.

Duration

boolean

false

Container Image

Type

Default

The group the container image will be part of

string

${user.name}

The name of the container image. If not set defaults to the application name

string

${quarkus.application.name:unset}

The tag of the container image. If not set defaults to the application version

string

${quarkus.application.version:latest}

Additional tags of the container image.

list of string

The container registry to use

string

Represents the entire image string. If set, then group, name, registry, tags, additionalTags are ignored

string

The username to use to authenticate with the registry where the built image will be pushed

string

The password to use to authenticate with the registry where the built image will be pushed

string

Whether or not insecure registries are allowed

boolean

false

Whether or not a image build will be performed.

boolean

Whether or not an image push will be performed.

boolean

The name of the container image extension to use (e.g. docker, jib, s2i). The option will be used in case multiple extensions are present.

string

Custom labels to add to the generated image.

Map<String,String>

Container Image Buildpack

Type

Default

The buildpacks builder image to use when building the project in jvm mode.

string

The buildpacks builder image to use when building the project in jvm mode.

string

The buildpacks run image to use when building the project When not supplied, the run image is determined by the builder image.

string

Max pull timeout for builder/run images, in seconds

int

300

DOCKER_HOST value to use. If not set, the env var DOCKER_HOST is used, if that is not set the value `unix:///var/run/docker.sock' (or 'npipe:///./pipe/docker_engine' for windows) is used.

string

Log level to use.. Defaults to 'info'

string

info

The username to use to authenticate with the registry used to pull the base JVM image

string

The password to use to authenticate with the registry used to pull the base JVM image

string

Environment key/values to pass to buildpacks.

Map<String,String>

Container Image Docker

Type

Default

Path to the JVM Dockerfile. If not set ${project.root}/src/main/docker/Dockerfile.jvm will be used If set to an absolute path then the absolute path will be used, otherwise the path will be considered relative to the project root

string

Path to the JVM Dockerfile. If not set ${project.root}/src/main/docker/Dockerfile.native will be used If set to an absolute path then the absolute path will be used, otherwise the path will be considered relative to the project root

string

Images to consider as cache sources. Values are passed to docker build via the cache-from option

list of string

string

Name of binary used to execute the docker commands.

string

docker

Build args passed to docker via --build-arg

Map<String,String>

Container Image Jib

Type

Default

The base image to be used when a container image is being produced for the jar build. When the application is built against Java 17 or higher, registry.access.redhat.com/ubi8/openjdk-17-runtime:1.11 is used as the default. Otherwise registry.access.redhat.com/ubi8/openjdk-11-runtime:1.11 is used as the default.

string

The base image to be used when a container image is being produced for the native binary build. The default is "quay.io/quarkus/quarkus-micro-image". You can also use "registry.access.redhat.com/ubi8/ubi-minimal" which is a bigger base image, but provide more built-in utilities such as the microdnf package manager.

string

quay.io/quarkus/quarkus-micro-image:1.0

The JVM arguments to pass to the JVM when starting the application

list of string

-Djava.util.logging.manager=org.jboss.logmanager.LogManager

Additional JVM arguments to pass to the JVM when starting the application

list of string

Additional arguments to pass when starting the native application

list of string

If this is set, then it will be used as the entry point of the container image. There are a few things to be aware of when creating an entry point - A valid entrypoint is jar package specific (see quarkus.package.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 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 dive

list of string

If this is set, then it will be used as the entry point of the container image. There are a few things to be aware of when creating an entry point - 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 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 dive

list of string

The username to use to authenticate with the registry used to pull the base JVM image

string

The password to use to authenticate with the registry used to pull the base JVM image

string

The ports to expose

list of int

${quarkus.http.port:8080}

The user to use in generated image

string

The working directory to use in the generated image. The default value is chosen to work in accordance with the default base image.

string

/home/jboss

Controls the optimization which skips downloading base image layers that exist in a target registry. If the user does not set this property, then read as false. If true, base image layers are always pulled and cached. If false, base image layers will not be pulled/cached if they already exist on the target registry.

boolean

false

List of target platforms. Each platform is defined using the pattern: <os>|<arch>[/variant]|<os>/<arch>[/variant] for example: linux/amd64,linux/arm64/v8 If not specified, OS default is linux and architecture default is amd64 If more than one platform is configured, it is important to note that the base image has to be a Docker manifest or an OCI image index containing a version of each chosen platform It doesn’t work with native images, as cross-compilation is not supported Target Platform is a incubating feature of Jib. See Jib FAQ for more information

list of string

The path of a file that will be written containing the digest of the generated image. If the path is relative, is writen to the output directory of the build tool

string

jib-image.digest

The path of a file that will be written containing the id of the generated image. If the path is relative, is writen to the output directory of the build tool

string

jib-image.id

Whether or not to operate offline.

boolean

false

Name of binary used to execute the docker commands. This is only used by Jib when the container image is being built locally.

string

Whether to set the creation time to the actual build time. Otherwise, the creation time will be set to the Unix epoch (00:00:00, January 1st, 1970 in UTC). See Jib FAQ for more information

boolean

true

Environment variables to add to the container image

Map<String,String>

Container Image OpenShift

Type

Default

The build config strategy to use.

binary, docker

binary

The base image to be used when a container image is being produced for the jar build. When the application is built against Java 17 or higher, registry.access.redhat.com/ubi8/openjdk-17:1.11 is used as the default. Otherwise registry.access.redhat.com/ubi8/openjdk-11:1.11 is used as the default.

string

The base image to be used when a container image is being produced for the native binary build

string

quay.io/quarkus/ubi-quarkus-native-binary-s2i:1.0

The default Dockerfile to use for jvm builds

string

src/main/docker/Dockerfile.jvm

The default Dockerfile to use for native builds

string

src/main/docker/Dockerfile.native

The JVM arguments to pass to the JVM when starting the application

list of string

-Dquarkus.http.host=0.0.0.0,-Djava.util.logging.manager=org.jboss.logmanager.LogManager

Additional JVM arguments to pass to the JVM when starting the application

list of string

Additional arguments to pass when starting the native application

list of string

-Dquarkus.http.host=0.0.0.0

The directory where the jar is added during the assemble phase. This is dependent on the S2I image and should be supplied if a non default image is used.

string

The resulting filename of the jar in the S2I image. This option may be used if the selected S2I image uses a fixed name for the jar.

string

The directory where the native binary is added during the assemble phase. This is dependent on the S2I image and should be supplied if a non-default image is used.

string

The resulting filename of the native binary in the S2I image. This option may be used if the selected S2I image uses a fixed name for the native binary.

string

The build timeout.

Duration

PT5M

The build config strategy to use.

binary, docker

binary

The base image to be used when a container image is being produced for the jar build. When the application is built against Java 17 or higher, registry.access.redhat.com/ubi8/openjdk-17:1.11 is used as the default. Otherwise registry.access.redhat.com/ubi8/openjdk-11:1.11 is used as the default.

string

The base image to be used when a container image is being produced for the native binary build

string

quay.io/quarkus/ubi-quarkus-native-binary-s2i:1.0

The JVM arguments to pass to the JVM when starting the application

list of string

-Dquarkus.http.host=0.0.0.0,-Djava.util.logging.manager=org.jboss.logmanager.LogManager

Additional JVM arguments to pass to the JVM when starting the application

list of string

Additional arguments to pass when starting the native application

list of string

-Dquarkus.http.host=0.0.0.0

The directory where the jar is added during the assemble phase. This is dependent on the S2I image and should be supplied if a non default image is used.

string

/deployments/target/

The resulting filename of the jar in the S2I image. This option may be used if the selected S2I image uses a fixed name for the jar.

string

The directory where the native binary is added during the assemble phase. This is dependent on the S2I image and should be supplied if a non-default image is used.

string

/home/quarkus/

The resulting filename of the native binary in the S2I image. This option may be used if the selected S2I image uses a fixed name for the native binary.

string

The build timeout.

Duration

PT5M

Container Image S2I

Type

Default

The base image to be used when a container image is being produced for the jar build

string

The base image to be used when a container image is being produced for the native binary build

string

quay.io/quarkus/ubi-quarkus-native-binary-s2i:1.0

The JVM arguments to pass to the JVM when starting the application

list of string

-Djava.util.logging.manager=org.jboss.logmanager.LogManager

Additional JVM arguments to pass to the JVM when starting the application

list of string

Additional arguments to pass when starting the native application

list of string

The directory where the jar is added during the assemble phase. This is dependent on the S2I image and should be supplied if a non default image is used.

string

/deployments/

The resulting filename of the jar in the S2I image. This option may be used if the selected S2I image uses a fixed name for the jar.

string

The directory where the native binary is added during the assemble phase. This is dependent on the S2I image and should be supplied if a non-default image is used.

string

/home/quarkus/

The resulting filename of the native binary in the S2I image. This option may be used if the selected S2I image uses a fixed name for the native binary.

string

The build timeout.

Duration

PT5M

Datasources

Type

Default

The kind of database we will connect to (e.g. h2, postgresql…​).

string

If DevServices has been explicitly enabled or disabled. DevServices is generally enabled by default, unless there is an existing configuration present. When DevServices is enabled Quarkus will attempt to automatically configure and start a database when running in Dev or Test mode.

boolean

The container image name to use, for container based DevServices providers. If the provider is not container based (e.g. a H2 Database) then this has no effect.

string

Optional fixed port the dev service will listen to. If not defined, the port will be chosen randomly.

int

Whether this particular data source should be excluded from the health check if the general health check for data sources is enabled. By default, the health check includes all configured data sources (if it is enabled).

boolean

false

Whether or not an health check is published in case the smallrye-health extension is present. This is a global setting and is not specific to a datasource.

boolean

true

Whether or not datasource metrics are published in case a metrics extension is present. This is a global setting and is not specific to a datasource. NOTE: This is different from the "jdbc.enable-metrics" property that needs to be set on the JDBC datasource level to enable collection of metrics for that datasource.

boolean

false

The datasource username

string

The datasource password

string

The credentials provider name

string

The credentials provider bean name. It is the &#64;Named value of the credentials provider bean. It is used to discriminate if multiple CredentialsProvider beans are available. For Vault it is: vault-credentials-provider. Not necessary if there is only one credentials provider available.

string

Generic properties that are passed for additional container configuration. Properties defined here are database specific and are interpreted specifically in each database dev service implementation.

Map<String,String>

Generic properties that are added to the database connection URL.

Map<String,String>

Additional named datasources

Type

Default

The kind of database we will connect to (e.g. h2, postgresql…​).

string

If DevServices has been explicitly enabled or disabled. DevServices is generally enabled by default, unless there is an existing configuration present. When DevServices is enabled Quarkus will attempt to automatically configure and start a database when running in Dev or Test mode.

boolean

The container image name to use, for container based DevServices providers. If the provider is not container based (e.g. a H2 Database) then this has no effect.

string

Generic properties that are passed for additional container configuration. Properties defined here are database specific and are interpreted specifically in each database dev service implementation.

Map<String,String>

Generic properties that are added to the database connection URL.

Map<String,String>

Optional fixed port the dev service will listen to. If not defined, the port will be chosen randomly.

int

Whether this particular data source should be excluded from the health check if the general health check for data sources is enabled. By default, the health check includes all configured data sources (if it is enabled).

boolean

false

string

string

string

The credentials provider bean name. It is the &#64;Named value of the credentials provider bean. It is used to discriminate if multiple CredentialsProvider beans are available. For Vault it is: vault-credentials-provider. Not necessary if there is only one credentials provider available.

string

Eclipse Vert.x

Type

Default

Enables or disables the Vert.x cache.

boolean

true

Enables or disabled the Vert.x classpath resource resolver.

boolean

true

The number of event loops. 2 x the number of core by default.

int

The maximum amount of time the event loop can be blocked.

Duration

2S

The amount of time before a warning is displayed if the event loop is blocked.

Duration

2S

The size of the worker thread pool.

int

20

The maximum amount of time the worker thread can be blocked.

Duration

60S

The size of the internal thread pool (used for the file system).

int

20

The queue size. For most applications this should be unbounded

int

The executor growth resistance. A resistance factor applied after the core pool is full; values applied here will cause that fraction of submissions to create new threads when no idle thread is available. A value of 0.0f implies that threads beyond the core size should be created as aggressively as threads within it; a value of 1.0f implies that threads beyond the core size should never be created.

float

0f

The amount of time a thread will stay alive with no work.

Duration

30S

Prefill thread pool when creating a new Executor. When io.vertx.core.spi.ExecutorServiceFactory.createExecutor is called, initialise with the number of defined threads at startup

boolean

false

Enables the async DNS resolver.

boolean

false

PEM Key/cert config is disabled by default.

boolean

false

Comma-separated list of the path to the key files (Pem format).

list of string

Comma-separated list of the path to the certificate files (Pem format).

list of string

JKS config is disabled by default.

boolean

false

Path of the key file (JKS format).

string

string

PFX config is disabled by default.

boolean

false

Path to the key file (PFX format).

string

string

PEM Trust config is disabled by default.

boolean

false

Comma-separated list of the trust certificate files (Pem format).

list of string

JKS config is disabled by default.

boolean

false

Path of the key file (JKS format).

string

string

PFX config is disabled by default.

boolean

false

Path to the key file (PFX format).

string

string

int

The client authentication.

string

NONE

Duration

60S

The idle timeout in milliseconds.

Duration

int

The number of reconnection attempts.

int

0

The reconnection interval in milliseconds.

Duration

1S

Whether or not to reuse the address.

boolean

true

Whether or not to reuse the port.

boolean

false

int

int

Enables or Disabled SSL.

boolean

false

Whether or not to keep the TCP connection opened (keep-alive).

boolean

false

Configure the TCP no delay.

boolean

true

Configure the traffic class.

int

Enables or disables the trust all parameter.

boolean

false

string

localhost

int

The public host name.

string

int

Enables or disables the clustering.

boolean

false

Duration

20S

Duration

20S

The maximum amount of time in seconds that a successfully resolved address will be cached. If not set explicitly, resolved addresses may be cached forever.

int

2147483647

The minimum amount of time in seconds that a successfully resolved address will be cached.

int

0

The amount of time in seconds that an unsuccessful attempt to resolve an address will be cached.

int

0

The maximum number of queries to be sent during a resolution.

int

4

The duration after which a DNS query is considered to be failed.

Duration

5S

Enable or disable native transport

boolean

false

Eclipse Vert.x - HTTP

Type

Default

The number of history log entries to remember.

int

50

The HTTP root path. All web content will be served relative to this root path.

string

/

If basic auth should be enabled. If both basic and form auth is enabled then basic auth will be enabled in silent mode. If no authentication mechanisms are configured basic auth is the default.

boolean

If form authentication is enabled

boolean

false

string

/login.html

string

/j_security_check

string

j_username

string

j_password

string

/error.html

The landing page to redirect to if there is no saved page to redirect back to

string

/index.html

Option to disable redirect to landingPage if there is no saved page to redirect back to. Form Auth POST is followed by redirect to landingPage by default.

boolean

true

Option to control the name of the cookie used to redirect the user back to where he want to get access to.

string

quarkus-redirect-location

The inactivity (idle) timeout When inactivity timeout is reached, cookie is not renewed and a new login is enforced.

Duration

PT30M

How old a cookie can get before it will be replaced with a new cookie with an updated timeout, also referred to as "renewal-timeout". Note that smaller values will result in slightly more server load (as new encrypted cookies will be generated more often), however larger values affect the inactivity timeout as the timeout is set when a cookie is generated. For example if this is set to 10 minutes, and the inactivity timeout is 30m, if a users last request is when the cookie is 9m old then the actual timeout will happen 21m after the last request, as the timeout is only refreshed when a new cookie is generated. In other words no timeout is tracked on the server side; the timestamp is encoded and encrypted in the cookie itself and it is decrypted and parsed with each request.

Duration

PT1M

The cookie that is used to store the persistent session

string

quarkus-credential

The authentication realm

string

Quarkus

If this is true and credentials are present then a user will always be authenticated before the request progresses. If this is false then an attempt will only be made to authenticate the user if a permission check is performed or the current user is required for some other reason.

boolean

true

Configures the engine to require/request client authentication. NONE, REQUEST, REQUIRED

none, request, required

none

If this is true then only a virtual channel will be set up for vertx web. We have this switch for testing purposes.

boolean

false

A common root path for non-application endpoints. Various extension-provided endpoints such as metrics, health, and openapi are deployed under this path by default.

  • Relative path (Default, q) → Non-application endpoints will be served from ${quarkus.http.root-path}/${quarkus.http.non-application-root-path}.

  • Absolute path (/q) → Non-application endpoints will be served from the specified path.

  • ${quarkus.http.root-path} → Setting this path to the same value as HTTP root path disables this root path. All extension-provided endpoints will be served from ${quarkus.http.root-path}.

string

q

The REST Assured client timeout for testing.

Duration

30S

If responses should be compressed. Note that this will attempt to compress all responses, to avoid compressing already compressed content (such as images) you need to set the following header: Content-Encoding: identity Which will tell vert.x not to compress the response.

boolean

false

When enabled, vert.x will decompress the request’s body if it’s compressed. Note that the compression format (e.g., gzip) must be specified in the Content-Encoding header in the request.

boolean

false

List of media types for which the compression should be enabled automatically, unless declared explicitly via Compressed or Uncompressed.

list of string

text/html,text/plain,text/xml,text/css,text/javascript,application/javascript

The compression level used when compression support is enabled.

int

Enable the CORS filter.

boolean

false

The HTTP port

int

8080

The HTTP port used to run tests

int

8081

The HTTP host In dev/test mode this defaults to localhost, in prod mode this defaults to 0.0.0.0 Defaulting to 0.0.0.0 makes it easier to deploy Quarkus to container, however it is not suitable for dev/test mode as other people on the network can connect to your development machine.

string

required

Enable listening to host:port

boolean

true

The HTTPS port

int

8443

The HTTPS port used to run tests

int

8444

If insecure (i.e. http rather than https) requests are allowed. If this is enabled then http works as normal. redirect will still open the http port, but all requests will be redirected to the HTTPS port. disabled will prevent the HTTP port from opening at all.

enabled, redirect, disabled

enabled

If this is true (the default) then HTTP/2 will be enabled. Note that for browsers to be able to use it HTTPS must be enabled, and you must be running on JDK11 or above, as JDK8 does not support ALPN.

boolean

true

Origins allowed for CORS Comma separated list of valid URLs, e.g.: http://www.quarkus.io,http://localhost:3000 In case an entry of the list is surrounded by forward slashes, it is interpreted as a regular expression. The filter allows any origin if this is not set. default: returns any requested origin as valid

list of string

HTTP methods allowed for CORS Comma separated list of valid methods. ex: GET,PUT,POST The filter allows any method if this is not set. default: returns any requested method as valid

list of string

HTTP headers allowed for CORS Comma separated list of valid headers. ex: X-Custom,Content-Disposition The filter allows any header if this is not set. default: returns any requested header as valid

list of string

HTTP headers exposed in CORS Comma separated list of valid headers. ex: X-Custom,Content-Disposition default: empty

list of string

The Access-Control-Max-Age response header value indicating how long the results of a pre-flight request can be cached.

Duration

The Access-Control-Allow-Credentials header is used to tell the browsers to expose the response to front-end JavaScript code when the request’s credentials mode Request.credentials is “include”. The value of this header will default to true if quarkus.http.cors.origins property is set and there is a match with the precise Origin header and that header is not '*'.

boolean

The list of path to server certificates using the PEM format. Specifying multiple files require SNI to be enabled.

list of path

The list of path to server certificates private key file using the PEM format. Specifying multiple files require SNI to be enabled. The order of the key files must match the order of the certificates.

list of path

An optional key store which holds the certificate information instead of specifying separate files.

path

An optional parameter to specify type of the key store file. If not given, the type is automatically detected based on the file name.

string

An optional parameter to specify a provider of the key store file. If not given, the provider is automatically detected based on the key store file type.

string

A parameter to specify the password of the key store file. If not given, the default ("password") is used.

string

password

An optional parameter to select a specific key in the key store. When SNI is disabled, if the key store contains multiple keys and no alias is specified, the behavior is undefined.

string

An optional parameter to define the password for the key, in case it’s different from key-store-password.

string

An optional trust store which holds the certificate information of the certificates to trust.

path

An optional parameter to specify type of the trust store file. If not given, the type is automatically detected based on the file name.

string

An optional parameter to specify a provider of the trust store file. If not given, the provider is automatically detected based on the trust store file type.

string

A parameter to specify the password of the trust store file.

string

An optional parameter to trust only one specific certificate in the trust store (instead of trusting all certificates in the store).

string

The cipher suites to use. If none is given, a reasonable default is selected.

list of string

The list of protocols to explicitly enable.

list of string

TLSv1.3,TLSv1.2

Enables Server Name Indication (SNI), an TLS extension allowing the server to use multiple certificates. The client indicate the server name during the TLS handshake, allowing the server to select the right certificate.

boolean

false

The number if IO threads used to perform IO. This will be automatically set to a reasonable value based on the number of CPU cores if it is not provided. If this is set to a higher value than the number of Vert.x event loops then it will be capped at the number of event loops. In general this should be controlled by setting quarkus.vertx.event-loops-pool-size, this setting should only be used if you want to limit the number of HTTP io threads to a smaller number than the total number of IO threads.

int

The maximum length of all headers.

MemorySize

20K

The maximum size of a request body.

MemorySize

10240K

The max HTTP chunk size

MemorySize

8192

The maximum length of the initial line (e.g. "GET / HTTP/1.0").

int

4096

The maximum length of a form attribute.

MemorySize

2048

The maximum number of connections that are allowed at any one time. If this is set it is recommended to set a short idle timeout.

int

Http connection idle timeout

Duration

30M

Http connection read timeout for blocking IO. This is the maximum amount of time a thread will wait for data, before an IOException will be thrown and the connection closed.

Duration

60S

Whether the files sent using multipart/form-data will be stored locally. If true, they will be stored in quarkus.http.body-handler.uploads-directory and will be made available via io.vertx.ext.web.RoutingContext.fileUploads(). Otherwise, the the files sent using multipart/form-data will not be stored locally, and io.vertx.ext.web.RoutingContext.fileUploads() will always return an empty collection. Note that even with this option being set to false, the multipart/form-data requests will be accepted.

boolean

true

The directory where the files sent using multipart/form-data should be stored. Either an absolute path or a path relative to the current directory of the application process.

string

${java.io.tmpdir}/uploads

Whether the form attributes should be added to the request parameters. If true, the form attributes will be added to the request parameters; otherwise the form parameters will not be added to the request parameters

boolean

true

Whether the uploaded files should be removed after serving the request. If true the uploaded files stored in quarkus.http.body-handler.uploads-directory will be removed after handling the request. Otherwise the files will be left there forever.

boolean

true

Whether the body buffer should pre-allocated based on the Content-Length header value. If true the body buffer is pre-allocated according to the size read from the Content-Length header. Otherwise the body buffer is pre-allocated to 1KB, and is resized dynamically

boolean

false

The encryption key that is used to store persistent logins (e.g. for form auth). Logins are stored in a persistent cookie that is encrypted with AES-256 using a key derived from a SHA-256 hash of the key that is provided here. If no key is provided then an in-memory one will be generated, this will change on every restart though so it is not suitable for production environments. This must be more than 16 characters long for security reasons

string

Enable socket reuse port (linux/macOs native transport only)

boolean

false

Enable tcp quick ack (linux native transport only)

boolean

false

Enable tcp cork (linux native transport only)

boolean

false

Enable tcp fast open (linux native transport only)

boolean

false

The accept backlog, this is how many connections can be waiting to be accepted before connections start being rejected

int

-1

Path to a unix domain socket

string

/var/run/io.quarkus.app.socket

Enable listening to host:port

boolean

false

If this is true then the request start time will be recorded to enable logging of total request time. This has a small performance penalty, so is disabled by default.

boolean

false

If access logging is enabled. By default this will log via the standard logging facility

boolean

false

A regular expression that can be used to exclude some paths from logging.

string

The access log pattern.

If this is the string common, combined or long then this will use one of the specified named formats:

  • common: %h %l %u %t "%r" %s %b

  • combined: %h %l %u %t "%r" %s %b "%{i,Referer}" "%{i,User-Agent}"

  • long: %r\n%{ALL_REQUEST_HEADERS}

Otherwise consult the Quarkus documentation for the full list of variables that can be used.

string

common

If logging should be done to a separate file.

boolean

false

The access log file base name, defaults to 'quarkus' which will give a log file name of 'quarkus.log'.

string

quarkus

The log directory to use when logging access to a file If this is not set then the current working directory is used.

string

string

.log

The log category to use if logging is being done via the standard log mechanism (i.e. if base-file-name is empty).

string

io.quarkus.http.access-log

If the log should be rotated daily

boolean

true

Provides a hint (optional) for the default content type of responses generated for the errors not handled by the application. If the client requested a supported content-type in request headers (e.g. "Accept: application/json", "Accept: text/html"), Quarkus will use that content type. Otherwise, it will default to the content type configured here.

json, html

If this is true then the address, scheme etc will be set from headers forwarded by the proxy server, such as X-Forwarded-For. This should only be set if you are behind a proxy that sets these headers.

boolean

false

If this is true and proxy address forwarding is enabled then the standard Forwarded header will be used, rather than the more common but not standard X-Forwarded-For.

boolean

false

Enable override the received request’s host through a forwarded host header.

boolean

false

Configure the forwarded host header to be used if override enabled.

string

X-Forwarded-Host

Enable prefix the received request’s path with a forwarded prefix header.

boolean

false

Configure the forwarded prefix header to be used if prefixing enabled.

string

X-Forwarded-Prefix

Determines whether the entire permission set is enabled, or not. By default, if the permission set is defined, it is enabled.

boolean

The HTTP policy that this permission set is linked to. There are 3 built in policies: permit, deny and authenticated. Role based policies can be defined, and extensions can add their own policies.

string

required

The methods that this permission set applies to. If this is not set then they apply to all methods. Note that if a request matches any path from any permission set, but does not match the constraint due to the method not being listed then the request will be denied. Method specific permissions take precedence over matches that do not have any methods set. This means that for example if Quarkus is configured to allow GET and POST requests to /admin to and no other permissions are configured PUT requests to /admin will be denied.

list of string

The paths that this permission check applies to. If the path ends in /* then this is treated as a path prefix, otherwise it is treated as an exact match. Matches are done on a length basis, so the most specific path match takes precedence. If multiple permission sets match the same path then explicit methods matches take precedence over over matches without methods set, otherwise the most restrictive permissions are applied.

list of string

Path specific authentication mechanism which must be used to authenticate a user. It needs to match HttpCredentialTransport authentication scheme such as 'basic', 'bearer', 'form', etc.

string

The roles that are allowed to access resources protected by this policy

list of string

required

If the cookie pattern is case sensitive

boolean

false

The value to set in the samesite attribute

none, strict, lax

required

Some User Agents break when sent SameSite=None, this will detect them and avoid sending the value

boolean

true

If this is true then the 'secure' attribute will automatically be sent on cookies with a SameSite attribute of None.

boolean

true

The path this header should be applied

string

/*

The value for this header configuration

string

required

The HTTP methods for this header configuration

list of string

A regular expression for the paths matching this configuration

string

required

Additional HTTP Headers always sent in the response

Map<String,String>

The HTTP methods for this path configuration

list of string

int

Eclipse Vert.x GraphQL

Type

Default

If GraphQL UI should be included every time. By default this is only included when the application is running in dev mode.

boolean

false

The path where GraphQL UI is available. The value / is not allowed as it blocks the application from serving anything else.

string

graphql-ui

Elasticsearch REST Client Common

Type

Default

If Dev Services for Elasticsearch has been explicitly enabled or disabled. Dev Services are generally enabled by default, unless there is an existing configuration present. For Elasticsearch, Dev Services starts a server unless quarkus.elasticsearch.hosts is set.

boolean

Optional fixed port the dev service will listen to. If not defined, the port will be chosen randomly.

int

The Elasticsearch container image to use. Defaults to the elasticsearch image provided by Elastic.

string

docker.elastic.co/elasticsearch/elasticsearch:7.17.0

The value for the ES_JAVA_OPTS env variable. Defaults to setting the heap to 1GB.

string

-Xmx1g

Indicates if the Elasticsearch server managed by Quarkus Dev Services is shared. When shared, Quarkus looks for running containers using label-based service discovery. If a matching container is found, it is used, and so a second one is not started. Otherwise, Dev Services for Elasticsearch starts a new container. The discovery uses the quarkus-dev-service-elasticsearch label. The value is configured using the service-name property. Container sharing is only used in dev mode.

boolean

true

The value of the quarkus-dev-service-elasticsearch label attached to the started container. This property is used when shared is set to true. In this case, before starting a container, Dev Services for Elasticsearch looks for a container with the quarkus-dev-service-elasticsearch label set to the configured value. If found, it will use this container instead of starting a new one. Otherwise it starts a new container with the quarkus-dev-service-elasticsearch label set to the specified value. This property is used when you need multiple shared Elasticsearch servers.

string

elasticsearch

Elasticsearch REST client

Type

Default

Whether or not an health check is published in case the smallrye-health extension is present.

boolean

true

The list of hosts of the Elasticsearch servers.

list of host:port

localhost:9200

The protocol to use when contacting Elasticsearch servers. Set to "https" to enable SSL/TLS.

string

http

The username for basic HTTP authentication.

string

The password for basic HTTP authentication.

string

Duration

1S

Duration

30S

The maximum number of connections to all the Elasticsearch servers.

int

20

The maximum number of connections per Elasticsearch server.

int

10

The number of IO thread. By default, this is the number of locally detected processors. Thread counts higher than the number of processors should not be necessary because the I/O threads rely on non-blocking operations, but you may want to use a thread count lower than the number of processors.

int

Defines if automatic discovery is enabled.

boolean

false

Refresh interval of the node list.

Duration

5M

Elytron Security JDBC

Type

Default

string

Quarkus

If the properties store is enabled.

boolean

false

The sql query to find the password

string

string

boolean

false

The index (1 based numbering) of the column containing the clear password

int

1

boolean

false

The index (1 based numbering) of the column containing the password hash

int

0

A string referencing the password hash encoding ("BASE64" or "HEX")

base64, hex

base64

The index (1 based numbering) of the column containing the Bcrypt salt

int

0

A string referencing the salt encoding ("BASE64" or "HEX")

base64, hex

base64

The index (1 based numbering) of the column containing the Bcrypt iteration count

int

0

int

0

string

required

string

string

int

0

string

required

boolean

false

The index (1 based numbering) of the column containing the clear password

int

1

boolean

false

The index (1 based numbering) of the column containing the password hash

int

0

A string referencing the password hash encoding ("BASE64" or "HEX")

base64, hex

base64

The index (1 based numbering) of the column containing the Bcrypt salt

int

0

base64, hex

base64

The index (1 based numbering) of the column containing the Bcrypt iteration count

int

0

Elytron Security LDAP Realm

Type

Default

The option to enable the ldap elytron module

boolean

false

The elytron realm name

string

Quarkus

Provided credentials are verified against ldap?

boolean

true

The url of the ldap server

string

required

The principal: user which is used to connect to ldap server (also named "bindDn")

string

The password which belongs to the principal (also named "bindCredential")

string

how ldap redirects are handled

ignore, follow, throw

ignore

Duration

5S

Duration

60S

The identifier which correlates to the provided user (also named "baseFilter")

string

uid

string

required

If the child nodes are also searched for identities

boolean

false

string

required

The identifier whom the attribute is mapped to (in Quarkus: "groups", in WildFly this is "Roles")

string

groups

string

required

string

required

Elytron Security OAuth 2.0

Type

Default

Determine if the OAuth2 extension is enabled. Enabled by default if you include the elytron-security-oauth2 dependency, so this would be used to disable it.

boolean

true

The claim that is used in the introspection endpoint response to load the roles.

string

scope

The OAuth2 client id used to validate the token. Mandatory if the extension is enabled.

string

The OAuth2 client secret used to validate the token. Mandatory if the extension is enabled.

string

The OAuth2 introspection endpoint URL used to validate the token and gather the authentication claims. Mandatory if the extension is enabled.

string

The OAuth2 server certificate file. Warning: this is not supported in native mode where the certificate must be included in the truststore used during the native image generation, see Using SSL With Native Executables.

string

Elytron Security Properties File

Type

Default

If the properties are stored in plain text. If this is false (the default) then it is expected that the passwords are of the form HEX( MD5( username ":" realm ":" password ) )

boolean

false

Determine which algorithm to use. This property is ignored if plainText is true.

digest-md5, digest-sha, digest-sha-256, digest-sha-384, digest-sha-512, digest-sha-512-256

digest-md5

The realm users user1=password\nuser2=password2…​ mapping. See Embedded Users.

Map<String,String>

none

The realm roles user1=role1,role2,…​\nuser2=role1,role2,…​ mapping See Embedded Roles.

Map<String,String>

none

Property Files Realm Configuration

Type

Default

The realm name. This is used when generating a hashed password

string

Quarkus

Determine whether security via the file realm is enabled.

boolean

false

If the properties are stored in plain text. If this is false (the default) then it is expected that the passwords are of the form HEX( MD5( username ":" realm ":" password ) )

boolean

false

Classpath resource name of properties file containing user to password mappings. See Users.properties.

string

users.properties

Classpath resource name of properties file containing user to role mappings. See Roles.properties.

string

roles.properties

Embedded Realm Configuration

Type

Default

The realm name. This is used when generating a hashed password

string

Quarkus

Determine whether security via the embedded realm is enabled.

boolean

false

Flyway

Type

Default

Comma-separated list of locations to scan recursively for migrations. The location type is determined by its prefix. Unprefixed locations or locations starting with classpath: point to a package on the classpath and may contain both SQL and Java-based migrations. Locations starting with filesystem: point to a directory on the filesystem, may only contain SQL migrations and are only scanned recursively down non-hidden directories.

list of string

db/migration

Comma-separated list of fully qualified class names of Callback implementations to use to hook into the Flyway lifecycle. The org.flywaydb.core.api.callback.Callback sub-class must have a no-args constructor and must not be abstract. These classes must also not have any fields that hold state (unless that state is initialized in the constructor).

list of string

The maximum number of retries when attempting to connect to the database. After each failed attempt, Flyway will wait 1 second before attempting to connect again, up to the maximum number of times specified by connectRetries.

int

Sets the default schema managed by Flyway. This schema name is case-sensitive. If not specified, but schemas is, Flyway uses the first schema in that list. If that is also not specified, Flyway uses the default schema for the database connection. Consequences: - This schema will be the one containing the schema history table. - This schema will be the default for the database connection (provided the database supports this concept).

string

Comma-separated case-sensitive list of schemas managed by Flyway. The first schema in the list will be automatically set as the default one during the migration. It will also be the one containing the schema history table.

list of string

The name of Flyway’s schema history table. By default (single-schema mode) the schema history table is placed in the default schema for the connection provided by the datasource. When the flyway.schemas property is set (multi-schema mode), the schema history table is placed in the first schema of the list.

string

The file name prefix for versioned SQL migrations. Versioned SQL migrations have the following file name structure: prefixVERSIONseparatorDESCRIPTIONsuffix , which using the defaults translates to V1.1__My_description.sql

string

The file name prefix for repeatable SQL migrations. Repeatable SQL migrations have the following file name structure: prefixSeparatorDESCRIPTIONsuffix , which using the defaults translates to R__My_description.sql

string

true to execute Flyway clean command automatically when the application starts, false otherwise.

boolean

false

true to prevent Flyway clean operations, false otherwise.

boolean

false

true to execute Flyway automatically when the application starts, false otherwise.

boolean

false

Enable the creation of the history table if it does not exist already.

boolean

false

The initial baseline version.

string

The description to tag an existing schema with when executing baseline.

string

Whether to automatically call validate when performing a migration.

boolean

false

Allows migrations to be run "out of order".

boolean

false

Ignore missing migrations when reading the history table. When set to true migrations from older versions present in the history table but absent in the configured locations will be ignored (and logged as a warning), when false (the default) the validation step will fail.

boolean

false

Ignore future migrations when reading the history table. When set to true migrations from newer versions present in the history table but absent in the configured locations will be ignored (and logged as a warning), when false (the default) the validation step will fail.

boolean

false

Whether Flyway should attempt to create the schemas specified in the schemas property

boolean

true

Prefix of every placeholder (default: ${ )

string

Suffix of every placeholder (default: } )

string

The SQL statements to run to initialize a new database connection immediately after opening it.

string

Comma-separated list of locations to scan recursively for migrations. The location type is determined by its prefix. Unprefixed locations or locations starting with classpath: point to a package on the classpath and may contain both SQL and Java-based migrations. Locations starting with filesystem: point to a directory on the filesystem, may only contain SQL migrations and are only scanned recursively down non-hidden directories.

list of string

db/migration

Comma-separated list of fully qualified class names of Callback implementations to use to hook into the Flyway lifecycle. The org.flywaydb.core.api.callback.Callback sub-class must have a no-args constructor and must not be abstract. These classes must also not have any fields that hold state (unless that state is initialized in the constructor).

list of string

Sets the placeholders to replace in SQL migration scripts.

Map<String,String>

The maximum number of retries when attempting to connect to the database. After each failed attempt, Flyway will wait 1 second before attempting to connect again, up to the maximum number of times specified by connectRetries.

int

Sets the default schema managed by Flyway. This schema name is case-sensitive. If not specified, but schemas is, Flyway uses the first schema in that list. If that is also not specified, Flyway uses the default schema for the database connection. Consequences: - This schema will be the one containing the schema history table. - This schema will be the default for the database connection (provided the database supports this concept).

string

Comma-separated case-sensitive list of schemas managed by Flyway. The first schema in the list will be automatically set as the default one during the migration. It will also be the one containing the schema history table.

list of string

The name of Flyway’s schema history table. By default (single-schema mode) the schema history table is placed in the default schema for the connection provided by the datasource. When the flyway.schemas property is set (multi-schema mode), the schema history table is placed in the first schema of the list.

string

The file name prefix for versioned SQL migrations. Versioned SQL migrations have the following file name structure: prefixVERSIONseparatorDESCRIPTIONsuffix , which using the defaults translates to V1.1__My_description.sql

string

The file name prefix for repeatable SQL migrations. Repeatable SQL migrations have the following file name structure: prefixSeparatorDESCRIPTIONsuffix , which using the defaults translates to R__My_description.sql

string

true to execute Flyway clean command automatically when the application starts, false otherwise.

boolean

false

true to prevent Flyway clean operations, false otherwise.

boolean

false

true to execute Flyway automatically when the application starts, false otherwise.

boolean

false

Enable the creation of the history table if it does not exist already.

boolean

false

string

The description to tag an existing schema with when executing baseline.

string

Whether to automatically call validate when performing a migration.

boolean

false

Allows migrations to be run "out of order".

boolean

false

Ignore missing migrations when reading the history table. When set to true migrations from older versions present in the history table but absent in the configured locations will be ignored (and logged as a warning), when false (the default) the validation step will fail.

boolean

false

Ignore future migrations when reading the history table. When set to true migrations from newer versions present in the history table but absent in the configured locations will be ignored (and logged as a warning), when false (the default) the validation step will fail.

boolean

false

Sets the placeholders to replace in SQL migration scripts.

Map<String,String>

Whether Flyway should attempt to create the schemas specified in the schemas property

boolean

true

Prefix of every placeholder (default: ${ )

string

Suffix of every placeholder (default: } )

string

The SQL statements to run to initialize a new database connection immediately after opening it.

string

Funqy Knative Events Binding

Type

Default

Cloud Event type (ce-type) that triggers this function. Default value is function name. This config item is only required when there is more than one function defined within the deployment. The ce-type is not looked at if there is only one function in the deployment. The message will just be dispatched to that function. This allows you to change the knative trigger binding without having to change the configuration of the quarkus deployment.

string

If function has response output, then what is the Cloud Event type (ce-type)? This will default to {function}.output

string

If function has response output, then what is the Cloud Event source (ce-source)? This will default to the function name

string

Funqy Server Common

Type

Default

The function to export. If there is more than one function defined for this deployment, then you must set this variable. If there is only a single function, you do not have to set this config item.

string

Google Cloud Functions

Type

Default

The function name. Function names are specified on function classes using the @javax.inject.Named annotation. If this name is unspecified and there is exactly one unnamed function then this unnamed function will be used. If there is only a single named function and the name is unspecified then the named function will be used. These rules apply for each function implementation (HttpFunction, BackgroundFunction, RawBackgroundFunction).

string

Hibernate Envers

Type

Default

Enable store_data_at_delete feature. Maps to org.hibernate.envers.configuration.EnversSettings#STORE_DATA_AT_DELETE.

boolean

false

Defines a suffix for historical data table. Defaults to _AUD. Maps to org.hibernate.envers.configuration.EnversSettings#AUDIT_TABLE_SUFFIX.

string

_AUD

Defines a prefix for historical data table. Default is the empty string. Maps to org.hibernate.envers.configuration.EnversSettings#AUDIT_TABLE_PREFIX.

string

Revision field name. Defaults to REV. Maps to org.hibernate.envers.configuration.EnversSettings#REVISION_FIELD_NAME.

string

REV

Revision type field name. Defaults to REVTYPE. Maps to org.hibernate.envers.configuration.EnversSettings#REVISION_TYPE_FIELD_NAME.

string

REVTYPE

Enable the revision_on_collection_change feature. Maps to org.hibernate.envers.configuration.EnversSettings#REVISION_ON_COLLECTION_CHANGE.

boolean

true

Enable the do_not_audit_optimistic_locking_field feature. Maps to org.hibernate.envers.configuration.EnversSettings#DO_NOT_AUDIT_OPTIMISTIC_LOCKING_FIELD.

boolean

true

Defines the default schema of where audit tables are to be created. Maps to org.hibernate.envers.configuration.EnversSettings#DEFAULT_SCHEMA.

string

Defines the default catalog of where audit tables are to be created. Maps to org.hibernate.envers.configuration.EnversSettings#DEFAULT_CATALOG.

string

Enables the track_entities_changed_in_revision feature. Maps to org.hibernate.envers.configuration.EnversSettings#TRACK_ENTITIES_CHANGED_IN_REVISION.

boolean

false

Enables the use_revision_entity_with_native_id feature. Maps to org.hibernate.envers.configuration.EnversSettings#USE_REVISION_ENTITY_WITH_NATIVE_ID.

boolean

true

Enables the global_with_modified_flag feature. Maps to org.hibernate.envers.configuration.EnversSettings#GLOBAL_WITH_MODIFIED_FLAG.

boolean

false

Defines the suffix to be used for modified flag columns. Defaults to _MOD. Maps to org.hibernate.envers.configuration.EnversSettings#MODIFIED_FLAG_SUFFIX

string

_MOD

Defines the fully qualified class name of a user defined revision listener. Maps to org.hibernate.envers.configuration.EnversSettings#REVISION_LISTENER.

string

Defines the fully qualified class name of the audit strategy to be used. Maps to org.hibernate.envers.configuration.EnversSettings#AUDIT_STRATEGY.

string

org.hibernate.envers.strategy.DefaultAuditStrategy

Defines the property name for the audit entity’s composite primary key. Defaults to originalId. Maps to org.hibernate.envers.configuration.EnversSettings#ORIGINAL_ID_PROP_NAME.

string

originalId

Defines the column name that holds the end revision number in audit entities. Defaults to REVEND. Maps to org.hibernate.envers.configuration.EnversSettings#AUDIT_STRATEGY_VALIDITY_END_REV_FIELD_NAME.

string

REVEND

Enables the audit_strategy_validity_store_revend_timestamp feature. Maps to org.hibernate.envers.configuration.EnversSettings#AUDIT_STRATEGY_VALIDITY_STORE_REVEND_TIMESTAMP.

boolean

false

Defines the column name of the revision end timestamp in the audit tables. Defaults to REVEND_TSTMP. Maps to org.hibernate.envers.configuration.EnversSettings#AUDIT_STRATEGY_VALIDITY_REVEND_TIMESTAMP_FIELD_NAME.

string

REVEND_TSTMP

Defines the name of the column used for storing collection ordinal values for embeddable elements. Defaults to SETORDINAL. Maps to org.hibernate.envers.configuration.EnversSettings#EMBEDDABLE_SET_ORDINAL_FIELD_NAME.

string

SETORDINAL

Enables the allow_identifier_reuse feature. Maps to org.hibernate.envers.configuration.EnversSettings#ALLOW_IDENTIFIER_REUSE.

boolean

false

Defines the naming strategy to be used for modified columns. Defaults to org.hibernate.envers.boot.internal.LegacyModifiedColumnNamingStrategy. Maps to org.hibernate.envers.configuration.EnversSettings#MODIFIED_COLUMN_NAMING_STRATEGY.

string

org.hibernate.envers.boot.internal.LegacyModifiedColumnNamingStrategy

Hibernate ORM

Type

Default

string

list of string

Path to a file containing the SQL statements to execute when Hibernate ORM starts.

The file is retrieved from the classpath resources, so it must be located in the resources directory (e.g. src/main/resources).

The default value for this setting differs depending on the Quarkus launch mode:

  • In dev and test modes, it defaults to import.sql. Simply add an import.sql file in the root of your resources directory and it will be picked up without having to set this property. Pass no-file to force Hibernate ORM to ignore the SQL import file.

  • In production mode, it defaults to no-file. It means Hibernate ORM won’t try to execute any SQL import file by default. Pass an explicit value to force Hibernate ORM to execute the SQL import file.

If you need different SQL statements between dev mode, test (@QuarkusTest) and in production, use Quarkus configuration profiles facility.

application.properties
%dev.quarkus.hibernate-orm.sql-load-script = import-dev.sql
%test.quarkus.hibernate-orm.sql-load-script = import-test.sql
%prod.quarkus.hibernate-orm.sql-load-script = no-file

Quarkus supports .sql file with SQL statements or comments spread over multiple lines. Each SQL statement must be terminated by a semicolon.

list of string

import.sql in DEV, TEST ; no-file otherwise

Pluggable strategy contract for applying physical naming rules for database object names. Class name of the Hibernate PhysicalNamingStrategy implementation

string

Pluggable strategy for applying implicit naming rules when an explicit name is not given. Class name of the Hibernate ImplicitNamingStrategy implementation

string

Class name of a custom org.hibernate.boot.spi.MetadataBuilderContributor implementation.

Not all customization options exposed by org.hibernate.boot.MetadataBuilder will work correctly. Stay clear of options related to classpath scanning in particular.

This setting is exposed mainly to allow registration of types, converters and SQL functions.

string

XML files to configure the entity mapping, e.g. META-INF/my-orm.xml. Defaults to META-INF/orm.xml if it exists. Pass no-file to force Hibernate ORM to ignore META-INF/orm.xml.

list of string

META-INF/orm.xml if it exists; no-file otherwise

The default in Quarkus is for 2nd level caching to be enabled, and a good implementation is already integrated for you. Just cherry-pick which entities should be using the cache. Set this to false to disable all 2nd level caches.

boolean

true

Defines the method for multi-tenancy (DATABASE, NONE, SCHEMA). The complete list of allowed values is available in the Hibernate ORM JavaDoc. The type DISCRIMINATOR is currently not supported. The default value is NONE (no multi-tenancy).

string

Defines the name of the datasource to use in case of SCHEMA approach. The datasource of the persistence unit will be used if not set.

string

If hibernate is not auto generating the schema, and Quarkus is running in development mode then Quarkus will attempt to validate the database after startup and print a log message if there are any problems.

boolean

true

Whether statistics collection is enabled. If 'metrics.enabled' is true, then the default here is considered true, otherwise the default is false.

boolean

Whether session metrics should be appended into the server log for each Hibernate session. This only has effect if statistics are enabled (quarkus.hibernate-orm.statistics). The default is false (which means both statistics and log-session-metrics need to be enabled for the session metrics to appear in the log).

boolean

Whether or not metrics are published if a metrics extension is enabled.

boolean

false

Dialect related configuration

Type

Default

Class name of the Hibernate ORM dialect. The complete list of bundled dialects is available in the Hibernate ORM JavaDoc.

Not all the dialects are supported in GraalVM native executables: we currently provide driver extensions for PostgreSQL, MariaDB, Microsoft SQL Server and H2.

string

The storage engine to use when the dialect supports multiple storage engines.

E.g. MyISAM or InnoDB for MySQL.

string

Query related configuration

Type

Default

The maximum size of the query plan cache. see #QueryPlanCache#DEFAULT_QUERY_PLAN_MAX_COUNT

int

2048

Default precedence of null values in ORDER BY clauses.

Valid values are: none, first, last.

none, first, last

none

Database related configuration

Type

Default

The charset of the database. Used for DDL generation and also for the SQL import scripts.

Charset

UTF-8

Whether Hibernate should quote all identifiers.

boolean

false

Select whether the database schema is generated or not. drop-and-create is awesome in development mode. This defaults to 'none', however if Dev Services is in use and no other extensions that manage the schema are present this will default to 'drop-and-create'. Accepted values: none, create, drop-and-create, drop, update, validate.

string

none

If Hibernate ORM should create the schemas automatically (for databases supporting them).

boolean

false

Whether we should stop on the first error when applying the schema.

boolean

false

The default catalog to use for the database objects.

string

The default schema to use for the database objects.

string

JDBC related configuration

Type

Default

The time zone pushed to the JDBC driver.

string

How many rows are fetched at a time by the JDBC driver.

int

The number of updates (inserts, updates and deletes) that are sent by the JDBC driver at one time for execution.

int

Fetching logic configuration

Type

Default

The size of the batches used when loading entities and collections.

-1 means batch loading is disabled.

int

16

The maximum depth of outer join fetch tree for single-ended associations (one-to-one, many-to-one).

A 0 disables default outer join fetching.

int

Caching configuration

Type

Default

The maximum time before an object of the cache is considered expired.

Duration

The maximum number of objects kept in memory in the cache.

long

Discriminator related configuration

Type

Default

Existing applications rely (implicitly or explicitly) on Hibernate ignoring any DiscriminatorColumn declarations on joined inheritance hierarchies. This setting allows these applications to maintain the legacy behavior of DiscriminatorColumn annotations being ignored when paired with joined inheritance.

boolean

false

Additional named persistence units

Type

Default

string

list of string

Path to a file containing the SQL statements to execute when Hibernate ORM starts.

The file is retrieved from the classpath resources, so it must be located in the resources directory (e.g. src/main/resources).

The default value for this setting differs depending on the Quarkus launch mode:

  • In dev and test modes, it defaults to import.sql. Simply add an import.sql file in the root of your resources directory and it will be picked up without having to set this property. Pass no-file to force Hibernate ORM to ignore the SQL import file.

  • In production mode, it defaults to no-file. It means Hibernate ORM won’t try to execute any SQL import file by default. Pass an explicit value to force Hibernate ORM to execute the SQL import file.

If you need different SQL statements between dev mode, test (@QuarkusTest) and in production, use Quarkus configuration profiles facility.

application.properties
%dev.quarkus.hibernate-orm.sql-load-script = import-dev.sql
%test.quarkus.hibernate-orm.sql-load-script = import-test.sql
%prod.quarkus.hibernate-orm.sql-load-script = no-file

Quarkus supports .sql file with SQL statements or comments spread over multiple lines. Each SQL statement must be terminated by a semicolon.

list of string

import.sql in DEV, TEST ; no-file otherwise

Pluggable strategy contract for applying physical naming rules for database object names. Class name of the Hibernate PhysicalNamingStrategy implementation

string

Pluggable strategy for applying implicit naming rules when an explicit name is not given. Class name of the Hibernate ImplicitNamingStrategy implementation

string

Class name of a custom org.hibernate.boot.spi.MetadataBuilderContributor implementation.

Not all customization options exposed by org.hibernate.boot.MetadataBuilder will work correctly. Stay clear of options related to classpath scanning in particular.

This setting is exposed mainly to allow registration of types, converters and SQL functions.

string

XML files to configure the entity mapping, e.g. META-INF/my-orm.xml. Defaults to META-INF/orm.xml if it exists. Pass no-file to force Hibernate ORM to ignore META-INF/orm.xml.

list of string

META-INF/orm.xml if it exists; no-file otherwise

The default in Quarkus is for 2nd level caching to be enabled, and a good implementation is already integrated for you. Just cherry-pick which entities should be using the cache. Set this to false to disable all 2nd level caches.

boolean

true

Defines the method for multi-tenancy (DATABASE, NONE, SCHEMA). The complete list of allowed values is available in the Hibernate ORM JavaDoc. The type DISCRIMINATOR is currently not supported. The default value is NONE (no multi-tenancy).

string

Defines the name of the datasource to use in case of SCHEMA approach. The datasource of the persistence unit will be used if not set.

string

If hibernate is not auto generating the schema, and Quarkus is running in development mode then Quarkus will attempt to validate the database after startup and print a log message if there are any problems.

boolean

true

Dialect related configuration

Type

Default

Class name of the Hibernate ORM dialect. The complete list of bundled dialects is available in the Hibernate ORM JavaDoc.

Not all the dialects are supported in GraalVM native executables: we currently provide driver extensions for PostgreSQL, MariaDB, Microsoft SQL Server and H2.

string

The storage engine to use when the dialect supports multiple storage engines.

E.g. MyISAM or InnoDB for MySQL.

string

Query related configuration

Type

Default

The maximum size of the query plan cache. see #QueryPlanCache#DEFAULT_QUERY_PLAN_MAX_COUNT

int

2048

Default precedence of null values in ORDER BY clauses.

Valid values are: none, first, last.

none, first, last

none

Database related configuration

Type

Default

The charset of the database. Used for DDL generation and also for the SQL import scripts.

Charset

UTF-8

boolean

false

Select whether the database schema is generated or not. drop-and-create is awesome in development mode. This defaults to 'none', however if Dev Services is in use and no other extensions that manage the schema are present this will default to 'drop-and-create'. Accepted values: none, create, drop-and-create, drop, update, validate.

string

none

If Hibernate ORM should create the schemas automatically (for databases supporting them).

boolean

false

Whether we should stop on the first error when applying the schema.

boolean

false

The default catalog to use for the database objects.

string

The default schema to use for the database objects.

string

JDBC related configuration

Type

Default

The time zone pushed to the JDBC driver.

string

How many rows are fetched at a time by the JDBC driver.

int

The number of updates (inserts, updates and deletes) that are sent by the JDBC driver at one time for execution.

int

Fetching logic configuration

Type

Default

The size of the batches used when loading entities and collections.

-1 means batch loading is disabled.

int

16

The maximum depth of outer join fetch tree for single-ended associations (one-to-one, many-to-one).

A 0 disables default outer join fetching.

int

Caching configuration

Type

Default

The maximum time before an object of the cache is considered expired.

Duration

The maximum number of objects kept in memory in the cache.

long

Discriminator related configuration

Type

Default

Existing applications rely (implicitly or explicitly) on Hibernate ignoring any DiscriminatorColumn declarations on joined inheritance hierarchies. This setting allows these applications to maintain the legacy behavior of DiscriminatorColumn annotations being ignored when paired with joined inheritance.

boolean

false

Database scripts related configuration

Type

Default

Select whether the database schema DDL files are generated or not. Accepted values: none, create, drop-and-create, drop, update, validate.

string

none

Filename or URL where the database create DDL file should be generated.

string

Filename or URL where the database drop DDL file should be generated.

string

Logging configuration

Type

Default

Show SQL logs and format them nicely. Setting it to true is obviously not recommended in production.

boolean

false

Format the SQL logs if SQL log is enabled

boolean

true

Whether JDBC warnings should be collected and logged.

boolean

depends on dialect

If set, Hibernate will log queries that took more than specified number of milliseconds to execute.

long

Logging configuration

Type

Default

Logs SQL bind parameters. Setting it to true is obviously not recommended in production.

boolean

false

Show SQL logs and format them nicely. Setting it to true is obviously not recommended in production.

boolean

false

Format the SQL logs if SQL log is enabled

boolean

true

Whether JDBC warnings should be collected and logged.

boolean

depends on dialect

If set, Hibernate will log queries that took more than specified number of milliseconds to execute.

long

Database scripts related configuration

Type

Default

Select whether the database schema DDL files are generated or not. Accepted values: none, create, drop-and-create, drop, update, validate.

string

none

Filename or URL where the database create DDL file should be generated.

string

Filename or URL where the database drop DDL file should be generated.

string

Hibernate Search + Elasticsearch

Type

Default

A bean reference to a component that should be notified of any failure occurring in a background process (mainly index operations).

The referenced bean must implement FailureHandler.

string

The strategy to use for coordinating between threads or even separate instances of the application, in particular in automatic indexing.

See [coordination] for more information.

string

none

Whether Hibernate Search is enabled.

boolean

true

The schema management strategy, controlling how indexes and their schema are created, updated, validated or dropped on startup and shutdown.

Available values:

Strategy

Definition

none

Do nothing: assume that indexes already exist and that their schema matches Hibernate Search’s expectations.

validate

Validate that indexes exist and that their schema matches Hibernate Search’s expectations.

If it does not, throw an exception, but make no attempt to fix the problem.

create

For indexes that do not exist, create them along with their schema.

For indexes that already exist, do nothing: assume that their schema matches Hibernate Search’s expectations.

create-or-validate (default)

For indexes that do not exist, create them along with their schema.

For indexes that already exist, validate that their schema matches Hibernate Search’s expectations.

If it does not, throw an exception, but make no attempt to fix the problem.

create-or-update

For indexes that do not exist, create them along with their schema.

For indexes that already exist, validate that their schema matches Hibernate Search’s expectations; if it does not match expectations, try to update it.

This strategy is unfit for production environments, due to several important limitations, but can be useful when developing.

drop-and-create

For indexes that do not exist, create them along with their schema.

For indexes that already exist, drop them, then create them along with their schema.

drop-and-create-and-drop

For indexes that do not exist, create them along with their schema.

For indexes that already exist, drop them, then create them along with their schema.

Also, drop indexes and their schema on shutdown.

none, validate, create, create-or-validate, create-or-update, drop-and-create, drop-and-create-and-drop

create-or-validate

The strategy to use when loading entities during the execution of a search query.

skip, persistence-context, persistence-context-then-second-level-cache

skip

The fetch size to use when loading entities during the execution of a search query.

int

100

The synchronization strategy to use when indexing automatically.

Defines how complete indexing should be before resuming the application thread after a database transaction is committed.

Indexing synchronization is only relevant when coordination is disabled (which is the default).

With the outbox-polling coordination strategy, indexing happens in background threads and is always asynchronous; the behavior is equivalent to the write-sync synchronization strategy.

Available values:

Strategy

Throughput

Guarantees when the application thread resumes

Changes applied

Changes safe from crash/power loss

Changes visible on search

async

Best

write-sync (default)

Medium

read-sync

Medium to worst

sync

Worst

This property also accepts a bean reference to a custom implementations of AutomaticIndexingSynchronizationStrategy.

string

write-sync

Whether to check if dirty properties are relevant to indexing before actually reindexing an entity. When enabled, re-indexing of an entity is skipped if the only changes are on properties that are not used when indexing.

boolean

true

An exhaustive list of all tenant identifiers that may be used by the application when multi-tenancy is enabled. Mainly useful when using the outbox-polling coordination strategy, since it involves setting up one background processor per tenant.

list of string

Default backend

Type

Default

The version of Elasticsearch used in the cluster. As the schema is generated without a connection to the server, this item is mandatory. It doesn’t have to be the exact version (it can be 7 or 7.1 for instance) but it has to be sufficiently precise to choose a model dialect (the one used to generate the schema) compatible with the protocol dialect (the one used to communicate with Elasticsearch). There’s no rule of thumb here as it depends on the schema incompatibilities introduced by Elasticsearch versions. In any case, if there is a problem, you will have an error when Hibernate Search tries to connect to the cluster.

ElasticsearchVersion

A bean reference to the component used to configure layout (e.g. index names, index aliases).

The referenced bean must implement IndexLayoutStrategy.

Available built-in implementations:

simple

The default, future-proof strategy: if the index name in Hibernate Search is myIndex, this strategy will create an index named myindex-000001, an alias for write operations named myindex-write, and an alias for read operations named myindex-read.

no-alias

A strategy without index aliases, mostly useful on legacy clusters: if the index name in Hibernate Search is myIndex, this strategy will create an index named myindex, and will not use any alias.

string

Path to a file in the classpath holding custom index settings to be included in the index definition when creating an Elasticsearch index.

The provided settings will be merged with those generated by Hibernate Search, including analyzer definitions. When analysis is configured both through an analysis configurer and these custom settings, the behavior is undefined; it should not be relied upon.

string

Path to a file in the classpath holding a custom index mapping to be included in the index definition when creating an Elasticsearch index.

The file does not need to (and generally shouldn’t) contain the full mapping: Hibernate Search will automatically inject missing properties (index fields) in the given mapping.

string

A bean reference to the component used to configure full text analysis (e.g. analyzers, normalizers).

The referenced bean must implement ElasticsearchAnalysisConfigurer.

See [analysis-configurer] for more information.

string

The list of hosts of the Elasticsearch servers.

list of string

localhost:9200

The protocol to use when contacting Elasticsearch servers. Set to "https" to enable SSL/TLS.

http, https

http

The username used for authentication.

string

The password used for authentication.

string

The timeout when establishing a connection to an Elasticsearch server.

Duration

1S

The timeout when reading responses from an Elasticsearch server.

Duration

30S

The timeout when executing a request to an Elasticsearch server. This includes the time needed to wait for a connection to be available, send the request and read the response.

Duration

The maximum number of connections to all the Elasticsearch servers.

int

20

The maximum number of connections per Elasticsearch server.

int

10

Defines if automatic discovery is enabled.

boolean

false

Duration

10S

The size of the thread pool assigned to the backend. Note that number is per backend, not per index. Adding more indexes will not add more threads. As all operations happening in this thread-pool are non-blocking, raising its size above the number of processor cores available to the JVM will not bring noticeable performance benefit. The only reason to alter this setting would be to reduce the number of threads; for example, in an application with a single index with a single indexing queue, running on a machine with 64 processor cores, you might want to bring down the number of threads. Defaults to the number of processor cores available to the JVM on startup.

int

Whether Hibernate Search should check the version of the Elasticsearch cluster on startup. Set to false if the Elasticsearch cluster may not be available on startup.

boolean

true

green, yellow, red

yellow

How long we should wait for the status before failing the bootstrap.

Duration

10S

The number of indexing queues assigned to each index. Higher values will lead to more connections being used in parallel, which may lead to higher indexing throughput, but incurs a risk of overloading Elasticsearch, i.e. of overflowing its HTTP request buffers and tripping circuit breakers, leading to Elasticsearch giving up on some request and resulting in indexing failures.

int

10

The size of indexing queues. Lower values may lead to lower memory usage, especially if there are many queues, but values that are too low will reduce the likeliness of reaching the max bulk size and increase the likeliness of application threads blocking because the queue is full, which may lead to lower indexing throughput.

int

1000

The maximum size of bulk requests created when processing indexing queues. Higher values will lead to more documents being sent in each HTTP request sent to Elasticsearch, which may lead to higher indexing throughput, but incurs a risk of overloading Elasticsearch, i.e. of overflowing its HTTP request buffers and tripping circuit breakers, leading to Elasticsearch giving up on some request and resulting in indexing failures. Note that raising this number above the queue size has no effect, as bulks cannot include more requests than are contained in the queue.

int

100

Path to a file in the classpath holding custom index settings to be included in the index definition when creating an Elasticsearch index.

The provided settings will be merged with those generated by Hibernate Search, including analyzer definitions. When analysis is configured both through an analysis configurer and these custom settings, the behavior is undefined; it should not be relied upon.

string

Path to a file in the classpath holding a custom index mapping to be included in the index definition when creating an Elasticsearch index.

The file does not need to (and generally shouldn’t) contain the full mapping: Hibernate Search will automatically inject missing properties (index fields) in the given mapping.

string

A bean reference to the component used to configure full text analysis (e.g. analyzers, normalizers).

The referenced bean must implement ElasticsearchAnalysisConfigurer.

See [analysis-configurer] for more information.

string

green, yellow, red

yellow

Duration

10S

The number of indexing queues assigned to each index. Higher values will lead to more connections being used in parallel, which may lead to higher indexing throughput, but incurs a risk of overloading Elasticsearch, i.e. of overflowing its HTTP request buffers and tripping circuit breakers, leading to Elasticsearch giving up on some request and resulting in indexing failures.

int

10

The size of indexing queues. Lower values may lead to lower memory usage, especially if there are many queues, but values that are too low will reduce the likeliness of reaching the max bulk size and increase the likeliness of application threads blocking because the queue is full, which may lead to lower indexing throughput.

int

1000

The maximum size of bulk requests created when processing indexing queues. Higher values will lead to more documents being sent in each HTTP request sent to Elasticsearch, which may lead to higher indexing throughput, but incurs a risk of overloading Elasticsearch, i.e. of overflowing its HTTP request buffers and tripping circuit breakers, leading to Elasticsearch giving up on some request and resulting in indexing failures. Note that raising this number above the queue size has no effect, as bulks cannot include more requests than are contained in the queue.

int

100

Named backends

Type

Default

The version of Elasticsearch used in the cluster. As the schema is generated without a connection to the server, this item is mandatory. It doesn’t have to be the exact version (it can be 7 or 7.1 for instance) but it has to be sufficiently precise to choose a model dialect (the one used to generate the schema) compatible with the protocol dialect (the one used to communicate with Elasticsearch). There’s no rule of thumb here as it depends on the schema incompatibilities introduced by Elasticsearch versions. In any case, if there is a problem, you will have an error when Hibernate Search tries to connect to the cluster.

ElasticsearchVersion

A bean reference to the component used to configure layout (e.g. index names, index aliases).

The referenced bean must implement IndexLayoutStrategy.

Available built-in implementations:

simple

The default, future-proof strategy: if the index name in Hibernate Search is myIndex, this strategy will create an index named myindex-000001, an alias for write operations named myindex-write, and an alias for read operations named myindex-read.

no-alias

A strategy without index aliases, mostly useful on legacy clusters: if the index name in Hibernate Search is myIndex, this strategy will create an index named myindex, and will not use any alias.

string

Path to a file in the classpath holding custom index settings to be included in the index definition when creating an Elasticsearch index.

The provided settings will be merged with those generated by Hibernate Search, including analyzer definitions. When analysis is configured both through an analysis configurer and these custom settings, the behavior is undefined; it should not be relied upon.

string

Path to a file in the classpath holding a custom index mapping to be included in the index definition when creating an Elasticsearch index.

The file does not need to (and generally shouldn’t) contain the full mapping: Hibernate Search will automatically inject missing properties (index fields) in the given mapping.

string

A bean reference to the component used to configure full text analysis (e.g. analyzers, normalizers).

The referenced bean must implement ElasticsearchAnalysisConfigurer.

See [analysis-configurer] for more information.

string

Path to a file in the classpath holding custom index settings to be included in the index definition when creating an Elasticsearch index.

The provided settings will be merged with those generated by Hibernate Search, including analyzer definitions. When analysis is configured both through an analysis configurer and these custom settings, the behavior is undefined; it should not be relied upon.

string

Path to a file in the classpath holding a custom index mapping to be included in the index definition when creating an Elasticsearch index.

The file does not need to (and generally shouldn’t) contain the full mapping: Hibernate Search will automatically inject missing properties (index fields) in the given mapping.

string

A bean reference to the component used to configure full text analysis (e.g. analyzers, normalizers).

The referenced bean must implement ElasticsearchAnalysisConfigurer.

See [analysis-configurer] for more information.

string

The list of hosts of the Elasticsearch servers.

list of string

localhost:9200

The protocol to use when contacting Elasticsearch servers. Set to "https" to enable SSL/TLS.

http, https

http

string

string

The timeout when establishing a connection to an Elasticsearch server.

Duration

1S

The timeout when reading responses from an Elasticsearch server.

Duration

30S

The timeout when executing a request to an Elasticsearch server. This includes the time needed to wait for a connection to be available, send the request and read the response.

Duration

The maximum number of connections to all the Elasticsearch servers.

int

20

The maximum number of connections per Elasticsearch server.

int

10

boolean

false

Duration

10S

The size of the thread pool assigned to the backend. Note that number is per backend, not per index. Adding more indexes will not add more threads. As all operations happening in this thread-pool are non-blocking, raising its size above the number of processor cores available to the JVM will not bring noticeable performance benefit. The only reason to alter this setting would be to reduce the number of threads; for example, in an application with a single index with a single indexing queue, running on a machine with 64 processor cores, you might want to bring down the number of threads. Defaults to the number of processor cores available to the JVM on startup.

int

Whether Hibernate Search should check the version of the Elasticsearch cluster on startup. Set to false if the Elasticsearch cluster may not be available on startup.

boolean

true

green, yellow, red

yellow

Duration

10S

The number of indexing queues assigned to each index. Higher values will lead to more connections being used in parallel, which may lead to higher indexing throughput, but incurs a risk of overloading Elasticsearch, i.e. of overflowing its HTTP request buffers and tripping circuit breakers, leading to Elasticsearch giving up on some request and resulting in indexing failures.

int

10

The size of indexing queues. Lower values may lead to lower memory usage, especially if there are many queues, but values that are too low will reduce the likeliness of reaching the max bulk size and increase the likeliness of application threads blocking because the queue is full, which may lead to lower indexing throughput.

int

1000

The maximum size of bulk requests created when processing indexing queues. Higher values will lead to more documents being sent in each HTTP request sent to Elasticsearch, which may lead to higher indexing throughput, but incurs a risk of overloading Elasticsearch, i.e. of overflowing its HTTP request buffers and tripping circuit breakers, leading to Elasticsearch giving up on some request and resulting in indexing failures. Note that raising this number above the queue size has no effect, as bulks cannot include more requests than are contained in the queue.

int

100

green, yellow, red

yellow

Duration

10S

The number of indexing queues assigned to each index. Higher values will lead to more connections being used in parallel, which may lead to higher indexing throughput, but incurs a risk of overloading Elasticsearch, i.e. of overflowing its HTTP request buffers and tripping circuit breakers, leading to Elasticsearch giving up on some request and resulting in indexing failures.

int

10

The size of indexing queues. Lower values may lead to lower memory usage, especially if there are many queues, but values that are too low will reduce the likeliness of reaching the max bulk size and increase the likeliness of application threads blocking because the queue is full, which may lead to lower indexing throughput.

int

1000

The maximum size of bulk requests created when processing indexing queues. Higher values will lead to more documents being sent in each HTTP request sent to Elasticsearch, which may lead to higher indexing throughput, but incurs a risk of overloading Elasticsearch, i.e. of overflowing its HTTP request buffers and tripping circuit breakers, leading to Elasticsearch giving up on some request and resulting in indexing failures. Note that raising this number above the queue size has no effect, as bulks cannot include more requests than are contained in the queue.

int

100

Configuration for additional named persistence units

Type

Default

A bean reference to a component that should be notified of any failure occurring in a background process (mainly index operations).

The referenced bean must implement FailureHandler.

string

The strategy to use for coordinating between threads or even separate instances of the application, in particular in automatic indexing.

See [coordination] for more information.

string

none

boolean

true

The schema management strategy, controlling how indexes and their schema are created, updated, validated or dropped on startup and shutdown.

Available values:

Strategy

Definition

none

Do nothing: assume that indexes already exist and that their schema matches Hibernate Search’s expectations.

validate

Validate that indexes exist and that their schema matches Hibernate Search’s expectations.

If it does not, throw an exception, but make no attempt to fix the problem.

create

For indexes that do not exist, create them along with their schema.

For indexes that already exist, do nothing: assume that their schema matches Hibernate Search’s expectations.

create-or-validate (default)

For indexes that do not exist, create them along with their schema.

For indexes that already exist, validate that their schema matches Hibernate Search’s expectations.

If it does not, throw an exception, but make no attempt to fix the problem.

create-or-update

For indexes that do not exist, create them along with their schema.

For indexes that already exist, validate that their schema matches Hibernate Search’s expectations; if it does not match expectations, try to update it.

This strategy is unfit for production environments, due to several important limitations, but can be useful when developing.

drop-and-create

For indexes that do not exist, create them along with their schema.

For indexes that already exist, drop them, then create them along with their schema.

drop-and-create-and-drop

For indexes that do not exist, create them along with their schema.

For indexes that already exist, drop them, then create them along with their schema.

Also, drop indexes and their schema on shutdown.

none, validate, create, create-or-validate, create-or-update, drop-and-create, drop-and-create-and-drop

create-or-validate

The strategy to use when loading entities during the execution of a search query.

skip, persistence-context, persistence-context-then-second-level-cache

skip

The fetch size to use when loading entities during the execution of a search query.

int

100

The synchronization strategy to use when indexing automatically.

Defines how complete indexing should be before resuming the application thread after a database transaction is committed.

Indexing synchronization is only relevant when coordination is disabled (which is the default).

With the outbox-polling coordination strategy, indexing happens in background threads and is always asynchronous; the behavior is equivalent to the write-sync synchronization strategy.

Available values:

Strategy

Throughput

Guarantees when the application thread resumes

Changes applied

Changes safe from crash/power loss

Changes visible on search

async

Best

write-sync (default)

Medium

read-sync

Medium to worst

sync

Worst

This property also accepts a bean reference to a custom implementations of AutomaticIndexingSynchronizationStrategy.

string

write-sync

Whether to check if dirty properties are relevant to indexing before actually reindexing an entity. When enabled, re-indexing of an entity is skipped if the only changes are on properties that are not used when indexing.

boolean

true

An exhaustive list of all tenant identifiers that may be used by the application when multi-tenancy is enabled. Mainly useful when using the outbox-polling coordination strategy, since it involves setting up one background processor per tenant.

list of string

Default backend

Type

Default

The version of Elasticsearch used in the cluster. As the schema is generated without a connection to the server, this item is mandatory. It doesn’t have to be the exact version (it can be 7 or 7.1 for instance) but it has to be sufficiently precise to choose a model dialect (the one used to generate the schema) compatible with the protocol dialect (the one used to communicate with Elasticsearch). There’s no rule of thumb here as it depends on the schema incompatibilities introduced by Elasticsearch versions. In any case, if there is a problem, you will have an error when Hibernate Search tries to connect to the cluster.

ElasticsearchVersion

A bean reference to the component used to configure layout (e.g. index names, index aliases).

The referenced bean must implement IndexLayoutStrategy.

Available built-in implementations:

simple

The default, future-proof strategy: if the index name in Hibernate Search is myIndex, this strategy will create an index named myindex-000001, an alias for write operations named myindex-write, and an alias for read operations named myindex-read.

no-alias

A strategy without index aliases, mostly useful on legacy clusters: if the index name in Hibernate Search is myIndex, this strategy will create an index named myindex, and will not use any alias.

string

Path to a file in the classpath holding custom index settings to be included in the index definition when creating an Elasticsearch index.

The provided settings will be merged with those generated by Hibernate Search, including analyzer definitions. When analysis is configured both through an analysis configurer and these custom settings, the behavior is undefined; it should not be relied upon.

string

Path to a file in the classpath holding a custom index mapping to be included in the index definition when creating an Elasticsearch index.

The file does not need to (and generally shouldn’t) contain the full mapping: Hibernate Search will automatically inject missing properties (index fields) in the given mapping.

string

A bean reference to the component used to configure full text analysis (e.g. analyzers, normalizers).

The referenced bean must implement ElasticsearchAnalysisConfigurer.

See [analysis-configurer] for more information.

string

Path to a file in the classpath holding custom index settings to be included in the index definition when creating an Elasticsearch index.

The provided settings will be merged with those generated by Hibernate Search, including analyzer definitions. When analysis is configured both through an analysis configurer and these custom settings, the behavior is undefined; it should not be relied upon.

string

Path to a file in the classpath holding a custom index mapping to be included in the index definition when creating an Elasticsearch index.

The file does not need to (and generally shouldn’t) contain the full mapping: Hibernate Search will automatically inject missing properties (index fields) in the given mapping.

string

A bean reference to the component used to configure full text analysis (e.g. analyzers, normalizers).

The referenced bean must implement ElasticsearchAnalysisConfigurer.

See [analysis-configurer] for more information.

string

The list of hosts of the Elasticsearch servers.

list of string

localhost:9200

The protocol to use when contacting Elasticsearch servers. Set to "https" to enable SSL/TLS.

http, https

http

string

string

The timeout when establishing a connection to an Elasticsearch server.

Duration

1S

The timeout when reading responses from an Elasticsearch server.

Duration

30S

The timeout when executing a request to an Elasticsearch server. This includes the time needed to wait for a connection to be available, send the request and read the response.

Duration

The maximum number of connections to all the Elasticsearch servers.

int

20

The maximum number of connections per Elasticsearch server.

int

10

boolean

false

Duration

10S

The size of the thread pool assigned to the backend. Note that number is per backend, not per index. Adding more indexes will not add more threads. As all operations happening in this thread-pool are non-blocking, raising its size above the number of processor cores available to the JVM will not bring noticeable performance benefit. The only reason to alter this setting would be to reduce the number of threads; for example, in an application with a single index with a single indexing queue, running on a machine with 64 processor cores, you might want to bring down the number of threads. Defaults to the number of processor cores available to the JVM on startup.

int

Whether Hibernate Search should check the version of the Elasticsearch cluster on startup. Set to false if the Elasticsearch cluster may not be available on startup.

boolean

true

green, yellow, red

yellow

Duration

10S

The number of indexing queues assigned to each index. Higher values will lead to more connections being used in parallel, which may lead to higher indexing throughput, but incurs a risk of overloading Elasticsearch, i.e. of overflowing its HTTP request buffers and tripping circuit breakers, leading to Elasticsearch giving up on some request and resulting in indexing failures.

int

10

The size of indexing queues. Lower values may lead to lower memory usage, especially if there are many queues, but values that are too low will reduce the likeliness of reaching the max bulk size and increase the likeliness of application threads blocking because the queue is full, which may lead to lower indexing throughput.

int

1000

The maximum size of bulk requests created when processing indexing queues. Higher values will lead to more documents being sent in each HTTP request sent to Elasticsearch, which may lead to higher indexing throughput, but incurs a risk of overloading Elasticsearch, i.e. of overflowing its HTTP request buffers and tripping circuit breakers, leading to Elasticsearch giving up on some request and resulting in indexing failures. Note that raising this number above the queue size has no effect, as bulks cannot include more requests than are contained in the queue.

int

100

green, yellow, red

yellow

Duration

10S

The number of indexing queues assigned to each index. Higher values will lead to more connections being used in parallel, which may lead to higher indexing throughput, but incurs a risk of overloading Elasticsearch, i.e. of overflowing its HTTP request buffers and tripping circuit breakers, leading to Elasticsearch giving up on some request and resulting in indexing failures.

int

10

The size of indexing queues. Lower values may lead to lower memory usage, especially if there are many queues, but values that are too low will reduce the likeliness of reaching the max bulk size and increase the likeliness of application threads blocking because the queue is full, which may lead to lower indexing throughput.

int

1000

The maximum size of bulk requests created when processing indexing queues. Higher values will lead to more documents being sent in each HTTP request sent to Elasticsearch, which may lead to higher indexing throughput, but incurs a risk of overloading Elasticsearch, i.e. of overflowing its HTTP request buffers and tripping circuit breakers, leading to Elasticsearch giving up on some request and resulting in indexing failures. Note that raising this number above the queue size has no effect, as bulks cannot include more requests than are contained in the queue.

int

100

Named backends

Type

Default

The version of Elasticsearch used in the cluster. As the schema is generated without a connection to the server, this item is mandatory. It doesn’t have to be the exact version (it can be 7 or 7.1 for instance) but it has to be sufficiently precise to choose a model dialect (the one used to generate the schema) compatible with the protocol dialect (the one used to communicate with Elasticsearch). There’s no rule of thumb here as it depends on the schema incompatibilities introduced by Elasticsearch versions. In any case, if there is a problem, you will have an error when Hibernate Search tries to connect to the cluster.

ElasticsearchVersion

A bean reference to the component used to configure layout (e.g. index names, index aliases).

The referenced bean must implement IndexLayoutStrategy.

Available built-in implementations:

simple

The default, future-proof strategy: if the index name in Hibernate Search is myIndex, this strategy will create an index named myindex-000001, an alias for write operations named myindex-write, and an alias for read operations named myindex-read.

no-alias

A strategy without index aliases, mostly useful on legacy clusters: if the index name in Hibernate Search is myIndex, this strategy will create an index named myindex, and will not use any alias.

string

Path to a file in the classpath holding custom index settings to be included in the index definition when creating an Elasticsearch index.

The provided settings will be merged with those generated by Hibernate Search, including analyzer definitions. When analysis is configured both through an analysis configurer and these custom settings, the behavior is undefined; it should not be relied upon.

string

Path to a file in the classpath holding a custom index mapping to be included in the index definition when creating an Elasticsearch index.

The file does not need to (and generally shouldn’t) contain the full mapping: Hibernate Search will automatically inject missing properties (index fields) in the given mapping.

string

A bean reference to the component used to configure full text analysis (e.g. analyzers, normalizers).

The referenced bean must implement ElasticsearchAnalysisConfigurer.

See [analysis-configurer] for more information.

string

Path to a file in the classpath holding custom index settings to be included in the index definition when creating an Elasticsearch index.

The provided settings will be merged with those generated by Hibernate Search, including analyzer definitions. When analysis is configured both through an analysis configurer and these custom settings, the behavior is undefined; it should not be relied upon.

string

Path to a file in the classpath holding a custom index mapping to be included in the index definition when creating an Elasticsearch index.

The file does not need to (and generally shouldn’t) contain the full mapping: Hibernate Search will automatically inject missing properties (index fields) in the given mapping.

string

A bean reference to the component used to configure full text analysis (e.g. analyzers, normalizers).

The referenced bean must implement ElasticsearchAnalysisConfigurer.

See [analysis-configurer] for more information.

string

list of string

localhost:9200

The protocol to use when contacting Elasticsearch servers. Set to "https" to enable SSL/TLS.

http, https

http

string

string

The timeout when establishing a connection to an Elasticsearch server.

Duration

1S

Duration

30S

The timeout when executing a request to an Elasticsearch server. This includes the time needed to wait for a connection to be available, send the request and read the response.

Duration

int

20

int

10

boolean

false

Duration

10S

The size of the thread pool assigned to the backend. Note that number is per backend, not per index. Adding more indexes will not add more threads. As all operations happening in this thread-pool are non-blocking, raising its size above the number of processor cores available to the JVM will not bring noticeable performance benefit. The only reason to alter this setting would be to reduce the number of threads; for example, in an application with a single index with a single indexing queue, running on a machine with 64 processor cores, you might want to bring down the number of threads. Defaults to the number of processor cores available to the JVM on startup.

int

Whether Hibernate Search should check the version of the Elasticsearch cluster on startup. Set to false if the Elasticsearch cluster may not be available on startup.

boolean

true

green, yellow, red

yellow

Duration

10S

The number of indexing queues assigned to each index. Higher values will lead to more connections being used in parallel, which may lead to higher indexing throughput, but incurs a risk of overloading Elasticsearch, i.e. of overflowing its HTTP request buffers and tripping circuit breakers, leading to Elasticsearch giving up on some request and resulting in indexing failures.

int

10

The size of indexing queues. Lower values may lead to lower memory usage, especially if there are many queues, but values that are too low will reduce the likeliness of reaching the max bulk size and increase the likeliness of application threads blocking because the queue is full, which may lead to lower indexing throughput.

int

1000

The maximum size of bulk requests created when processing indexing queues. Higher values will lead to more documents being sent in each HTTP request sent to Elasticsearch, which may lead to higher indexing throughput, but incurs a risk of overloading Elasticsearch, i.e. of overflowing its HTTP request buffers and tripping circuit breakers, leading to Elasticsearch giving up on some request and resulting in indexing failures. Note that raising this number above the queue size has no effect, as bulks cannot include more requests than are contained in the queue.

int

100

green, yellow, red

yellow

Duration

10S

The number of indexing queues assigned to each index. Higher values will lead to more connections being used in parallel, which may lead to higher indexing throughput, but incurs a risk of overloading Elasticsearch, i.e. of overflowing its HTTP request buffers and tripping circuit breakers, leading to Elasticsearch giving up on some request and resulting in indexing failures.

int

10

The size of indexing queues. Lower values may lead to lower memory usage, especially if there are many queues, but values that are too low will reduce the likeliness of reaching the max bulk size and increase the likeliness of application threads blocking because the queue is full, which may lead to lower indexing throughput.

int

1000

The maximum size of bulk requests created when processing indexing queues. Higher values will lead to more documents being sent in each HTTP request sent to Elasticsearch, which may lead to higher indexing throughput, but incurs a risk of overloading Elasticsearch, i.e. of overflowing its HTTP request buffers and tripping circuit breakers, leading to Elasticsearch giving up on some request and resulting in indexing failures. Note that raising this number above the queue size has no effect, as bulks cannot include more requests than are contained in the queue.

int

100

Hibernate Search Coordination with Outbox Polling

Type

Default

Default config

Type

Default

Whether the event processor is enabled, i.e. whether events will be processed to perform automatic reindexing on this instance of the application.

This can be set to false to disable event processing on some application nodes, for example to dedicate some nodes to HTTP request processing and other nodes to event processing.

boolean

true

The total number of shards that will form a partition of the entity change events to process.

By default, sharding is dynamic and setting this property is not necessary.

If you want to control explicitly the number and assignment of shards, you must configure static sharding and then setting this property as well as the assigned shards (see shards.assigned) is necessary.

See this section of the reference documentation for more information about event processor sharding.

int

Among shards that will form a partition of the entity change events, the shards that will be processed by this application instance.

By default, sharding is dynamic and setting this property is not necessary.

If you want to control explicitly the number and assignment of shards, you must configure static sharding and then setting this property as well as the total shard count is necessary.

Shards are referred to by an index in the range [0, total_count - 1] (see shards.total-count). A given application node must be assigned at least one shard but may be assigned multiple shards by setting shards.assigned to a comma-separated list, e.g. 0,3.

See this section of the reference documentation for more information about event processor sharding.

list of int

How long to wait for another query to the outbox events table after a query didn’t return any event.

Lower values will reduce the time it takes for a change to be reflected in the index, but will increase the stress on the database when there are no new events.

Duration

0.100S

How long the event processor can poll for events before it must perform a "pulse", updating and checking registrations in the agents table.

The pulse interval must be set to a value between the polling interval and one third (1/3) of the expiration interval.

Low values (closer to the polling interval) mean less time wasted not processing events when a node joins or leaves the cluster, and reduced risk of wasting time not processing events because an event processor is incorrectly considered disconnected, but more stress on the database because of more frequent checks of the list of agents.

High values (closer to the expiration interval) mean more time wasted not processing events when a node joins or leaves the cluster, and increased risk of wasting time not processing events because an event processor is incorrectly considered disconnected, but less stress on the database because of less frequent checks of the list of agents.

Duration

2S

How long an event processor "pulse" remains valid before considering the processor disconnected and forcibly removing it from the cluster.

The expiration interval must be set to a value at least 3 times larger than the pulse interval.

Low values (closer to the pulse interval) mean less time wasted not processing events when a node abruptly leaves the cluster due to a crash or network failure, but increased risk of wasting time not processing events because an event processor is incorrectly considered disconnected.

High values (much larger than the pulse interval) mean more time wasted not processing events when a node abruptly leaves the cluster due to a crash or network failure, but reduced risk of wasting time not processing events because an event processor is incorrectly considered disconnected.

Duration

30S

How many outbox events, at most, are processed in a single transaction.

Higher values will reduce the number of transactions opened by the background process and may increase performance thanks to the first-level cache (persistence context), but will increase memory usage and in extreme cases may lead to OutOfMemoryErrors.

int

50

The timeout for transactions processing outbox events.

When this property is not set, Hibernate Search will use whatever default transaction timeout is configured in the JTA transaction manager, which may be too low for batch processing and lead to transaction timeouts when processing batches of events. If this happens, set a higher transaction timeout for event processing using this property.

Duration

How long the event processor must wait before re-processing an event after its previous processing failed.

Use the value 0S to reprocess failed events as soon as possible, with no delay.

Duration

30S

How long to wait for another query to the agent table when actively waiting for event processors to suspend themselves.

Low values will reduce the time it takes for the mass indexer agent to detect that event processors finally suspended themselves, but will increase the stress on the database while the mass indexer agent is actively waiting.

High values will increase the time it takes for the mass indexer agent to detect that event processors finally suspended themselves, but will reduce the stress on the database while the mass indexer agent is actively waiting.

Duration

0.100S

How long the mass indexer can wait before it must perform a "pulse", updating and checking registrations in the agent table.

The pulse interval must be set to a value between the polling interval and one third (1/3) of the expiration interval.

Low values (closer to the polling interval) mean reduced risk of event processors starting to process events again during mass indexing because a mass indexer agent is incorrectly considered disconnected, but more stress on the database because of more frequent updates of the mass indexer agent’s entry in the agent table.

High values (closer to the expiration interval) mean increased risk of event processors starting to process events again during mass indexing because a mass indexer agent is incorrectly considered disconnected, but less stress on the database because of less frequent updates of the mass indexer agent’s entry in the agent table.

Duration

2S

How long an event processor "pulse" remains valid before considering the processor disconnected and forcibly removing it from the cluster.

The expiration interval must be set to a value at least 3 times larger than the pulse interval.

Low values (closer to the pulse interval) mean less time wasted with event processors not processing events when a mass indexer agent terminates due to a crash, but increased risk of event processors starting to process events again during mass indexing because a mass indexer agent is incorrectly considered disconnected.

High values (much larger than the pulse interval) mean more time wasted with event processors not processing events when a mass indexer agent terminates due to a crash, but reduced risk of event processors starting to process events again during mass indexing because a mass indexer agent is incorrectly considered disconnected.

Duration

30S

Per-tenant config

Type

Default

Whether the event processor is enabled, i.e. whether events will be processed to perform automatic reindexing on this instance of the application.

This can be set to false to disable event processing on some application nodes, for example to dedicate some nodes to HTTP request processing and other nodes to event processing.

boolean

true

The total number of shards that will form a partition of the entity change events to process.

By default, sharding is dynamic and setting this property is not necessary.

If you want to control explicitly the number and assignment of shards, you must configure static sharding and then setting this property as well as the assigned shards (see shards.assigned) is necessary.

See this section of the reference documentation for more information about event processor sharding.

int

Among shards that will form a partition of the entity change events, the shards that will be processed by this application instance.

By default, sharding is dynamic and setting this property is not necessary.

If you want to control explicitly the number and assignment of shards, you must configure static sharding and then setting this property as well as the total shard count is necessary.

Shards are referred to by an index in the range [0, total_count - 1] (see shards.total-count). A given application node must be assigned at least one shard but may be assigned multiple shards by setting shards.assigned to a comma-separated list, e.g. 0,3.

See this section of the reference documentation for more information about event processor sharding.

list of int

How long to wait for another query to the outbox events table after a query didn’t return any event.

Lower values will reduce the time it takes for a change to be reflected in the index, but will increase the stress on the database when there are no new events.

Duration

0.100S

How long the event processor can poll for events before it must perform a "pulse", updating and checking registrations in the agents table.

The pulse interval must be set to a value between the polling interval and one third (1/3) of the expiration interval.

Low values (closer to the polling interval) mean less time wasted not processing events when a node joins or leaves the cluster, and reduced risk of wasting time not processing events because an event processor is incorrectly considered disconnected, but more stress on the database because of more frequent checks of the list of agents.

High values (closer to the expiration interval) mean more time wasted not processing events when a node joins or leaves the cluster, and increased risk of wasting time not processing events because an event processor is incorrectly considered disconnected, but less stress on the database because of less frequent checks of the list of agents.

Duration

2S

How long an event processor "pulse" remains valid before considering the processor disconnected and forcibly removing it from the cluster.

The expiration interval must be set to a value at least 3 times larger than the pulse interval.

Low values (closer to the pulse interval) mean less time wasted not processing events when a node abruptly leaves the cluster due to a crash or network failure, but increased risk of wasting time not processing events because an event processor is incorrectly considered disconnected.

High values (much larger than the pulse interval) mean more time wasted not processing events when a node abruptly leaves the cluster due to a crash or network failure, but reduced risk of wasting time not processing events because an event processor is incorrectly considered disconnected.

Duration

30S

How many outbox events, at most, are processed in a single transaction.

Higher values will reduce the number of transactions opened by the background process and may increase performance thanks to the first-level cache (persistence context), but will increase memory usage and in extreme cases may lead to OutOfMemoryErrors.

int

50

The timeout for transactions processing outbox events.

When this property is not set, Hibernate Search will use whatever default transaction timeout is configured in the JTA transaction manager, which may be too low for batch processing and lead to transaction timeouts when processing batches of events. If this happens, set a higher transaction timeout for event processing using this property.

Duration

How long the event processor must wait before re-processing an event after its previous processing failed.

Use the value 0S to reprocess failed events as soon as possible, with no delay.

Duration

30S

How long to wait for another query to the agent table when actively waiting for event processors to suspend themselves.

Low values will reduce the time it takes for the mass indexer agent to detect that event processors finally suspended themselves, but will increase the stress on the database while the mass indexer agent is actively waiting.

High values will increase the time it takes for the mass indexer agent to detect that event processors finally suspended themselves, but will reduce the stress on the database while the mass indexer agent is actively waiting.

Duration

0.100S

How long the mass indexer can wait before it must perform a "pulse", updating and checking registrations in the agent table.

The pulse interval must be set to a value between the polling interval and one third (1/3) of the expiration interval.

Low values (closer to the polling interval) mean reduced risk of event processors starting to process events again during mass indexing because a mass indexer agent is incorrectly considered disconnected, but more stress on the database because of more frequent updates of the mass indexer agent’s entry in the agent table.

High values (closer to the expiration interval) mean increased risk of event processors starting to process events again during mass indexing because a mass indexer agent is incorrectly considered disconnected, but less stress on the database because of less frequent updates of the mass indexer agent’s entry in the agent table.

Duration

2S

How long an event processor "pulse" remains valid before considering the processor disconnected and forcibly removing it from the cluster.

The expiration interval must be set to a value at least 3 times larger than the pulse interval.

Low values (closer to the pulse interval) mean less time wasted with event processors not processing events when a mass indexer agent terminates due to a crash, but increased risk of event processors starting to process events again during mass indexing because a mass indexer agent is incorrectly considered disconnected.

High values (much larger than the pulse interval) mean more time wasted with event processors not processing events when a mass indexer agent terminates due to a crash, but reduced risk of event processors starting to process events again during mass indexing because a mass indexer agent is incorrectly considered disconnected.

Duration

30S

Configuration for additional named persistence units

Type

Default

Default config

Type

Default

Whether the event processor is enabled, i.e. whether events will be processed to perform automatic reindexing on this instance of the application.

This can be set to false to disable event processing on some application nodes, for example to dedicate some nodes to HTTP request processing and other nodes to event processing.

boolean

true

The total number of shards that will form a partition of the entity change events to process.

By default, sharding is dynamic and setting this property is not necessary.

If you want to control explicitly the number and assignment of shards, you must configure static sharding and then setting this property as well as the assigned shards (see shards.assigned) is necessary.

See this section of the reference documentation for more information about event processor sharding.

int

Among shards that will form a partition of the entity change events, the shards that will be processed by this application instance.

By default, sharding is dynamic and setting this property is not necessary.

If you want to control explicitly the number and assignment of shards, you must configure static sharding and then setting this property as well as the total shard count is necessary.

Shards are referred to by an index in the range [0, total_count - 1] (see shards.total-count). A given application node must be assigned at least one shard but may be assigned multiple shards by setting shards.assigned to a comma-separated list, e.g. 0,3.

See this section of the reference documentation for more information about event processor sharding.

list of int

How long to wait for another query to the outbox events table after a query didn’t return any event.

Lower values will reduce the time it takes for a change to be reflected in the index, but will increase the stress on the database when there are no new events.

Duration

0.100S

How long the event processor can poll for events before it must perform a "pulse", updating and checking registrations in the agents table.

The pulse interval must be set to a value between the polling interval and one third (1/3) of the expiration interval.

Low values (closer to the polling interval) mean less time wasted not processing events when a node joins or leaves the cluster, and reduced risk of wasting time not processing events because an event processor is incorrectly considered disconnected, but more stress on the database because of more frequent checks of the list of agents.

High values (closer to the expiration interval) mean more time wasted not processing events when a node joins or leaves the cluster, and increased risk of wasting time not processing events because an event processor is incorrectly considered disconnected, but less stress on the database because of less frequent checks of the list of agents.

Duration

2S

How long an event processor "pulse" remains valid before considering the processor disconnected and forcibly removing it from the cluster.

The expiration interval must be set to a value at least 3 times larger than the pulse interval.

Low values (closer to the pulse interval) mean less time wasted not processing events when a node abruptly leaves the cluster due to a crash or network failure, but increased risk of wasting time not processing events because an event processor is incorrectly considered disconnected.

High values (much larger than the pulse interval) mean more time wasted not processing events when a node abruptly leaves the cluster due to a crash or network failure, but reduced risk of wasting time not processing events because an event processor is incorrectly considered disconnected.

Duration

30S

How many outbox events, at most, are processed in a single transaction.

Higher values will reduce the number of transactions opened by the background process and may increase performance thanks to the first-level cache (persistence context), but will increase memory usage and in extreme cases may lead to OutOfMemoryErrors.

int

50

The timeout for transactions processing outbox events.

When this property is not set, Hibernate Search will use whatever default transaction timeout is configured in the JTA transaction manager, which may be too low for batch processing and lead to transaction timeouts when processing batches of events. If this happens, set a higher transaction timeout for event processing using this property.

Duration

How long the event processor must wait before re-processing an event after its previous processing failed.

Use the value 0S to reprocess failed events as soon as possible, with no delay.

Duration

30S

How long to wait for another query to the agent table when actively waiting for event processors to suspend themselves.

Low values will reduce the time it takes for the mass indexer agent to detect that event processors finally suspended themselves, but will increase the stress on the database while the mass indexer agent is actively waiting.

High values will increase the time it takes for the mass indexer agent to detect that event processors finally suspended themselves, but will reduce the stress on the database while the mass indexer agent is actively waiting.

Duration

0.100S

How long the mass indexer can wait before it must perform a "pulse", updating and checking registrations in the agent table.

The pulse interval must be set to a value between the polling interval and one third (1/3) of the expiration interval.

Low values (closer to the polling interval) mean reduced risk of event processors starting to process events again during mass indexing because a mass indexer agent is incorrectly considered disconnected, but more stress on the database because of more frequent updates of the mass indexer agent’s entry in the agent table.

High values (closer to the expiration interval) mean increased risk of event processors starting to process events again during mass indexing because a mass indexer agent is incorrectly considered disconnected, but less stress on the database because of less frequent updates of the mass indexer agent’s entry in the agent table.

Duration

2S

How long an event processor "pulse" remains valid before considering the processor disconnected and forcibly removing it from the cluster.

The expiration interval must be set to a value at least 3 times larger than the pulse interval.

Low values (closer to the pulse interval) mean less time wasted with event processors not processing events when a mass indexer agent terminates due to a crash, but increased risk of event processors starting to process events again during mass indexing because a mass indexer agent is incorrectly considered disconnected.

High values (much larger than the pulse interval) mean more time wasted with event processors not processing events when a mass indexer agent terminates due to a crash, but reduced risk of event processors starting to process events again during mass indexing because a mass indexer agent is incorrectly considered disconnected.

Duration

30S

Per-tenant config

Type

Default

Whether the event processor is enabled, i.e. whether events will be processed to perform automatic reindexing on this instance of the application.

This can be set to false to disable event processing on some application nodes, for example to dedicate some nodes to HTTP request processing and other nodes to event processing.

boolean

true

The total number of shards that will form a partition of the entity change events to process.

By default, sharding is dynamic and setting this property is not necessary.

If you want to control explicitly the number and assignment of shards, you must configure static sharding and then setting this property as well as the assigned shards (see shards.assigned) is necessary.

See this section of the reference documentation for more information about event processor sharding.

int

Among shards that will form a partition of the entity change events, the shards that will be processed by this application instance.

By default, sharding is dynamic and setting this property is not necessary.

If you want to control explicitly the number and assignment of shards, you must configure static sharding and then setting this property as well as the total shard count is necessary.

Shards are referred to by an index in the range [0, total_count - 1] (see shards.total-count). A given application node must be assigned at least one shard but may be assigned multiple shards by setting shards.assigned to a comma-separated list, e.g. 0,3.

See this section of the reference documentation for more information about event processor sharding.

list of int

How long to wait for another query to the outbox events table after a query didn’t return any event.

Lower values will reduce the time it takes for a change to be reflected in the index, but will increase the stress on the database when there are no new events.

Duration

0.100S

How long the event processor can poll for events before it must perform a "pulse", updating and checking registrations in the agents table.

The pulse interval must be set to a value between the polling interval and one third (1/3) of the expiration interval.

Low values (closer to the polling interval) mean less time wasted not processing events when a node joins or leaves the cluster, and reduced risk of wasting time not processing events because an event processor is incorrectly considered disconnected, but more stress on the database because of more frequent checks of the list of agents.

High values (closer to the expiration interval) mean more time wasted not processing events when a node joins or leaves the cluster, and increased risk of wasting time not processing events because an event processor is incorrectly considered disconnected, but less stress on the database because of less frequent checks of the list of agents.

Duration

2S

How long an event processor "pulse" remains valid before considering the processor disconnected and forcibly removing it from the cluster.

The expiration interval must be set to a value at least 3 times larger than the pulse interval.

Low values (closer to the pulse interval) mean less time wasted not processing events when a node abruptly leaves the cluster due to a crash or network failure, but increased risk of wasting time not processing events because an event processor is incorrectly considered disconnected.

High values (much larger than the pulse interval) mean more time wasted not processing events when a node abruptly leaves the cluster due to a crash or network failure, but reduced risk of wasting time not processing events because an event processor is incorrectly considered disconnected.

Duration

30S

How many outbox events, at most, are processed in a single transaction.

Higher values will reduce the number of transactions opened by the background process and may increase performance thanks to the first-level cache (persistence context), but will increase memory usage and in extreme cases may lead to OutOfMemoryErrors.

int

50

The timeout for transactions processing outbox events.

When this property is not set, Hibernate Search will use whatever default transaction timeout is configured in the JTA transaction manager, which may be too low for batch processing and lead to transaction timeouts when processing batches of events. If this happens, set a higher transaction timeout for event processing using this property.

Duration

How long the event processor must wait before re-processing an event after its previous processing failed.

Use the value 0S to reprocess failed events as soon as possible, with no delay.

Duration

30S

How long to wait for another query to the agent table when actively waiting for event processors to suspend themselves.

Low values will reduce the time it takes for the mass indexer agent to detect that event processors finally suspended themselves, but will increase the stress on the database while the mass indexer agent is actively waiting.

High values will increase the time it takes for the mass indexer agent to detect that event processors finally suspended themselves, but will reduce the stress on the database while the mass indexer agent is actively waiting.

Duration

0.100S

How long the mass indexer can wait before it must perform a "pulse", updating and checking registrations in the agent table.

The pulse interval must be set to a value between the polling interval and one third (1/3) of the expiration interval.

Low values (closer to the polling interval) mean reduced risk of event processors starting to process events again during mass indexing because a mass indexer agent is incorrectly considered disconnected, but more stress on the database because of more frequent updates of the mass indexer agent’s entry in the agent table.

High values (closer to the expiration interval) mean increased risk of event processors starting to process events again during mass indexing because a mass indexer agent is incorrectly considered disconnected, but less stress on the database because of less frequent updates of the mass indexer agent’s entry in the agent table.

Duration

2S

How long an event processor "pulse" remains valid before considering the processor disconnected and forcibly removing it from the cluster.

The expiration interval must be set to a value at least 3 times larger than the pulse interval.

Low values (closer to the pulse interval) mean less time wasted with event processors not processing events when a mass indexer agent terminates due to a crash, but increased risk of event processors starting to process events again during mass indexing because a mass indexer agent is incorrectly considered disconnected.

High values (much larger than the pulse interval) mean more time wasted with event processors not processing events when a mass indexer agent terminates due to a crash, but reduced risk of event processors starting to process events again during mass indexing because a mass indexer agent is incorrectly considered disconnected.

Duration

30S

Hibernate Validator

Type

Default

Enable the fail fast mode. When fail fast is enabled the validation will stop on the first constraint violation detected.

boolean

false

Method validation

Type

Default

Define whether overriding methods that override constraints should throw a ConstraintDefinitionException. The default value is false, i.e. do not allow. See Section 4.5.5 of the JSR 380 specification, specifically "In sub types (be it sub classes/interfaces or interface implementations), no parameter constraints may be declared on overridden or implemented methods, nor may parameters be marked for cascaded validation. This would pose a strengthening of preconditions to be fulfilled by the caller."

boolean

false

Define whether parallel methods that define constraints should throw a ConstraintDefinitionException. The default value is false, i.e. do not allow. See Section 4.5.5 of the JSR 380 specification, specifically "If a sub type overrides/implements a method originally defined in several parallel types of the hierarchy (e.g. two interfaces not extending each other, or a class and an interface not implemented by said class), no parameter constraints may be declared for that method at all nor parameters be marked for cascaded validation. This again is to avoid an unexpected strengthening of preconditions to be fulfilled by the caller."

boolean

false

Define whether more than one constraint on a return value may be marked for cascading validation are allowed. The default value is false, i.e. do not allow. See Section 4.5.5 of the JSR 380 specification, specifically "One must not mark a method return value for cascaded validation more than once in a line of a class hierarchy. In other words, overriding methods on sub types (be it sub classes/interfaces or interface implementations) cannot mark the return value for cascaded validation if the return value has already been marked on the overridden method of the super type or interface."

boolean

false

Expression Language

Type

Default

Configure the Expression Language feature level for constraints, allowing the selection of Expression Language features available for message interpolation. This property only affects the EL feature level of "static" constraint violation messages set through the message attribute of constraint annotations. In particular, it doesn’t affect the default EL feature level for custom violations created programmatically in validator implementations. The feature level for those can only be configured directly in the validator implementation.

default, none, variables, bean-properties, bean-methods

bean-properties

Infinispan Client

Type

Default

If DevServices has been explicitly enabled or disabled. DevServices is generally enabled by default, unless there is an existing configuration present. When DevServices is enabled Quarkus will attempt to automatically configure and start a database when running in Dev or Test mode and when Docker is running.

boolean

true

Optional fixed port the dev service will listen to. If not defined, the port will be chosen randomly.

int

Indicates if the Infinispan server managed by Quarkus Dev Services is shared. When shared, Quarkus looks for running containers using label-based service discovery. If a matching container is found, it is used, and so a second one is not started. Otherwise, Dev Services for Infinispan starts a new container. The discovery uses the quarkus-dev-service-infinispan label. The value is configured using the service-name property. Container sharing is only used in dev mode.

boolean

true

The value of the quarkus-dev-service-infinispan label attached to the started container. This property is used when shared is set to true. In this case, before starting a container, Dev Services for Infinispan looks for a container with the quarkus-dev-service-infinispan label set to the configured value. If found, it will use this container instead of starting a new one. Otherwise, it starts a new container with the quarkus-dev-service-infinispan label set to the specified value. This property is used when you need multiple shared Infinispan servers.

string

infinispan

List of the artifacts to automatically download and add to the Infinispan server libraries. For example a Maven coordinate (org.postgresql:postgresql:42.3.1) or a dependency location url. If an invalid value is passed, the Infinispan server will throw an error when trying to start.

list of string

Whether a health check is published in case the smallrye-health extension is present.

boolean

true

Sets the bounded entry count for near cache. If this value is 0 or less near cache is disabled.

int

0

Sets the host name/port to connect to. Each one is separated by a semicolon (eg. host1:11222;host2:11222).

string

Enables or disables Protobuf generated schemas upload to the server. Set it to 'false' when you need to handle the lifecycle of the Protobuf Schemas on Server side yourself. Default is 'true'.

boolean

true

Sets client intelligence used by authentication Available values: * BASIC - Means that the client doesn’t handle server topology changes and therefore will only used the list of servers supplied at configuration time. * TOPOLOGY_AWARE - Use this provider if you don’t want the client to present any certificates to the remote TLS host. * HASH_DISTRIBUTION_AWARE - Like TOPOLOGY_AWARE but with the additional advantage that each request involving keys will be routed to the server who is the primary owner which improves performance greatly. This is the default.

string

HASH_DISTRIBUTION_AWARE

Enables or disables authentication. Set it to false when connecting to a Infinispan Server without authentication. deployments. Default is 'true'.

boolean

true

Sets user name used by authentication.

string

Sets password used by authentication

string

Sets realm used by authentication

string

default

Sets server name used by authentication

string

infinispan

Sets client subject, necessary for those SASL mechanisms which require it to access client credentials.

string

Specifies a CallbackHandler to be used during the authentication handshake. The `Callback`s that need to be handled are specific to the chosen SASL mechanism.

string

Sets SASL mechanism used by authentication. Available values: * DIGEST-MD5 - Uses the MD5 hashing algorithm in addition to nonces to encrypt credentials. This is the default. * EXTERNAL - Uses client certificates to provide valid identities to Infinispan Server and enable encryption. * PLAIN - Sends credentials in plain text (unencrypted) over the wire in a way that is similar to HTTP BASIC authentication. You should use PLAIN authentication only in combination with TLS encryption.

string

DIGEST-MD5

Specifies the filename of a truststore to use to create the SSLContext. You also need to specify a trustStorePassword. Setting this property implicitly enables SSL/TLS.

string

Specifies the password needed to open the truststore You also need to specify a trustStore. Setting this property implicitly enables SSL/TLS.

string

Specifies the type of the truststore, such as JKS or JCEKS. Defaults to JKS if trustStore is enabled.

string

Jackson

Type

Default

If enabled, Jackson will fail when encountering unknown properties. You can still override it locally with @JsonIgnoreProperties(ignoreUnknown = false).

boolean

false

If enabled, Jackson will fail when no accessors are found for a type. This is enabled by default to match the default Jackson behavior.

boolean

true

If enabled, Jackson will serialize dates as numeric value(s).

boolean

false

If enabled, Jackson will ignore case during Enum deserialization.

boolean

false

If set, Jackson will default to using the specified timezone when formatting dates. Some examples values are "Asia/Jakarta" and "GMT+3". If not set, Jackson will use its own default.

ZoneId

UTC

Define which properties of Java Beans are to be included in serialization.

always, non-null, non-absent, non-empty, non-default, custom, use-defaults

Jacoco - Code Coverage

Type

Default

The jacoco data file

string

jacoco-quarkus.exec

Whether to reuse (true) or delete (false) the jacoco data file on each run.

boolean

false

If Quarkus should generate the Jacoco report

boolean

true

Encoding of the generated reports.

string

UTF-8

Name of the root node HTML report pages.

string

Footer text used in HTML report pages.

string

Encoding of the source files.

string

UTF-8

A list of class files to include in the report. May use wildcard characters (* and ?). When not specified everything will be included. For instance: - **/fo/**/* targets all classes under fo and sub packages - **/bar/* targets all classes directly under bar - **/*BAR*.class targets classes that contain BAR in their name regardless of path

list of string

**

A list of class files to exclude from the report. May use wildcard characters (* and ?). When not specified nothing will be excluded. For instance: - **/fo/**/* targets all classes under fo and sub packages - **/bar/* targets all classes directly under bar - **/*BAR*.class targets classes that contain BAR in their name regardless of path

list of string

The location of the report files.

string

jacoco-report

Jaeger

Type

Default

Defines if the Jaeger extension is enabled.

boolean

true

Whether or not metrics are published in case a metrics extension is present.

boolean

false

The traces endpoint, in case the client should connect directly to the Collector, like http://jaeger-collector:14268/api/traces

URI

Authentication Token to send as "Bearer" to the endpoint

string

Username to send as part of "Basic" authentication to the endpoint

string

Password to send as part of "Basic" authentication to the endpoint

string

The hostname and port for communicating with agent via UDP

host:port

Whether the reporter should also log the spans

boolean

The reporter’s maximum queue size

int

The reporter’s flush interval

Duration

The sampler type (const, probabilistic, ratelimiting or remote)

string

The sampler parameter (number)

BigDecimal

The host name and port when using the remote controlled sampler

host:port

The service name

string

A comma separated list of name = value tracer level tags, which get added to all reported spans. The value can also refer to an environment variable using the format ${envVarName:default}, where the :default is optional, and identifies a value to be used if the environment variable cannot be found

string

Comma separated list of formats to use for propagating the trace context. Defaults to the standard Jaeger format. Valid values are jaeger and b3

string

The sender factory class name

string

Whether the trace context should be logged.

boolean

true

Whether or not the registration of tracer as the global tracer should be disabled. This setting should only be turned on in tests that need to install a mock tracer.

boolean

false

Whether jaeger should run in zipkin compatibility mode

boolean

false

Keycloak Authorization

Type

Default

Enables policy enforcement.

boolean

false

Adapters will make separate HTTP invocations to the Keycloak server to turn an access code into an access token. This config option defines how many connections to the Keycloak server should be pooled

int

20

Specifies how policies are enforced.

permissive, enforcing, disabled

enforcing

Defines the limit of entries that should be kept in the cache

int

1000

Defines the time in milliseconds when the entry should be expired

long

30000

Specifies how the adapter should fetch the server for resources associated with paths in your application. If true, the policy enforcer is going to fetch resources on-demand accordingly with the path being requested

boolean

true

Specifies how scopes should be mapped to HTTP methods. If set to true, the policy enforcer will use the HTTP method from the current request to check whether or not access should be granted

boolean

false

The name of a resource on the server that is to be associated with a given path

string

A URI relative to the application’s context path that should be protected by the policy enforcer

string

string

required

An array of strings with the scopes associated with the method

list of string

required

A string referencing the enforcement mode for the scopes associated with a method

all, any, disabled

all

permissive, enforcing, disabled

enforcing

Map<String,Map<String,Map<String,String>>>

Map<String,Map<String,String>>

Map<String,Map<String,Map<String,String>>>

Map<String,Map<String,String>>

Additional named tenants

Type

Default

Adapters will make separate HTTP invocations to the Keycloak server to turn an access code into an access token. This config option defines how many connections to the Keycloak server should be pooled

int

20

Specifies how policies are enforced.

permissive, enforcing, disabled

enforcing

The name of a resource on the server that is to be associated with a given path

string

A URI relative to the application’s context path that should be protected by the policy enforcer

string

string

required

An array of strings with the scopes associated with the method

list of string

required

A string referencing the enforcement mode for the scopes associated with a method

all, any, disabled

all

permissive, enforcing, disabled

enforcing

Map<String,Map<String,Map<String,String>>>

Map<String,Map<String,String>>

Defines the limit of entries that should be kept in the cache

int

1000

Defines the time in milliseconds when the entry should be expired

long

30000

Specifies how the adapter should fetch the server for resources associated with paths in your application. If true, the policy enforcer is going to fetch resources on-demand accordingly with the path being requested

boolean

true

Map<String,Map<String,Map<String,String>>>

Map<String,Map<String,String>>

Specifies how scopes should be mapped to HTTP methods. If set to true, the policy enforcer will use the HTTP method from the current request to check whether or not access should be granted

boolean

false

Kubernetes

Type

Default

The name of the group this component belongs too

string

The name of the application. This value will be used for naming Kubernetes resources like: - Deployment - Service and so on …​

string

${quarkus.container-image.name}

The version of the application.

string

${quarkus.container-image.tag}

The namespace the generated resources should belong to. If not value is set, then the 'namespace' field will not be added to the 'metadata' section of the generated manifests. This in turn means that when the manifests are applied to a cluster, the namespace will be resolved from the current Kubernetes context (see https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/#context for more details).

string

Whether or not to add the build timestamp to the Kubernetes annotations This is a very useful way to have manifests of successive builds of the same application differ - thus ensuring that Kubernetes will apply the updated resources

boolean

true

Working directory

string

list of string

list of string

The service account

string

The host under which the application is going to be exposed

string

The type of service that will be generated for the application

cluster-ip, node-port, load-balancer, external-name

cluster-ip

always, if-not-present, never

always

The image pull secret

list of string

The http path to use for the probe For this to work, the container port also needs to be set Assuming the container port has been set (as per above comment), if execAction or tcpSocketAction are not set, an http probe will be used automatically even if no path is set (which will result in the root path being used)

string

The command to use for the probe.

string

The tcp socket to use for the probe (the format is host:port).

string

The amount of time to wait before starting to probe.

Duration

0S

The period in which the action should be called.

Duration

30S

The amount of time to wait for each action.

Duration

10S

The success threshold to use.

int

1

The failure threshold to use.

int

3

The http path to use for the probe For this to work, the container port also needs to be set Assuming the container port has been set (as per above comment), if execAction or tcpSocketAction are not set, an http probe will be used automatically even if no path is set (which will result in the root path being used)

string

The command to use for the probe.

string

The tcp socket to use for the probe (the format is host:port).

string

The amount of time to wait before starting to probe.

Duration

0S

The period in which the action should be called.

Duration

30S

The amount of time to wait for each action.

Duration

10S

int

1

int

3

When true (the default), emit a set of annotations to identify services that should be scraped by prometheus for metrics. In configurations that use the Prometheus operator with ServiceMonitor, annotations may not be necessary.

boolean

true

Define the annotation prefix used for scrape values, this value will be used as the base for other annotation name defaults. Altering the base for generated annotations can make it easier to define re-labeling rules and avoid unexpected knock-on effects. The default value is prometheus.io See Prometheus example: https://github.com/prometheus/prometheus/blob/main/documentation/examples/prometheus-kubernetes.yml

string

prometheus.io

Define the annotation used to indicate services that should be scraped. By default, /scrape will be appended to the defined prefix.

string

Define the annotation used to indicate the path to scrape. By default, /path will be appended to the defined prefix.

string

Define the annotation used to indicate the port to scrape. By default, /port will be appended to the defined prefix.

string

Define the annotation used to indicate the scheme to use for scraping By default, /scheme will be appended to the defined prefix.

string

If set, it will change the name of the container according to the configuration

string

string

string

string

string

The optional list of Secret names to load environment variables from.

list of string

The optional list of ConfigMap names to load environment variables from.

list of string

Whether or not this service is cluster-local. Cluster local services are not exposed to the outside world.

boolean

false

This value controls the minimum number of replicas each revision should have. Knative will attempt to never have less than this number of replicas at any one point in time.

int

This value controls the maximum number of replicas each revision should have. Knative will attempt to never have more than this number of replicas running, or in the process of being created, at any one point in time.

int

The scale-to-zero values control whether Knative allows revisions to scale down to zero, or stops at “1”.

boolean

true

kpa, hpa

concurrency, rps, cpu

int

int

int

kpa, hpa

int

int

int

string

If set, the secret will mounted to the application container and its contents will be used for application configuration.

string

If set, the config amp will mounted to the application container and its contents will be used for application configuration.

string

The SELinux level label that applies to the container.

string

The SELinux role label that applies to the container.

string

The SELinux type label that applies to the container.

string

The SELinux user label that applies to the container.

string

string

GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field.

string

The UserName in Windows to run the entrypoint of the container process.

string

HostProcess determines if a container should be run as a 'Host Process' container.

boolean

The UID to run the entrypoint of the container process.

long

The GID to run the entrypoint of the container process.

long

Indicates that the container must run as a non-root user.

boolean

A list of groups applied to the first process run in each container, in addition to the container’s primary GID. If unspecified, no groups will be added to any container.

list of long

A special supplemental group that applies to all containers in a pod.

long

Sysctls hold a list of namespaced sysctls used for the pod.

string

It holds policies that will be used for applying fsGroup to a volume when volume is mounted. Values: OnRootMismatch, Always

on-root-mismatch, always

Custom labels to add to all resources

Map<String,String>

Custom annotations to add to all resources

Map<String,String>

The port number. Refers to the container port.

int

int

The application path (refers to web application path).

string

/

tcp, udp

tcp

int

The name of the volumeName to mount.

string

string

Path within the volumeName from which the container’s volumeName should be mounted.

string

boolean

false

string

required

Default mode. When specifying an octal number, leading zero must be present.

string

0600

boolean

false

string

required

Default mode. When specifying an octal number, leading zero must be present.

string

0600

boolean

false

string

required

The directory of the repository to mount.

string

string

string

required

Default mode. When specifying an octal number, leading zero must be present.

string

0600

boolean

false

string

required

int

string

ext4

boolean

false

string

required

string

required

Wether the volumeName is read only or not.

boolean

false

string

required

The URI of the vhd blob object OR the resourceID of an Azure managed data disk if Kind is Managed

string

required

managed, shared

managed

read-write, read-only, none

read-write

string

ext4

Wether the volumeName is read only or not.

boolean

false

string

string

list of string

list of string

string

The host under which the application is going to be exposed.

string

int

int

The application path (refers to web application path).

string

/

tcp, udp

tcp

int

always, if-not-present, never

always

list of string

The http path to use for the probe For this to work, the container port also needs to be set Assuming the container port has been set (as per above comment), if execAction or tcpSocketAction are not set, an http probe will be used automatically even if no path is set (which will result in the root path being used)

string

string

The tcp socket to use for the probe (the format is host:port).

string

The amount of time to wait before starting to probe.

Duration

0S

The period in which the action should be called.

Duration

30S

Duration

10S

int

1

int

3

The http path to use for the probe For this to work, the container port also needs to be set Assuming the container port has been set (as per above comment), if execAction or tcpSocketAction are not set, an http probe will be used automatically even if no path is set (which will result in the root path being used)

string

string

The tcp socket to use for the probe (the format is host:port).

string

The amount of time to wait before starting to probe.

Duration

0S

The period in which the action should be called.

Duration

30S

Duration

10S

int

1

int

3

string

string

Path within the volumeName from which the container’s volumeName should be mounted.

string

boolean

false

string

string

string

string

The optional list of Secret names to load environment variables from.

list of string

The optional list of ConfigMap names to load environment variables from.

list of string

The map associating environment variable names to their associated field references they take their value from.

Map<String,String>

The map associating environment name to its associated value.

Map<String,String>

The optional name of the Secret from which a value is to be extracted. Mutually exclusive with from-configmap.

string

The optional name of the ConfigMap from which a value is to be extracted. Mutually exclusive with from-secret.

string

The key identifying the field from which the value is extracted.

string

required

string

string

list of string

list of string

string

The host under which the application is going to be exposed.

string

The port number. Refers to the container port.

int

int

The application path (refers to web application path).

string

/

tcp, udp

tcp

int