<#import "/templates/guide.adoc" as tmpl>
<#import "/templates/links.adoc" as links>
<#import "/templates/profile.adoc" as profile>
<#import "templates/databases.adoc" as databases>

<@tmpl.guide
    title="Supported Configurations"
    summary="Overview of supported platforms, Java versions, databases, and other system requirements for {project_name}.">

This {section} provides an overview of the platforms, versions, and configurations that are tested and supported for running {project_name} in production environments.

== Java Virtual Machine

{project_name} requires a Java Virtual Machine (JVM) to run. The following Java Development Kit (JDK) versions are supported:

* OpenJDK 17 (LTS)
* OpenJDK 21 (LTS)
* OpenJDK 25 (LTS)

NOTE: To benefit from the latest performance improvements, we suggest using the latest supported JDK version for production deployments.
This is currently OpenJDK {jdk_version_latest}.

=== Container Image

{project_name} provides official container image that is using OpenJDK {jdk_version_container}. Consider this when writing
custom extensions. For more details on the container image, see <@links.server id="containers"/>.

== Runtime Platform

{project_name} can be deployed in various environments:

* **Bare Metal / Virtual Machines** - Direct installation on Linux or Windows servers
* **Containers** - Docker, Podman
* **Kubernetes** - OpenShift 4.18-4.21, corresponding to Kubernetes API 1.31-1.34

NOTE: Other non-OpenShift Kubernetes distributions (like Amazon EKS or Azure Kubernetes Service etc.) are supported only in a best-effort manner, i.e. support will be provided for issues that
are specific to the supported Kubernetes API or OpenShift versions, but issues that are reproducible only on a particular Kubernetes distribution may not be supported.

NOTE: The supported versions of each respective environment are limited to the versions that are currently supported by the respective vendors. For example, for OpenShift, only the versions that are currently supported by Red Hat are supported by {project_name}.

== Supported Databases

{project_name} has built-in support for different relational databases. The following table lists the supported databases and their tested versions.

<@databases.supportedDatabases/>

For details on configuring a supported database, see <@links.server id="db"/> {section}.

== Supported Browsers

The {project_name} UI including login pages, Admin Console and Account Console are supported with the following browsers:

[%autowidth]
|===
|Browser | Supported Versions

|Google Chrome | Latest stable version
|Mozilla Firefox | Latest stable version
|Microsoft Edge | Latest stable version
|Apple Safari | Latest stable version
|===

NOTE: Both desktop and mobile versions of the browsers are supported.

NOTE: The Admin Console and Account Console require JavaScript to be enabled. Browsers must support modern web standards including ES6+, WebAuthn, and Web Crypto API for full functionality.

== Clustering and High Availability

{project_name} supports clustering for high availability and scalability using external Infinispan ${properties["infinispan.version"]}.
For details, visit the <@links.ha id="introduction"/>.

== Hardware Requirements

The hardware requirements for running {project_name} depend on the expected load and deployment environment.
Consult  the <@links.ha id="introduction"/> for recommendations on hardware sizing for different deployment scenarios.

== Additional Resources

For more detailed configuration information, see:

* <@links.server id="configuration-production"/>
* <@links.server id="db"/>
* <@links.server id="containers"/>
* <@links.ha id="introduction"/>

</@tmpl.guide>


