<commit_before>= Red Hat JBoss Enterprise Application Platform (JBoss EAP) xPaaS Image
{<NAME>}
{product-version}
:data-uri:
:icons:
:experimental:
:toc: macro
:toc-title:

toc::[]

== Overview

Red Hat JBoss Enterprise Application Platform (JBoss EAP) is available as a containerized xPaaS image that is designed for use with OpenShift. Developers can quickly build, scale, and test applications deployed across hybrid environments.

[IMPORTANT]
There are significant differences in supported configurations and functionality in the JBoss EAP xPaaS image compared to the regular release of JBoss EAP.

This topic details the differences between the JBoss EAP xPaaS image and the regular release of JBoss EAP, and provides instructions specific to running and configuring the JBoss EAP xPaaS image. Documentation for other JBoss EAP functionality not specific to the JBoss EAP xPaaS image can be found in the https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/[JBoss EAP documentation on the Red Hat Customer Portal].

The location of `_EAP_HOME_` inside a JBoss EAP xPaaS image is: *_/opt/eap/_*.

== Comparing the JBoss EAP xPaaS Image to the Regular Release of JBoss EAP

=== Functionality Differences for OpenShift JBoss EAP xPaaS Images

There are several major functionality differences in the OpenShift JBoss EAP xPaaS image:

* The JBoss EAP Management Console is not available link:#Managing-OpenShift-JBoss-EAP-xPaaS-Images[to manage OpenShift JBoss EAP xPaaS images].
* The JBoss EAP Management CLI is only bound locally. This means that you can only access the Management CLI of a container from within the pod.
* Domain mode is not supported. OpenShift controls the creation and distribution of applications in the containers.
* There is no HornetQ messaging subsystem. The JBoss A-MQ xPaaS image must be used for scenarios that require messaging.
* The default root page is disabled. You may want to deploy your own application to the root context (as *_ROOT.war_*). 

[[Managing-OpenShift-JBoss-EAP-xPaaS-Images]]
=== Managing OpenShift JBoss EAP xPaaS Images

A major difference in managing an OpenShift JBoss EAP xPaaS image is that there is no Management Console exposed for the JBoss EAP installation inside the image. Because images are intended to be immutable, with modifications being written to a non-persistent file system, the Management Console is not exposed.

However, the JBoss EAP Management CLI (*_EAP_HOME/bin/jboss-cli.sh_*) is still accessible from within the container for troubleshooting purposes:

----
$ oc exec -p <pod> -c <container> - /opt/eap/bin/jboss-cli.sh
----

[WARNING]
Any configuration changes made using the JBoss EAP Management CLI on a running container will be lost when the container restarts.

link:#Making-Configuration-Changes-EAP[Making configuration changes to the
JBoss EAP instance inside the JBoss EAP xPaaS image] is different from the process you may be used to for a regular release of JBoss EAP.

=== Unsupported Configurations

The following is a list of unsupported configurations specific to the JBoss EAP xPaaS image:

* Using MySQL in a scaled environment with XA distributed transactions is not recommended. For applications that support both scaling and XA distributed transactions, PostgreSQL is recommended instead.
// This is based on https://issues.jboss.org/browse/CLOUD-56

== Installing the JBoss EAP xPaaS Image Streams and Application Templates

To use the Red Hat xPaaS middleware images in your OpenShift project, you must first link:../../admin_guide/install/first_steps.html#creating-image-streams-for-xpaas-middleware-images[install the image streams] and link:../../admin_guide/install/first_steps.html#creating-quickstart-templates[Source-to-Image (S2I) application templates].

[[Making-Configuration-Changes-EAP]]
== Running and Configuring the JBoss EAP xPaaS Image

You can make changes to the JBoss EAP configuration in the xPaaS image using either the S2I templates, or by using a modified JBoss EAP xPaaS image.

=== Using the JBoss EAP xPaaS Image Source-to-Image (S2I) Process

The recommended method to run and configure the OpenShift JBoss EAP xPaaS image is to use the OpenShift S2I process together with the application template parameters and environment variables.

The S2I process for the JBoss EAP xPaaS image works as follows:

. If there is a *_pom.xml_* file in the source repository, a Maven build is triggered with the contents of `*$MAVEN_ARGS*` environment variable.
+
By default the `package` goal is used with the `openshift` profile, including the system properties for skipping tests (`*-DskipTests*`) and enabling the Red Hat GA repository (`*-Dcom.redhat.xpaas.repo.redhatga*`).
+
The results of a successful Maven build are copied to *_EAP_HOME/standalone/deployments_*. This includes all JAR, WAR, and EAR files from the directory within the source repository specified by `*$ARTIFACT_DIR*` environment variable. The default value of `*$ARTIFACT_DIR*` is the *_target_* directory.
. Any JAR, WAR, and EAR in the *_deployments_* source repository directory are copied to the *_EAP_HOME/standalone/deployments_* directory.
. All files in the *_configuration_* source repository directory are copied to *_EAP_HOME/standalone/configuration_*.
+
[NOTE]
If you want to use a custom JBoss EAP configuration file, it should be named *_standalone-openshift.xml_*.
. All files in the *_modules_* source repository directory are copied to *_EAP_HOME/modules_*.


\**LIST OF PARAMETERS/VARIABLES**
<commit_msg>Removed placeholder text for environment variables.<commit_after>= Red Hat JBoss Enterprise Application Platform (JBoss EAP) xPaaS Image
{<NAME>}
{product-version}
:data-uri:
:icons:
:experimental:
:toc: macro
:toc-title:

toc::[]

== Overview

Red Hat JBoss Enterprise Application Platform (JBoss EAP) is available as a containerized xPaaS image that is designed for use with OpenShift. Developers can quickly build, scale, and test applications deployed across hybrid environments.

[IMPORTANT]
There are significant differences in supported configurations and functionality in the JBoss EAP xPaaS image compared to the regular release of JBoss EAP.

This topic details the differences between the JBoss EAP xPaaS image and the regular release of JBoss EAP, and provides instructions specific to running and configuring the JBoss EAP xPaaS image. Documentation for other JBoss EAP functionality not specific to the JBoss EAP xPaaS image can be found in the https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/[JBoss EAP documentation on the Red Hat Customer Portal].

The location of `_EAP_HOME_` inside a JBoss EAP xPaaS image is: *_/opt/eap/_*.

== Comparing the JBoss EAP xPaaS Image to the Regular Release of JBoss EAP

=== Functionality Differences for OpenShift JBoss EAP xPaaS Images

There are several major functionality differences in the OpenShift JBoss EAP xPaaS image:

* The JBoss EAP Management Console is not available link:#Managing-OpenShift-JBoss-EAP-xPaaS-Images[to manage OpenShift JBoss EAP xPaaS images].
* The JBoss EAP Management CLI is only bound locally. This means that you can only access the Management CLI of a container from within the pod.
* Domain mode is not supported. OpenShift controls the creation and distribution of applications in the containers.
* There is no HornetQ messaging subsystem. The JBoss A-MQ xPaaS image must be used for scenarios that require messaging.
* The default root page is disabled. You may want to deploy your own application to the root context (as *_ROOT.war_*). 

[[Managing-OpenShift-JBoss-EAP-xPaaS-Images]]
=== Managing OpenShift JBoss EAP xPaaS Images

A major difference in managing an OpenShift JBoss EAP xPaaS image is that there is no Management Console exposed for the JBoss EAP installation inside the image. Because images are intended to be immutable, with modifications being written to a non-persistent file system, the Management Console is not exposed.

However, the JBoss EAP Management CLI (*_EAP_HOME/bin/jboss-cli.sh_*) is still accessible from within the container for troubleshooting purposes:

----
$ oc exec -p <pod> -c <container> - /opt/eap/bin/jboss-cli.sh
----

[WARNING]
Any configuration changes made using the JBoss EAP Management CLI on a running container will be lost when the container restarts.

link:#Making-Configuration-Changes-EAP[Making configuration changes to the
JBoss EAP instance inside the JBoss EAP xPaaS image] is different from the process you may be used to for a regular release of JBoss EAP.

=== Unsupported Configurations

The following is a list of unsupported configurations specific to the JBoss EAP xPaaS image:

* Using MySQL in a scaled environment with XA distributed transactions is not recommended. For applications that support both scaling and XA distributed transactions, PostgreSQL is recommended instead.
// This is based on https://issues.jboss.org/browse/CLOUD-56

== Installing the JBoss EAP xPaaS Image Streams and Application Templates

To use the Red Hat xPaaS middleware images in your OpenShift project, you must first link:../../admin_guide/install/first_steps.html#creating-image-streams-for-xpaas-middleware-images[install the image streams] and link:../../admin_guide/install/first_steps.html#creating-quickstart-templates[Source-to-Image (S2I) application templates].

[[Making-Configuration-Changes-EAP]]
== Running and Configuring the JBoss EAP xPaaS Image

You can make changes to the JBoss EAP configuration in the xPaaS image using either the S2I templates, or by using a modified JBoss EAP xPaaS image.

=== Using the JBoss EAP xPaaS Image Source-to-Image (S2I) Process

The recommended method to run and configure the OpenShift JBoss EAP xPaaS image is to use the OpenShift S2I process together with the application template parameters and environment variables.

The S2I process for the JBoss EAP xPaaS image works as follows:

. If there is a *_pom.xml_* file in the source repository, a Maven build is triggered with the contents of `*$MAVEN_ARGS*` environment variable.
+
By default the `package` goal is used with the `openshift` profile, including the system properties for skipping tests (`*-DskipTests*`) and enabling the Red Hat GA repository (`*-Dcom.redhat.xpaas.repo.redhatga*`).
+
The results of a successful Maven build are copied to *_EAP_HOME/standalone/deployments_*. This includes all JAR, WAR, and EAR files from the directory within the source repository specified by `*$ARTIFACT_DIR*` environment variable. The default value of `*$ARTIFACT_DIR*` is the *_target_* directory.
. Any JAR, WAR, and EAR in the *_deployments_* source repository directory are copied to the *_EAP_HOME/standalone/deployments_* directory.
. All files in the *_configuration_* source repository directory are copied to *_EAP_HOME/standalone/configuration_*.
+
[NOTE]
If you want to use a custom JBoss EAP configuration file, it should be named *_standalone-openshift.xml_*.
. All files in the *_modules_* source repository directory are copied to *_EAP_HOME/modules_*.

{'fraction_non_alphanumeric': 0.06021602160216022, 'fraction_numerical': 0.0012601260126012602, 'mean_word_length': 4.929028815368197, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 4}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1990100', 'n_tokens_mistral': 3173, 'n_tokens_neox': 3043, 'n_words': 1466}