Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@jeffmaury
Created July 9, 2020 17:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jeffmaury/3d34720f7243bcc92291cb8a453a1c34 to your computer and use it in GitHub Desktop.
Save jeffmaury/3d34720f7243bcc92291cb8a453a1c34 to your computer and use it in GitHub Desktop.
{"$schema":"http://json-schema.org/draft-07/schema#","definitions":{"root":{"type":"object","properties":{"mp":{"type":"object","properties":{"context":{"type":"object","properties":{"ThreadContext":{"type":"object","properties":{"propagated":{"type":"string","description":"Defines the set of thread context types to capture from the thread that contextualizes an action or task. This context is later re-established on the thread(s) where the action or task executes.\n\n The MicroProfile Config property, `mp.context.ThreadContext.propagated`, establishes a default that is used if no value is otherwise specified. The value of the MicroProfile Config property can be the empty string or a comma separated list of context type constant values."},"cleared":{"type":"string","description":"Defines the set of thread context types to clear from the thread where the action or task executes. The previous context is resumed on the thread after the action or task ends. This context is later re-established on the thread(s) where the action or task executes.\n\n The MicroProfile Config property, `mp.context.ThreadContext.cleared`, establishes a default that is used if no value is otherwise specified. The value of the MicroProfile Config property can be the empty string or a comma separated list of context type constant values."},"unchanged":{"type":"string","description":"Defines a set of thread context types that are essentially ignored, in that they are neither captured nor are they propagated or cleared from thread(s) that execute the action or task. \n\n The MicroProfile Config property, `mp.context.ThreadContext.unchanged`, establishes a default that is used if no value is otherwise specified. The value of the MicroProfile Config property can be the empty string or a comma separated list of context type constant values. If a default value is not specified by MicroProfile Config, then the default value is an empty set."}}},"ManagedExecutor":{"type":"object","properties":{"cleared":{"type":"string","description":"Defines the set of thread context types to clear from the thread where the action or task executes. The previous context is resumed on the thread after the action or task ends.\n\n The MicroProfile Config property, `mp.context.ManagedExecutor.cleared`, establishes a default that is used if no value is otherwise specified. The value of the MicroProfile Config property can be the empty string or a comma separated list of context type constant values."},"propagated":{"type":"string","description":"Defines the set of thread context types to capture from the thread that creates a dependent stage (or that submits a task) and which to propagate to the thread where the action or task executes.\n\n The MicroProfile Config property, `mp.context.ManagedExecutor.propagated`, establishes a default that is used if no value is otherwise specified. The value of the MicroProfile Config property can be the empty string or a comma separated list of context type constant values."},"maxAsync":{"type":"integer","description":"Establishes an upper bound on the number of async completion stage actions and async executor tasks that can be running at any given point in time. There is no guarantee that async actions or tasks will start running immediately, even when the `maxAsync` constraint has not get been reached. Async actions and tasks remain queued until the `ManagedExecutor` starts executing them.\n\n The default value of `-1` indicates no upper bound, although practically, resource constraints of the system will apply. You can switch the default by specifying the MicroProfile Config property, `mp.context.ManagedExecutor.maxAsync`."},"maxQueued":{"type":"integer","description":"Establishes an upper bound on the number of async actions and async tasks that can be queued up for execution. Async actions and tasks are rejected if no space in the queue is available to accept them.\n\n The default value of `-1` indicates no upper bound, although practically, resource constraints of the system will apply. You can switch the default by specifying the MicroProfile Config property, `mp.context.ManagedExecutor.maxQueued`."}}}}}}},"quarkus":{"type":"object","properties":{"datasource":{"type":"object","properties":{"jdbc":{"type":"object","properties":{"~":{"type":"boolean","description":"If we create a JDBC datasource for this datasource."},"driver":{"type":"string","description":"The datasource driver class name"},"transactions":{"type":"string","description":"Whether we want to use regular JDBC transactions, XA, or disable all transactional capabilities.\n\u003cp\u003e\nWhen enabling XA you will need a driver implementing {@link javax.sql.XADataSource}.","enum":["ENABLED","XA","DISABLED"]},"enable-metrics":{"type":"boolean","description":"Enable datasource metrics collection. If unspecified, collecting metrics will be enabled by default if the\nsmallrye-metrics extension is active."},"url":{"type":"string","description":"The datasource URL"},"initial-size":{"type":"integer","description":"The initial size of the pool. Usually you will want to set the initial size to match at least the\nminimal size, but this is not enforced so to allow for architectures which prefer a lazy initialization\nof the connections on boot, while being able to sustain a minimal pool size after boot."},"min-size":{"type":"integer","description":"The datasource pool minimum size"},"max-size":{"type":"integer","description":"The datasource pool maximum size"},"background-validation-interval":{"description":"The interval at which we validate idle connections in the background.\n\u003cp\u003e\nSet to {@code 0} to disable background validation."},"acquisition-timeout":{"description":"The timeout before cancelling the acquisition of a new connection"},"leak-detection-interval":{"description":"The interval at which we check for connection leaks."},"idle-removal-interval":{"description":"The interval at which we try to remove idle connections."},"max-lifetime":{"description":"The max lifetime of a connection."},"transaction-isolation-level":{"type":"string","description":"The transaction isolation level.","enum":["UNDEFINED","NONE","READ_UNCOMMITTED","READ_COMMITTED","REPEATABLE_READ","SERIALIZABLE"]},"detect-statement-leaks":{"type":"boolean","description":"When enabled Agroal will be able to produce a warning when a connection is returned\nto the pool without the application having closed all open statements.\nThis is unrelated with tracking of open connections.\nDisable for peak performance, but only when there\u0027s high confidence that\nno leaks are happening."},"new-connection-sql":{"type":"string","description":"Query executed when first using a connection."},"validation-query-sql":{"type":"string","description":"Query executed to validate a connection."}}},"{*}":{"type":"object","properties":{"jdbc":{"type":"object","properties":{"~":{"type":"boolean","description":"If we create a JDBC datasource for this datasource."},"driver":{"type":"string","description":"The datasource driver class name"},"transactions":{"type":"string","description":"Whether we want to use regular JDBC transactions, XA, or disable all transactional capabilities.\n\u003cp\u003e\nWhen enabling XA you will need a driver implementing {@link javax.sql.XADataSource}.","enum":["ENABLED","XA","DISABLED"]},"enable-metrics":{"type":"boolean","description":"Enable datasource metrics collection. If unspecified, collecting metrics will be enabled by default if the\nsmallrye-metrics extension is active."},"url":{"type":"string","description":"The datasource URL"},"initial-size":{"type":"integer","description":"The initial size of the pool. Usually you will want to set the initial size to match at least the\nminimal size, but this is not enforced so to allow for architectures which prefer a lazy initialization\nof the connections on boot, while being able to sustain a minimal pool size after boot."},"min-size":{"type":"integer","description":"The datasource pool minimum size"},"max-size":{"type":"integer","description":"The datasource pool maximum size"},"background-validation-interval":{"description":"The interval at which we validate idle connections in the background.\n\u003cp\u003e\nSet to {@code 0} to disable background validation."},"acquisition-timeout":{"description":"The timeout before cancelling the acquisition of a new connection"},"leak-detection-interval":{"description":"The interval at which we check for connection leaks."},"idle-removal-interval":{"description":"The interval at which we try to remove idle connections."},"max-lifetime":{"description":"The max lifetime of a connection."},"transaction-isolation-level":{"type":"string","description":"The transaction isolation level.","enum":["UNDEFINED","NONE","READ_UNCOMMITTED","READ_COMMITTED","REPEATABLE_READ","SERIALIZABLE"]},"detect-statement-leaks":{"type":"boolean","description":"When enabled Agroal will be able to produce a warning when a connection is returned\nto the pool without the application having closed all open statements.\nThis is unrelated with tracking of open connections.\nDisable for peak performance, but only when there\u0027s high confidence that\nno leaks are happening."},"new-connection-sql":{"type":"string","description":"Query executed when first using a connection."},"validation-query-sql":{"type":"string","description":"Query executed to validate a connection."}}},"driver":{"type":"string","description":"@deprecated use quarkus.datasource.db-kind (and quarkus.datasource.jdbc.driver if you really need a specific JDBC\n driver)."},"transactions":{"type":"string","description":"@deprecated use quarkus.datasource.jdbc.transactions instead.","enum":["ENABLED","XA","DISABLED"]},"enable-metrics":{"type":"boolean","description":"@deprecated use quarkus.datasource.jdbc.enable-metrics instead."},"initial-size":{"type":"integer","description":"@deprecated use quarkus.datasource.jdbc.initial-size instead."},"min-size":{"type":"integer","description":"@deprecated use quarkus.datasource.jdbc.min-size instead."},"background-validation-interval":{"description":"@deprecated use quarkus.datasource.jdbc.background-validation-interval instead."},"acquisition-timeout":{"description":"@deprecated use quarkus.datasource.jdbc.acquisition-timeout instead."},"leak-detection-interval":{"description":"@deprecated use quarkus.datasource.jdbc.leak-detection-interval instead."},"idle-removal-interval":{"description":"@deprecated use quarkus.datasource.jdbc.idle-removal-interval instead."},"max-lifetime":{"description":"@deprecated use quarkus.datasource.jdbc.max-lifetime instead."},"transaction-isolation-level":{"type":"string","description":"@deprecated use quarkus.datasource.jdbc.transaction-isolation-level instead.","enum":["UNDEFINED","NONE","READ_UNCOMMITTED","READ_COMMITTED","REPEATABLE_READ","SERIALIZABLE"]},"detect-statement-leaks":{"type":"boolean","description":"@deprecated use quarkus.datasource.jdbc.detect-statement-leaks instead."},"new-connection-sql":{"type":"string","description":"@deprecated use quarkus.datasource.jdbc.new-connection-sql instead."},"validation-query-sql":{"type":"string","description":"@deprecated use quarkus.datasource.jdbc.validation-query-sql instead."},"db-kind":{"type":"string","description":"The kind of database we will connect to (e.g. h2, postgresql...)."},"username":{"type":"string","description":"The datasource username"},"password":{"type":"string","description":"The datasource password"},"credentials-provider":{"type":"string","description":"The credentials provider name"},"credentials-provider-type":{"type":"string","description":"The credentials provider type.\n\u003cp\u003e\nIt is the {@code \u0026#64;Named} value of the credentials provider bean. It is used to discriminate if multiple\nCredentialsProvider beans are available.\n\u003cp\u003e\nFor Vault it is: vault-credentials-provider. Not necessary if there is only one credentials provider available."},"url":{"type":"string","description":"@deprecated use either quarkus.datasource.jdbc.url or quarkus.datasource.reactive.url."},"max-size":{"type":"integer","description":"@deprecated use either quarkus.datasource.jdbc.max-size or quarkus.datasource.reactive.max-size."}}},"driver":{"type":"string","description":"@deprecated use quarkus.datasource.db-kind (and quarkus.datasource.jdbc.driver if you really need a specific JDBC\n driver)."},"transactions":{"type":"string","description":"@deprecated use quarkus.datasource.jdbc.transactions instead.","enum":["ENABLED","XA","DISABLED"]},"enable-metrics":{"type":"boolean","description":"@deprecated use quarkus.datasource.jdbc.enable-metrics instead."},"initial-size":{"type":"integer","description":"@deprecated use quarkus.datasource.jdbc.initial-size instead."},"min-size":{"type":"integer","description":"@deprecated use quarkus.datasource.jdbc.min-size instead."},"background-validation-interval":{"description":"@deprecated use quarkus.datasource.jdbc.background-validation-interval instead."},"acquisition-timeout":{"description":"@deprecated use quarkus.datasource.jdbc.acquisition-timeout instead."},"leak-detection-interval":{"description":"@deprecated use quarkus.datasource.jdbc.leak-detection-interval instead."},"idle-removal-interval":{"description":"@deprecated use quarkus.datasource.jdbc.idle-removal-interval instead."},"max-lifetime":{"description":"@deprecated use quarkus.datasource.jdbc.max-lifetime instead."},"transaction-isolation-level":{"type":"string","description":"@deprecated use quarkus.datasource.jdbc.transaction-isolation-level instead.","enum":["UNDEFINED","NONE","READ_UNCOMMITTED","READ_COMMITTED","REPEATABLE_READ","SERIALIZABLE"]},"detect-statement-leaks":{"type":"boolean","description":"@deprecated use quarkus.datasource.jdbc.detect-statement-leaks instead."},"new-connection-sql":{"type":"string","description":"@deprecated use quarkus.datasource.jdbc.new-connection-sql instead."},"validation-query-sql":{"type":"string","description":"@deprecated use quarkus.datasource.jdbc.validation-query-sql instead."},"db-kind":{"type":"string","description":"The kind of database we will connect to (e.g. h2, postgresql...)."},"health":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether or not an health check is published in case the smallrye-health extension is present.\n\u003cp\u003e\nThis is a global setting and is not specific to a datasource."}}},"metrics":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether or not datasource metrics are published in case the smallrye-metrics extension is present.\n\u003cp\u003e\nThis is a global setting and is not specific to a datasource.\n\u003cp\u003e\nNOTE: This is different from the \"jdbc.enable-metrics\" property that needs to be set on the JDBC datasource level to\nenable collection of metrics for that datasource."}}},"username":{"type":"string","description":"The datasource username"},"password":{"type":"string","description":"The datasource password"},"credentials-provider":{"type":"string","description":"The credentials provider name"},"credentials-provider-type":{"type":"string","description":"The credentials provider type.\n\u003cp\u003e\nIt is the {@code \u0026#64;Named} value of the credentials provider bean. It is used to discriminate if multiple\nCredentialsProvider beans are available.\n\u003cp\u003e\nFor Vault it is: vault-credentials-provider. Not necessary if there is only one credentials provider available."},"url":{"type":"string","description":"@deprecated use either quarkus.datasource.jdbc.url or quarkus.datasource.reactive.url."},"max-size":{"type":"integer","description":"@deprecated use either quarkus.datasource.jdbc.max-size or quarkus.datasource.reactive.max-size."}}},"banner":{"type":"object","properties":{"path":{"type":"string","description":"The path of the banner (path relative to root of classpath)\nwhich could be provided by user"},"enabled":{"type":"boolean","description":"Whether or not the banner will be displayed"}}},"debug":{"type":"object","properties":{"reflection":{"type":"boolean","description":"If set to true, writes a list of all reflective classes to META-INF"},"generated-classes-dir":{"type":"string","description":"If set to a directory, all generated classes will be written into that directory"}}},"jni":{"type":"object","properties":{"library-paths":{"description":"Paths of library to load."},"enable":{"type":"boolean","description":"@deprecated JNI is always enabled starting from GraalVM 19.3.1."}}},"live-reload":{"type":"object","properties":{"password":{"type":"string","description":"Password used to use to connect to the remote dev-mode application"},"url":{"type":"string","description":"URL used to use to connect to the remote dev-mode application"}}},"platform":{"type":"object","properties":{"group-id":{"type":"string","description":"groupId of the platform to use"},"artifact-id":{"type":"string","description":"artifactId of the platform to use"},"version":{"type":"string","description":"version of the platform to use"}}},"ssl":{"type":"object","properties":{"native":{"type":"boolean","description":"Enable native SSL support."}}},"test":{"type":"object","properties":{"native-image-wait-time":{"description":"Duration to wait for the native image to built during testing"},"native-image-profile":{"type":"string","description":"The profile to use when testing the native image"}}},"index-dependency":{"type":"object","properties":{"{*}":{"type":"object","properties":{"group-id":{"type":"string","description":"The maven groupId of the artifact to index"},"artifact-id":{"type":"string","description":"The maven artifactId of the artifact to index"},"classifier":{"type":"string","description":"The maven classifier of the artifact to index"}}}}},"native":{"type":"object","properties":{"additional-build-args":{"description":"Additional arguments to pass to the build process"},"enable-http-url-handler":{"type":"boolean","description":"If the HTTP url handler should be enabled, allowing you to do URL.openConnection() for HTTP URLs"},"enable-https-url-handler":{"type":"boolean","description":"If the HTTPS url handler should be enabled, allowing you to do URL.openConnection() for HTTPS URLs"},"enable-all-security-services":{"type":"boolean","description":"If all security services should be added to the native image"},"enable-jni":{"type":"boolean","description":"@deprecated JNI is always enabled starting from GraalVM 19.3.1."},"add-all-charsets":{"type":"boolean","description":"If all character sets should be added to the native image. This increases image size"},"include-all-time-zones":{"type":"boolean","description":"If all time zones should be added to the native image. This increases image size"},"graalvm-home":{"type":"string","description":"The location of the Graal distribution"},"java-home":{"description":"The location of the JDK"},"native-image-xmx":{"type":"string","description":"The maximum Java heap to be used during the native image generation"},"debug-symbols":{"type":"boolean","description":"If debug symbols should be included"},"debug-build-process":{"type":"boolean","description":"If the native image build should wait for a debugger to be attached before running. This is an advanced option\nand is generally only intended for those familiar with GraalVM internals"},"publish-debug-build-process-port":{"type":"boolean","description":"If the debug port should be published when building with docker and debug-build-process is true"},"cleanup-server":{"type":"boolean","description":"If the native image server should be restarted"},"enable-isolates":{"type":"boolean","description":"If isolates should be enabled"},"enable-fallback-images":{"type":"boolean","description":"If a JVM based \u0027fallback image\u0027 should be created if native image fails. This is not recommended, as this is\nfunctionally the same as just running the application in a JVM"},"enable-server":{"type":"boolean","description":"If the native image server should be used. This can speed up compilation but can result in changes not always\nbeing picked up due to cache invalidation not working 100%"},"auto-service-loader-registration":{"type":"boolean","description":"If all META-INF/services entries should be automatically registered"},"dump-proxies":{"type":"boolean","description":"If the bytecode of all proxies should be dumped for inspection"},"container-build":{"type":"boolean","description":"If this build should be done using a container runtime. If this is set docker will be used by default,\nunless container-runtime is also set."},"builder-image":{"type":"string","description":"The docker image to use to do the image build"},"container-runtime":{"type":"string","description":"The container runtime (e.g. docker) that is used to do an image based build. If this is set then\na container build is always done."},"container-runtime-options":{"description":"Options to pass to the container runtime"},"enable-vm-inspection":{"type":"boolean","description":"If the resulting image should allow VM introspection"},"full-stack-traces":{"type":"boolean","description":"If full stack traces are enabled in the resulting image"},"enable-reports":{"type":"boolean","description":"If reporting on call paths should be enabled"},"report-exception-stack-traces":{"type":"boolean","description":"If exceptions should be reported with a full stack trace"},"report-errors-at-runtime":{"type":"boolean","description":"If errors should be reported at runtime. This is a more relaxed setting, however it is not recommended as it means\nyour application may fail at runtime if an unsupported feature is used by accident."}}},"package":{"type":"object","properties":{"type":{"type":"string","description":"The requested output type.\n\nThe default built in types are jar and native"},"uber-jar":{"type":"boolean","description":"If the java runner should be packed as an uberjar"},"manifest":{"type":"object","properties":{"add-implementation-entries":{"type":"boolean","description":"If the Implementation information should be included in the runner jar\u0027s MANIFEST.MF."}}},"main-class":{"type":"string","description":"The entry point of the application. In most cases this should not be modified."},"user-configured-ignored-entries":{"description":"Files that should not be copied to the output artifact"},"runner-suffix":{"type":"string","description":"The suffix that is applied to the runner jar and native images"},"output-directory":{"type":"string","description":"The output folder in which to place the output, this is resolved relative to the build\nsystems target directory."},"output-name":{"type":"string","description":"The name of the final artifact"}}},"arc":{"type":"object","properties":{"remove-unused-beans":{"type":"string","description":"\u003cul\u003e\n\u003cli\u003eIf set to `all` (or `true`) the container will attempt to remove all unused beans.\u003c/li\u003e\n\u003cli\u003eIf set to none (or `false`) no beans will ever be removed even if they are unused (according to the criteria set out\nbelow)\u003c/li\u003e\n\u003cli\u003eIf set to `fwk`, then all unused beans will be removed, except the unused beans whose classes are declared in the\napplication code\u003c/li\u003e\n\u003c/ul\u003e\n\u003cbr\u003e\n\u003cp\u003e\nAn unused bean:\n\u003cul\u003e\n\u003cli\u003eis not a built-in bean or interceptor,\u003c/li\u003e\n\u003cli\u003eis not eligible for injection to any injection point,\u003c/li\u003e\n\u003cli\u003eis not excluded by any extension,\u003c/li\u003e\n\u003cli\u003edoes not have a name,\u003c/li\u003e\n\u003cli\u003edoes not declare an observer,\u003c/li\u003e\n\u003cli\u003edoes not declare any producer which is eligible for injection to any injection point,\u003c/li\u003e\n\u003cli\u003eis not directly eligible for injection into any {@link javax.enterprise.inject.Instance} injection point\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/p\u003e\n\n@see UnremovableBeanBuildItem"},"auto-inject-fields":{"type":"boolean","description":"If set to true {@code @Inject} is automatically added to all non-static fields that are annotated with\none of the annotations defined by {@link AutoInjectAnnotationBuildItem}."},"remove-final-for-proxyable-methods":{"type":"boolean","description":"If set to true, Arc will transform the bytecode of beans containing methods that need to be proxyable\nbut have been declared as final. The transformation is simply a matter of removing final.\nThis ensures that a proxy can be created properly.\nIf the value is set to false, then an exception is thrown at build time indicating\nthat a proxy could not be created because a method was final."},"config-properties-default-naming-strategy":{"type":"string","description":"The default naming strategy for {@link ConfigProperties.NamingStrategy}. The allowed values are determined\nby that enum","enum":["FROM_CONFIG","VERBATIM","KEBAB_CASE"]}}},"application":{"type":"object","properties":{"name":{"type":"string","description":"The name of the application.\nIf not set, defaults to the name of the project (except for tests where it is not set at all)."},"version":{"type":"string","description":"The version of the application.\nIf not set, defaults to the version of the project (except for tests where it is not set at all)."}}},"locales":{"description":"The set of supported locales that can be consumed by the extensions.\n\u003cp\u003e\nThe locales must be specified in the IETF BCP 47 format e.g. en-US or fr-FR.\n\u003cp\u003e\nFor instance, the Hibernate Validator extension makes use of it."},"default-locale":{"description":"Default locale that can be consumed by the extensions.\n\u003cp\u003e\nThe locales must be specified in the IETF BCP 47 format e.g. en-US or fr-FR.\n\u003cp\u003e\nFor instance, the Hibernate Validator extension makes use of it."},"thread-pool":{"type":"object","properties":{"core-threads":{"type":"integer","description":"The core thread pool size. This number of threads will always be kept alive."},"prefill":{"type":"boolean","description":"Prefill core thread pool.\nThe core thread pool will be initialised with the core number of threads at startup"},"max-threads":{"type":"integer","description":"The maximum number of threads. If this is not specified then\nit will be automatically sized to 8 * the number of available processors"},"queue-size":{"type":"integer","description":"The queue size. For most applications this should be unbounded"},"growth-resistance":{"type":"number","description":"The executor growth resistance.\n\nA resistance factor applied after the core pool is full; values applied here will cause that fraction\nof submissions to create new threads when no idle thread is available. A value of {@code 0.0f} implies that\nthreads beyond the core size should be created as aggressively as threads within it; a value of {@code 1.0f}\nimplies that threads beyond the core size should never be created."},"shutdown-timeout":{"description":"The shutdown timeout. If all pending work has not been completed by this time\nthen additional threads will be spawned to attempt to finish any pending tasks, and the shutdown process will\ncontinue"},"shutdown-interrupt":{"description":"The amount of time to wait for thread pool shutdown before tasks should be interrupted. If this value is\ngreater than or equal to the value for {@link #shutdownTimeout}, then tasks will not be interrupted before\nthe shutdown timeout occurs."},"shutdown-check-interval":{"description":"The frequency at which the status of the thread pool should be checked during shutdown. Information about\nwaiting tasks and threads will be checked and possibly logged at this interval. Setting this key to an empty\nvalue disables the shutdown check interval."},"keep-alive-time":{"description":"The amount of time a thread will stay alive with no work."}}},"profile":{"type":"string","description":"Profile that will be active when Quarkus launches"},"log":{"type":"object","properties":{"level":{"description":"The log level of the root category, which is used as the default log level for all categories."},"min-level":{"description":"The default minimum log level"},"category":{"type":"object","properties":{"{*}":{"type":"object","properties":{"level":{"description":"The log level level for this category"},"handlers":{"description":"The names of the handlers to link to this category."},"use-parent-handlers":{"type":"boolean","description":"Specify whether or not this logger should send its output to its parent Logger"}}}}},"handler":{"type":"object","properties":{"console":{"type":"object","properties":{"{*}":{"type":"object","properties":{"enable":{"type":"boolean","description":"If console logging should be enabled"},"format":{"type":"string","description":"The log format. Note that this value will be ignored if an extension is present that takes\ncontrol of console formatting (e.g. an XML or JSON-format extension)."},"level":{"description":"The console log level."},"color":{"type":"boolean","description":"If the console logging should be in color. If undefined quarkus takes\nbest guess based on operating system and environment.\nNote that this value will be ignored if an extension is present that takes\ncontrol of console formatting (e.g. an XML or JSON-format extension)."},"darken":{"type":"integer","description":"Specify how much the colors should be darkened.\nNote that this value will be ignored if an extension is present that takes\ncontrol of console formatting (e.g. an XML or JSON-format extension)."},"async":{"type":"object","properties":{"~":{"type":"boolean","description":"Indicates whether to log asynchronously"},"queue-length":{"type":"integer","description":"The queue length to use before flushing writing"},"overflow":{"type":"string","description":"Determine whether to block the publisher (rather than drop the message) when the queue is full","enum":["BLOCK","DISCARD"]}}}}}}},"file":{"type":"object","properties":{"{*}":{"type":"object","properties":{"enable":{"type":"boolean","description":"If file logging should be enabled"},"format":{"type":"string","description":"The log format"},"level":{"description":"The level of logs to be written into the file."},"path":{"description":"The name of the file in which logs will be written."},"async":{"type":"object","properties":{"~":{"type":"boolean","description":"Indicates whether to log asynchronously"},"queue-length":{"type":"integer","description":"The queue length to use before flushing writing"},"overflow":{"type":"string","description":"Determine whether to block the publisher (rather than drop the message) when the queue is full","enum":["BLOCK","DISCARD"]}}},"rotation":{"type":"object","properties":{"max-file-size":{"description":"The maximum file size of the log file after which a rotation is executed."},"max-backup-index":{"type":"integer","description":"The maximum number of backups to keep."},"file-suffix":{"type":"string","description":"File handler rotation file suffix.\n\nExample fileSuffix: .yyyy-MM-dd"},"rotate-on-boot":{"type":"boolean","description":"Indicates whether to rotate log files on server initialization."}}}}}}},"syslog":{"type":"object","properties":{"{*}":{"type":"object","properties":{"enable":{"type":"boolean","description":"If syslog logging should be enabled"},"endpoint":{"description":"The IP address and port of the syslog server"},"app-name":{"type":"string","description":"The app name used when formatting the message in RFC5424 format"},"hostname":{"type":"string","description":"The name of the host the messages are being sent from"},"facility":{"type":"string","description":"Sets the facility used when calculating the priority of the message as defined by RFC-5424 and RFC-3164","enum":["KERNEL","USER_LEVEL","MAIL_SYSTEM","SYSTEM_DAEMONS","SECURITY","SYSLOGD","LINE_PRINTER","NETWORK_NEWS","UUCP","CLOCK_DAEMON","SECURITY2","FTP_DAEMON","NTP","LOG_AUDIT","LOG_ALERT","CLOCK_DAEMON2","LOCAL_USE_0","LOCAL_USE_1","LOCAL_USE_2","LOCAL_USE_3","LOCAL_USE_4","LOCAL_USE_5","LOCAL_USE_6","LOCAL_USE_7"]},"syslog-type":{"type":"string","description":"Set the {@link SyslogType syslog type} this handler should use to format the message sent","enum":["RFC5424","RFC3164"]},"protocol":{"type":"string","description":"Sets the protocol used to connect to the syslog server","enum":["TCP","UDP","SSL_TCP"]},"use-counting-framing":{"type":"boolean","description":"Set to {@code true} if the message being sent should be prefixed with the size of the message"},"truncate":{"type":"boolean","description":"Set to {@code true} if the message should be truncated"},"block-on-reconnect":{"type":"boolean","description":"Enables or disables blocking when attempting to reconnect a\n{@link org.jboss.logmanager.handlers.SyslogHandler.Protocol#TCP\nTCP} or {@link org.jboss.logmanager.handlers.SyslogHandler.Protocol#SSL_TCP SSL TCP} protocol"},"format":{"type":"string","description":"The log message format"},"level":{"description":"The log level specifying, which message levels will be logged by syslog logger"},"async":{"type":"object","properties":{"~":{"type":"boolean","description":"Indicates whether to log asynchronously"},"queue-length":{"type":"integer","description":"The queue length to use before flushing writing"},"overflow":{"type":"string","description":"Determine whether to block the publisher (rather than drop the message) when the queue is full","enum":["BLOCK","DISCARD"]}}}}}}}}},"console":{"type":"object","properties":{"enable":{"type":"boolean","description":"If console logging should be enabled"},"format":{"type":"string","description":"The log format. Note that this value will be ignored if an extension is present that takes\ncontrol of console formatting (e.g. an XML or JSON-format extension)."},"level":{"description":"The console log level."},"color":{"type":"boolean","description":"If the console logging should be in color. If undefined quarkus takes\nbest guess based on operating system and environment.\nNote that this value will be ignored if an extension is present that takes\ncontrol of console formatting (e.g. an XML or JSON-format extension)."},"darken":{"type":"integer","description":"Specify how much the colors should be darkened.\nNote that this value will be ignored if an extension is present that takes\ncontrol of console formatting (e.g. an XML or JSON-format extension)."},"async":{"type":"object","properties":{"~":{"type":"boolean","description":"Indicates whether to log asynchronously"},"queue-length":{"type":"integer","description":"The queue length to use before flushing writing"},"overflow":{"type":"string","description":"Determine whether to block the publisher (rather than drop the message) when the queue is full","enum":["BLOCK","DISCARD"]}}}}},"file":{"type":"object","properties":{"enable":{"type":"boolean","description":"If file logging should be enabled"},"format":{"type":"string","description":"The log format"},"level":{"description":"The level of logs to be written into the file."},"path":{"description":"The name of the file in which logs will be written."},"async":{"type":"object","properties":{"~":{"type":"boolean","description":"Indicates whether to log asynchronously"},"queue-length":{"type":"integer","description":"The queue length to use before flushing writing"},"overflow":{"type":"string","description":"Determine whether to block the publisher (rather than drop the message) when the queue is full","enum":["BLOCK","DISCARD"]}}},"rotation":{"type":"object","properties":{"max-file-size":{"description":"The maximum file size of the log file after which a rotation is executed."},"max-backup-index":{"type":"integer","description":"The maximum number of backups to keep."},"file-suffix":{"type":"string","description":"File handler rotation file suffix.\n\nExample fileSuffix: .yyyy-MM-dd"},"rotate-on-boot":{"type":"boolean","description":"Indicates whether to rotate log files on server initialization."}}}}},"syslog":{"type":"object","properties":{"enable":{"type":"boolean","description":"If syslog logging should be enabled"},"endpoint":{"description":"The IP address and port of the syslog server"},"app-name":{"type":"string","description":"The app name used when formatting the message in RFC5424 format"},"hostname":{"type":"string","description":"The name of the host the messages are being sent from"},"facility":{"type":"string","description":"Sets the facility used when calculating the priority of the message as defined by RFC-5424 and RFC-3164","enum":["KERNEL","USER_LEVEL","MAIL_SYSTEM","SYSTEM_DAEMONS","SECURITY","SYSLOGD","LINE_PRINTER","NETWORK_NEWS","UUCP","CLOCK_DAEMON","SECURITY2","FTP_DAEMON","NTP","LOG_AUDIT","LOG_ALERT","CLOCK_DAEMON2","LOCAL_USE_0","LOCAL_USE_1","LOCAL_USE_2","LOCAL_USE_3","LOCAL_USE_4","LOCAL_USE_5","LOCAL_USE_6","LOCAL_USE_7"]},"syslog-type":{"type":"string","description":"Set the {@link SyslogType syslog type} this handler should use to format the message sent","enum":["RFC5424","RFC3164"]},"protocol":{"type":"string","description":"Sets the protocol used to connect to the syslog server","enum":["TCP","UDP","SSL_TCP"]},"use-counting-framing":{"type":"boolean","description":"Set to {@code true} if the message being sent should be prefixed with the size of the message"},"truncate":{"type":"boolean","description":"Set to {@code true} if the message should be truncated"},"block-on-reconnect":{"type":"boolean","description":"Enables or disables blocking when attempting to reconnect a\n{@link org.jboss.logmanager.handlers.SyslogHandler.Protocol#TCP\nTCP} or {@link org.jboss.logmanager.handlers.SyslogHandler.Protocol#SSL_TCP SSL TCP} protocol"},"format":{"type":"string","description":"The log message format"},"level":{"description":"The log level specifying, which message levels will be logged by syslog logger"},"async":{"type":"object","properties":{"~":{"type":"boolean","description":"Indicates whether to log asynchronously"},"queue-length":{"type":"integer","description":"The queue length to use before flushing writing"},"overflow":{"type":"string","description":"Determine whether to block the publisher (rather than drop the message) when the queue is full","enum":["BLOCK","DISCARD"]}}}}},"filter":{"type":"object","properties":{"{*}":{"type":"object","properties":{"if-starts-with":{"description":"The message starts to match"}}}}}}},"shutdown":{"type":"object","properties":{"timeout":{"description":"The timeout to wait for running requests to finish. If this is not set then the application will exit immediately.\n\nSetting this timeout will incur a small performance penalty, as it requires active requests to be tracked."}}},"transaction-manager":{"type":"object","properties":{"node-name":{"type":"string","description":"The node name used by the transaction manager"},"default-transaction-timeout":{"description":"The default transaction timeout"}}},"resteasy":{"type":"object","properties":{"singleton-resources":{"type":"boolean","description":"If this is true then JAX-RS will use only a single instance of a resource\nclass to service all requests.\n\u003cp\u003e\nIf this is false then it will create a new instance of the resource per\nrequest.\n\u003cp\u003e\nIf the resource class has an explicit CDI scope annotation then the value of\nthis annotation will always be used to control the lifecycle of the resource\nclass.\n\u003cp\u003e\nIMPLEMENTATION NOTE: {@code javax.ws.rs.Path} turns into a CDI stereotype\nwith singleton scope. As a result, if a user annotates a JAX-RS resource with\na stereotype which has a different default scope the deployment fails with\nIllegalStateException."},"path":{"type":"string","description":"Set this to override the default path for JAX-RS resources if there are no\nannotated application classes."},"metrics":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether or not JAX-RS metrics should be enabled if the Metrics capability is present and Vert.x is being used."}}},"gzip":{"type":"object","properties":{"enabled":{"type":"boolean","description":"If gzip is enabled"},"max-input":{"description":"Maximum deflated file bytes size\n\u003cp\u003e\nIf the limit is exceeded, Resteasy will return Response\nwith status 413(\"Request Entity Too Large\")"}}}}},"security":{"type":"object","properties":{"jaxrs":{"type":"object","properties":{"deny-unannotated-endpoints":{"type":"boolean","description":"if set to true, access to all JAX-RS resources will be denied by default"}}}}},"http":{"type":"object","properties":{"root-path":{"type":"string","description":"The HTTP root path. All web content will be served relative to this root path."},"auth":{"type":"object","properties":{"basic":{"type":"boolean","description":"If basic auth should be enabled. If both basic and form auth is enabled then basic auth will be enabled in silent mode.\n\nIf no authentication mechanisms are configured basic auth is the default, unless an\n{@link io.quarkus.security.identity.IdentityProvider}\nis present that supports {@link io.quarkus.security.identity.request.TokenAuthenticationRequest} in which case\nform auth will be the default."},"form":{"type":"object","properties":{"enabled":{"type":"boolean","description":"If form authentication is enabled"},"login-page":{"type":"string","description":"The login page"},"error-page":{"type":"string","description":"The error page"},"landing-page":{"type":"string","description":"The landing page to redirect to if there is no saved page to redirect back to"},"redirect-after-login":{"type":"boolean","description":"Option to disable redirect to landingPage if there is no saved page to redirect back to. Form Auth POST is followed\nby redirect to landingPage by default."},"timeout":{"description":"The inactivity (idle) timeout\n\nWhen inactivity timeout is reached, cookie is not renewed and a new login is enforced."},"new-cookie-interval":{"description":"How old a cookie can get before it will be replaced with a new cookie with an updated timeout, also\nreferred to as \"renewal-timeout\".\n\nNote that smaller values will result in slightly more server load (as new encrypted cookies will be\ngenerated more often), however larger values affect the inactivity timeout as the timeout is set\nwhen a cookie is generated.\n\nFor example if this is set to 10 minutes, and the inactivity timeout is 30m, if a users last request\nis when the cookie is 9m old then the actual timeout will happen 21m after the last request, as the timeout\nis only refreshed when a new cookie is generated.\n\nIn other words no timeout is tracked on the server side; the timestamp is encoded and encrypted in the cookie itself\nand it is decrypted and parsed with each request."},"cookie-name":{"type":"string","description":"The cookie that is used to store the persistent session"}}},"realm":{"type":"string","description":"The authentication realm"},"permission":{"type":"object","properties":{"{*}":{"type":"object","properties":{"policy":{"type":"string","description":"The HTTP policy that this permission set is linked to.\n\nThere are 3 built in policies: permit, deny and authenticated. Role based\npolicies can be defined, and extensions can add their own policies."},"methods":{"description":"The methods that this permission set applies to. If this is not set then they apply to all methods.\n\nNote that if a request matches any path from any permission set, but does not match the constraint\ndue to the method not being listed then the request will be denied.\n\nMethod specific permissions take precedence over matches that do not have any methods set.\n\nThis means that for example if Quarkus is configured to allow GET and POST requests to /admin to\nand no other permissions are configured PUT requests to /admin will be denied."},"paths":{"description":"The paths that this permission check applies to. If the path ends in /* then this is treated\nas a path prefix, otherwise it is treated as an exact match.\n\nMatches are done on a length basis, so the most specific path match takes precedence.\n\nIf multiple permission sets match the same path then explicit methods matches take precedence\nover over matches without methods set, otherwise the most restrictive permissions are applied."}}}}},"policy":{"type":"object","properties":{"{*}":{"type":"object","properties":{"roles-allowed":{"description":"The roles that are allowed to access resources protected by this policy"}}}}},"session":{"type":"object","properties":{"encryption-key":{"type":"string","description":"The encryption key that is used to store persistent logins (e.g. for form auth). Logins are stored in a persistent\ncookie that is encrypted with AES-256 using a key derived from a SHA-256 hash of the key that is provided here.\n\nIf no key is provided then an in-memory one will be generated, this will change on every restart though so it\nis not suitable for production environments. This must be more than 16 characters long for security reasons"}}}}},"virtual":{"type":"boolean","description":"If this is true then only a virtual channel will be set up for vertx web.\nWe have this switch for testing purposes."},"port":{"type":"integer","description":"The HTTP port"},"test-port":{"type":"integer","description":"The HTTP port used to run tests"},"host":{"type":"string","description":"The HTTP host"},"host-enabled":{"type":"boolean","description":"Enable listening to host:port"},"ssl-port":{"type":"integer","description":"The HTTPS port"},"test-ssl-port":{"type":"integer","description":"The HTTPS port used to run tests"},"proxy-address-forwarding":{"type":"boolean","description":"If this is true then the address, scheme etc will be set from headers forwarded by the proxy server, such as\n{@code X-Forwarded-For}. This should only be set if you are behind a proxy that sets these headers."},"allow-forwarded":{"type":"boolean","description":"If this is true and proxy address forwarding is enabled then the standard {@code Forwarded} header will be used,\nrather than the more common but not standard {@code X-Forwarded-For}."},"insecure-requests":{"type":"string","description":"If insecure (i.e. http rather than https) requests are allowed. If this is {@code enabled}\nthen http works as normal. {@code redirect} will still open the http port, but\nall requests will be redirected to the HTTPS port. {@code disabled} will prevent the HTTP\nport from opening at all.","enum":["ENABLED","REDIRECT","DISABLED"]},"cors":{"type":"object","properties":{"~":{"type":"boolean","description":"Enable the CORS filter."},"origins":{"description":"Origins allowed for CORS\n\nComma separated list of valid URLs. ex: http://www.quarkus.io,http://localhost:3000\nThe filter allows any origin if this is not set.\n\ndefault: returns any requested origin as valid"},"methods":{"description":"HTTP methods allowed for CORS\n\nComma separated list of valid methods. ex: GET,PUT,POST\nThe filter allows any method if this is not set.\n\ndefault: returns any requested method as valid"},"headers":{"description":"HTTP headers allowed for CORS\n\nComma separated list of valid headers. ex: X-Custom,Content-Disposition\nThe filter allows any header if this is not set.\n\ndefault: returns any requested header as valid"},"exposed-headers":{"description":"HTTP headers exposed in CORS\n\nComma separated list of valid headers. ex: X-Custom,Content-Disposition\n\ndefault: empty"},"access-control-max-age":{"description":"The `Access-Control-Max-Age` response header value indicating\nhow long the results of a pre-flight request can be cached."}}},"ssl":{"type":"object","properties":{"certificate":{"type":"object","properties":{"file":{"description":"The file path to a server certificate or certificate chain in PEM format."},"key-file":{"description":"The file path to the corresponding certificate private key file in PEM format."},"key-store-file":{"description":"An optional key store which holds the certificate information instead of specifying separate files."},"key-store-file-type":{"type":"string","description":"An optional parameter to specify type of the key store file. If not given, the type is automatically detected\nbased on the file name."},"key-store-password":{"type":"string","description":"A parameter to specify the password of the key store file. If not given, the default (\"password\") is used."},"trust-store-file":{"description":"An optional trust store which holds the certificate information of the certificates to trust"},"trust-store-file-type":{"type":"string","description":"An optional parameter to specify type of the trust store file. If not given, the type is automatically detected\nbased on the file name."},"trust-store-password":{"type":"string","description":"A parameter to specify the password of the trust store file."}}},"cipher-suites":{"description":"The cipher suites to use. If none is given, a reasonable default is selected."},"protocols":{"description":"The list of protocols to explicitly enable."},"client-auth":{"type":"string","description":"Configures the engine to require/request client authentication.\nNONE, REQUEST, REQUIRED","enum":["NONE","REQUEST","REQUIRED"]}}},"io-threads":{"type":"integer","description":"The number if IO threads used to perform IO. This will be automatically set to a reasonable value based on\nthe number of CPU cores if it is not provided. If this is set to a higher value than the number of Vert.x event\nloops then it will be capped at the number of event loops.\n\nIn general this should be controlled by setting quarkus.vertx.event-loops-pool-size, this setting should only\nbe used if you want to limit the number of HTTP io threads to a smaller number than the total number of IO threads."},"limits":{"type":"object","properties":{"max-header-size":{"description":"The the maximum length of all headers."},"max-body-size":{"description":"The maximum size of a request body.\nDefault: no limit."}}},"idle-timeout":{"description":"Http connection idle timeout"},"read-timeout":{"description":"Http connection read timeout for blocking IO. This is the maximum amount of time\na thread will wait for data, before an IOException will be thrown and the connection\nclosed."},"body":{"type":"object","properties":{"handle-file-uploads":{"type":"boolean","description":"Whether the files sent using {@code multipart/form-data} will be stored locally.\n\u003cp\u003e\nIf {@code true}, they will be stored in {@code quarkus.http.body-handler.uploads-directory} and will be made\navailable via {@code io.vertx.ext.web.RoutingContext.fileUploads()}. Otherwise, the the files sent using\n{@code multipart/form-data} will not be stored locally, and {@code io.vertx.ext.web.RoutingContext.fileUploads()}\nwill always return an empty collection. Note that even with this option being set to {@code false}, the\n{@code multipart/form-data} requests will be accepted."},"uploads-directory":{"type":"string","description":"The directory where the files sent using {@code multipart/form-data} should be stored.\n\u003cp\u003e\nEither an absolute path or a path relative to the current directory of the application process."},"merge-form-attributes":{"type":"boolean","description":"Whether the form attributes should be added to the request parameters.\n\u003cp\u003e\nIf {@code true}, the form attributes will be added to the request parameters; otherwise the form parameters will\nnot be added to the request parameters"},"delete-uploaded-files-on-end":{"type":"boolean","description":"Whether the uploaded files should be removed after serving the request.\n\u003cp\u003e\nIf {@code true} the uploaded files stored in {@code quarkus.http.body-handler.uploads-directory} will be removed\nafter handling the request. Otherwise the files will be left there forever."},"preallocate-body-buffer":{"type":"boolean","description":"Whether the body buffer should pre-allocated based on the {@code Content-Length} header value.\n\u003cp\u003e\nIf {@code true} the body buffer is pre-allocated according to the size read from the {@code Content-Length}\nheader. Otherwise the body buffer is pre-allocated to 1KB, and is resized dynamically"}}},"so-reuse-port":{"type":"boolean","description":"Enable socket reuse port (linux/macOs native transport only)"},"tcp-quick-ack":{"type":"boolean","description":"Enable tcp quick ack (linux native transport only)"},"tcp-cork":{"type":"boolean","description":"Enable tcp cork (linux native transport only)"},"tcp-fast-open":{"type":"boolean","description":"Enable tcp fast open (linux native transport only)"},"domain-socket":{"type":"string","description":"Path to a unix domain socket"},"domain-socket-enabled":{"type":"boolean","description":"Enable listening to host:port"}}},"vertx":{"type":"object","properties":{"caching":{"type":"boolean","description":"Enables or disables the Vert.x cache."},"classpath-resolving":{"type":"boolean","description":"Enables or disabled the Vert.x classpath resource resolver."},"event-loops-pool-size":{"type":"integer","description":"The number of event loops. 2 x the number of core by default."},"max-event-loop-execute-time":{"description":"The maximum amount of time the event loop can be blocked.\nDefault is 2s."},"warning-exception-time":{"description":"The amount of time before a warning is displayed if the event loop is blocked."},"worker-pool-size":{"type":"integer","description":"The size of the worker thread pool."},"max-worker-execute-time":{"description":"The maximum amount of time the worker thread can be blocked.\nDefault is 10s."},"internal-blocking-pool-size":{"type":"integer","description":"The size of the internal thread pool (used for the file system)."},"use-async-dns":{"type":"boolean","description":"Enables the async DNS resolver."},"eventbus":{"type":"object","properties":{"key-certificate-pem":{"type":"object","properties":{"keys":{"type":"string","description":"Comma-separated list of the path to the key files (Pem format)."},"certs":{"type":"string","description":"Comma-separated list of the path to the certificate files (Pem format)."}}},"key-certificate-jks":{"type":"object","properties":{"path":{"type":"string","description":"Path of the key file (JKS format)."},"password":{"type":"string","description":"Password of the key file."}}},"key-certificate-pfx":{"type":"object","properties":{"path":{"type":"string","description":"Path to the key file (PFX format)"},"password":{"type":"string","description":"Password of the key."}}},"trust-certificate-pem":{"type":"object","properties":{"certs":{"type":"string","description":"Comma-separated list of the trust certificate files (Pem format)."}}},"trust-certificate-jks":{"type":"object","properties":{"path":{"type":"string","description":"Path of the key file (JKS format)."},"password":{"type":"string","description":"Password of the key file."}}},"trust-certificate-pfx":{"type":"object","properties":{"path":{"type":"string","description":"Path to the key file (PFX format)"},"password":{"type":"string","description":"Password of the key."}}},"accept-backlog":{"type":"integer","description":"The accept backlog."},"client-auth":{"type":"string","description":"The client authentication."},"connect-timeout":{"description":"The connect timeout."},"idle-timeout":{"description":"The idle timeout in milliseconds."},"receive-buffer-size":{"type":"integer","description":"The receive buffer size."},"reconnect-attempts":{"type":"integer","description":"The number of reconnection attempts."},"reconnect-interval":{"description":"The reconnection interval in milliseconds."},"reuse-address":{"type":"boolean","description":"Whether or not to reuse the address."},"reuse-port":{"type":"boolean","description":"Whether or not to reuse the port."},"send-buffer-size":{"type":"integer","description":"The send buffer size."},"soLinger":{"type":"integer","description":"The so linger."},"ssl":{"type":"boolean","description":"Enables or Disabled SSL."},"tcp-keep-alive":{"type":"boolean","description":"Whether or not to keep the TCP connection opened (keep-alive)."},"tcp-no-delay":{"type":"boolean","description":"Configure the TCP no delay."},"traffic-class":{"type":"integer","description":"Configure the traffic class."},"trust-all":{"type":"boolean","description":"Enables or disables the trust all parameter."}}},"cluster":{"type":"object","properties":{"host":{"type":"string","description":"The host name."},"port":{"type":"integer","description":"The port."},"public-host":{"type":"string","description":"The public host name."},"public-port":{"type":"integer","description":"The public port."},"clustered":{"type":"boolean","description":"Enables or disables the clustering."},"ping-interval":{"description":"The ping interval."},"ping-reply-interval":{"description":"The ping reply interval."}}},"prefer-native-transport":{"type":"boolean","description":"Enable or disable native transport"}}}}}}}},"$ref":"#/definitions/root","patternProperties":{"^[%][a-zA-Z0-9]*$":{"type":"object","$ref":"#/definitions/root"}}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment