Appendix A. Reference


A.1. Base layers

Each base layer includes core functionality for a typical server user case.

datasources-web-server

This layer includes a servlet container and the ability to configure a datasource.

The following are the JBoss EAP subsystems included by default in the datasources-web-server:

  • core-management
  • datasources
  • deployment-scanner
  • ee
  • elytron
  • io
  • jca
  • jmx
  • logging
  • naming
  • request-controller
  • security-manager
  • transactions
  • undertow

The following Jakarta EE specifications are supported in this layer:

  • Jakarta JSON Processing
  • Jakarta JSON Binding
  • Jakarta Servlet
  • Jakarta Expression Language
  • Jakarta Server Pages
  • Jakarta Standard Tag Library
  • Jakarta Concurrency
  • Jakarta Annotations
  • Jakarta XML Binding
  • Jakarta Debugging Support for Other Languages
  • Jakarta Transactions
  • Jakarta Connectors

jaxrs-server

This layer enhances the datasources-web-server layer with the following JBoss EAP subsystems:

  • jaxrs
  • weld
  • jpa

This layer also adds an Infinispan-based second-level entity with local caching to the container.

The following Jakarta EE specifications are supported in this layer in addition to those supported in the datasources-web-server layer:

  • Jakarta Contexts and Dependency Injection 2.0
  • Jakarta Bean Validation 2.0
  • Jakarta Interceptors 1.2
  • Jakarta RESTful Web Services 2.1
  • Jakarta Persistence 2.2

cloud-server

This layer enhances the jaxrs-server layer with the following JBoss EAP subsystems:

  • resource-adapters
  • messaging-activemq (remote broker messaging, not embedded messaging)

This layer also adds the following observability features to the jaxrs-server layer:

  • Native Health
  • Native Metrics

The following Jakarta EE specification is supported in this layer in addition to those supported in the jaxrs-server layer:

  • Jakarta Security 1.0

cloud-default-config

This layer provisions a server with server configuration based on standalone-ha.xml and includes the subsystem configuration messaging-activemq. On the contrary, the modcluster and core-management subsystems configuration are not included. This is configured to be used in the cloud. Additionally, all JBoss EAP server JBoss modules will be installed.

Note

The cloud-default-config layer is defined by the eap-cloud-gallen-pack, which is only available on OpenShift Container Platform.

ee-core-profile-server

The ee-core-profile-server layer provisions a server with the Jakarta EE 10 Core Profile. The Core Profile provides a small, lightweight profile for users that provides both core JBoss EAP server functionality and Jakarta EE APIs. The ee-core-profile-server layer is best suited for smaller runtimes such as cloud-native applications and microservices.

You can also create custom layers. For more information, see Provisioning user-developed layers in JBoss EAP.

While most Galleon layers are supported on both bare metal and OpenShift Container Platform deployments, some are specific to the deployment contexts. The following tables describe what layers are supported in deployment contexts.

Expand
Table A.1. wildfly-ee-galleon-pack layers
LayerTypeDescriptionBare metalBare metal bootable JAROpenShift Container Platform

datasources-web-server

Base

A servlet container with support for datasources.

Yes

Yes

Yes

jaxrs-server

Base

An extension of the datasources-web-server with support for Jakarta RESTful Web Services, CDI and JPA.

Yes

Yes

Yes

cloud-server

Base

An extension of the jaxrs-server to address common cloud requirements.

Yes

Yes

Yes

ee-core-profile-server

Base

A Jakarta EE Core Profile server.

Yes

Yes

Yes

observability

Decorator

Support for MicroProfile monitoring features.

Yes

Yes

Yes

web-clustering

Decorator

Support for distributable web applications. Configures a non-local Infinispan-based container web cache for data session handling suitable to clustering environments.

Yes

Yes

Yes

ejb

Decorator

Support for Jakarta Enterprise Beans, excluding the IIOP protocol.

Yes

Yes

Yes

ejb-lite

Decorator

Support for Jakarta Enterprise Beans Lite.

Yes

Yes

Yes

ejb-local-cache

Decorator

Infinispan-based local cache for stateful session beans.

Yes

Yes

Yes

ejb-dist-cache

Decorator

Infinispan-based distributed cache for stateful session beans.

Yes

Yes

Yes

elytron-oidc-client

Decorator

Provides a native OIDC client in JBoss EAP to connect with OpenID providers.

Yes

Yes

Yes

embedded-activemq

Decorator

Support for an embedded Apache Activemq Artemis Jakarta Messaging broker. Alternative to the remote-activemq layer.

Yes

No

Yes

jdr

Decorator

Support for the JBoss Diagnostic Reporting (JDR) subsystem.

Yes

Yes

Yes

jpa

Decorator

Support for JPA (using the latest JBoss EAP supported Hibernate release). Alternative: jpa-distributed.

Yes

Yes

Yes

jpa-distributed

Decorator

Support for JPA with a distributed second level cache. Alternative: jpa

Yes

Yes

Yes

jsf

Decorator

Support for Jakarta Faces.

Yes

Yes

Yes

remote-activemq

Decorator

Support for connections to a remote Apache Activemq Artemis Jakarta Messaging broker. Alternative: embedded-activemq

Yes

Yes

Yes

web-console

Decorator

Support for loading the HAL web console from the /console context on the HTTP management interface. Not required to use a HAL console obtained independently and configured to connect to the server.

Yes

Yes

Yes

webservices

Decorator

Support for Jakarta XML Web Services.

Yes

Yes

Yes

Expand
Table A.2. eap-cloud-galleon-pack layers
LayerTypeDescriptionBare metalBare metal bootable JAROpenShift Container Platform

cloud-default-config

Base

Provisions a server with server configuration based on standalone-ha.xml and includes the subsystem configuration messaging-activemq.

Not applicable

Not applicable

Yes

Expand
Table A.3. eap-myfaces-feature-pack layers
LayerTypeDescriptionBare metalBare metal bootable JAROpenShift Container Platform

myfaces

Decorator

Provides MyFaces Jakarta Faces implementation as an alternative the default Mojarra Jakarta Faces implementation. To use the myfaces layer, you must provide the version for the MyFaces implementation.

Yes

Yes

Yes

Note

The feature-pack only provides MyFaces-specific integration classes and not the MyFaces artifacts. You must specify the Maven artifact version for MyFaces by either using the environment variable MYFACES_VERSION or system property org.jboss.eap.jsf.myfaces.version. You can find the version for org.apache.myfaces.core:myfaces-impl, which is the groupID:artifactID for MyFaces, at Apache MyFaces Core 4.1 Impl.

During provisioning, the MyFaces artifacts will be retrieved from a Maven repository. If the MyFaces artifacts for the given version are not present in the repository, or you do not specify the version, the provisioning will fail. Also, if the MyFaces version is not Jakarta EE-compatible, provisioning will succeed, but the deployment will fail due to missing classes.

Expand
Table A.4. org.keycloak:keycloak-saml-adapter-galleon-pack layers
LayerTypeDescriptionBare metalBare metal bootable JAROpenShift Container Platform

keycloak-saml

Decorator

Use this layer for Source to Image (s2i) with automatic registration of the SAML client. You must use this layer along with the cloud-default-config layer.

No

No

Yes

keycloak-client-saml

Decorator

Use this layer for web-applications on bare metal, and for Source to Image (s2i) with keycloak-saml subsystem configuration provided in a CLI script or in the deployment configuration.

Yes

Yes

No

keycloak-client-saml-ejb

Decorator

Use this layer for applications where you want to propagate identities to Jakarta Enterprise Beans.

Yes

Yes

No

Expand
Table A.5. eap-datasources-galleon-pack layers
LayerTypeDescriptionBare metalBare metal bootable JAROpenShift Container Platform

postgresql-driver

Decorator

This installs a JBoss EAP module for the PostgreSQL driver and adds a driver resource to the datasources subsystem in the server configuration.

Yes

Yes

Yes

postgresql-datasource

Decorator

This is built upon the postgresql-driver Galleon layer to add a datasource.

Yes

Yes

Yes

mssql-driver

Decorator

This installs a JBoss EAP module for the Microsoft SQL server driver and adds a driver resource to the datasources subsystem in the server configuration.

Yes

Yes

Yes

mssql-datasource

Decorator

This is built upon the mssql-driver Galleon layer to add a datasource.

Yes

Yes

Yes

oracle-driver

Decorator

This installs a JBoss EAP module for the Oracle database driver and adds a driver resource to the datasources subsystem in the server configuration.

Yes

Yes

Yes

oracle-datasource

Decorator

This is built upon the oracle-driver Galleon layer to add a datasource.

Yes

Yes

Yes

Note
  • No specific driver version is included in the feature-pack. Before you provision your server, you have to specify the driver version.

    Example

    POSTGRESQL_DRIVER_VERSION="42.2.19"

  • The driver-specific environment variables are defined within their specific driver documentation.

For more information, see the following resources:

JBoss EAP XP-specific layers

This following feature-packs and layers are only available with JBoss EAP XP.

Expand
Table A.6. org.jboss.eap.xp:wildfly-galleon-pack layers
LayerTypeDescriptionBare metalBare metal bootable JAROpenShift Container Platform

microprofile-platform

Decorator

This layer includes MicroProfile capabilities:

  • MicroProfile Config
  • MicroProfile Fault Tolerance
  • MicroProfile Health
  • MicroProfile JWT
  • MicroProfile OpenAPI
  • MicroProfile REST Client
  • MicroProfile Telemetry This layer includes MicroProfile capabilities that are also included in the observability layer. If you include this layer, you do not need to include the observability layer.

Yes

Yes

Yes

microprofile-lra-coordinator

Decorator

Provides MicroProfile Long Running Actions (LRA) capability and MicroProfile LRA coordinator. The MicroProfile LRA coordinator is responsible for starting, managing, and recovery of the LRAs.

Yes

Yes

Yes

microprofile-lra-participant

Decorator

Provides MicroProfile Long Running Actions (LRA) capability and the client library used in user deployments to participate in the distributed MicroProfile LRAs, and define compensation and completion callbacks.

Yes

Yes

Yes

microprofile-reactive-messaging-kafka

Decorator

This layer provides MicroProfile Reactive Messaging capability along with an Apache Kafka connector to integrate MicroProfile Reactive Messaging with external messaging systems.

Yes

Yes

Yes

microprofile-reactive-messaging-amqp

Decorator

This layer provides MicroProfile Reactive Messaging capability along with an Advanced Message Queuing Protocol (AMQP) connector to integrate MicroProfile Reactive Messaging with external messaging systems.

Yes

Yes

Yes

Expand
Table A.7. org.jboss.eap.xp:eap-xp-cloud-galleon-pack
LayerTypeDescriptionBare metalBare metal bootable JAROpenShift Container Platform

cloud-default-mp-config

Base

This layer provisions a server with standalone configuration based on the standalone-microprofile-ha.xml configuration file.

This layer is only available with JBoss EAP XP.

No

No

Yes

You can configure the eap-maven-plugin Maven plug-in by setting the following list of configuration parameters.

Expand
Table A.8. JBoss EAP plug-in package goal parameters
NameTypeDescription

bootable-jar

boolean

Set the value to true to create an executable Java Archive (jar) in addition to the provisioned server.

bootable-jar-install-artifact-classifier

String

When <bootable-jar> is set to true, the bootable JAR artifact is attached to the project with the classifier 'bootable'. Use this parameter to configure the classifier.

bootable-jar-name

String

Set the name to be used for the jar file when the bootable-jar parameter is set to true. By default, the generated file is named ${artifactid}-bootable.jar.

channels

List

A list of channel YAML file references. A channel file contains the versions of the JBoss EAP server artifacts. There are two ways to identify a channel YAML file.

  • If you deploy the channel YAML file artifact in a Maven repository with the channels classifier, then you can identify it using its Maven coordinates: groupId, artifactId and optional version. If version is not set, it uses the latest channel version. For example:
<channels>
  <channel>
    <manifest>
      <groupId>org.jboss.eap.channels</groupId>
      <artifactId>eap-8.1</artifactId>
    </manifest>
  </channel>
</channels>
  • You can retrieve the channel YAML file by using the URL. For example:
<channels>
  <channel>
    <manifest>
      <url>file:///foo/my-manifest.yaml</url>
    </manifest>
  </channel>
</channels>

excluded-layers

List

A list of Galleon layers to exclude. You can use it when feature-pack-location or feature-packs are set. Use the system property wildfly.provisioning.layers.excluded to provide a comma-separated list of layers to exclude.

extra-server-content-dirs

List

A list of directories from which content is copied to the provisioned server. You can use either the absolute path to the directory or the relative path. The relative path must be relative to the project base directory.

feature-packs

List

A list of feature-pack configurations to install, which you can combine with layers. Use the system property wildfly.provisioning.feature-packs to provide a comma-separated list of feature-packs.

filename

String

The file name of the application to deploy. The default value is ${project.build.finalName}.${project.packaging}. In an exception case, ejb packaging results in .jar extension. For example, the value of $[project.packaging] during war packaging is war and the value of $[project.packaging] during ejb packaging is ejb, which is not a valid jar extension. These cases require the .jar extension.

galleon-options

Map

When provisioning the server, you can set specific Galleon options. If you are building a large number of servers in the same Maven session, you must set jboss-fork-embedded option to true to fork Galleon provisioning and CLI scripts execution. For example:

<galleon-options>
  <jboss-fork-embedded>true</jboss-fork-embedded>
</galleon-options>

layers

List

A list of Galleon layers to provision. You can use it when feature-pack-location or feature-packs are set. Use the system property wildfly.provisioning.layers to provide a comma-separated list of layers.

layers-configuration-file-name

String

A name of the configuration file generated from layers. The default value is standalone.xml. You cannot set this parameter if layers are not configured.

log-provisioning-time

boolean

Specifies whether to log the provisioning time at the end of the provisioning. The default value is false.

name

String

A name used for the deployment.

offline-provisioning

boolean

Specifies whether to use offline mode when the plug-in resolves an artifact. In offline mode, the plug-in uses the local Maven repository for artifact resolution. The default value is false.

overwrite-provisioned-server

boolean

If you want to delete the existing server referenced from the provisioningDir and provision a new one, set it to true. If not, set it to false. The default value is false.

packaging-scripts

List

A list of CLI scripts and commands to execute. If a script file is not absolute, it must be relative to the project base directory. Configure the CLI executions in the following way:

<packaging-scripts>
  <packaging-script>
    <scripts>
      <script>../scripts/script1.cli</script>
    </scripts>
    <commands>
      <command>/system-property=foo:add(value=bar)</command>
    </commands>
    <properties-files>
      <property-file>my-properties.properties</property-file>
    </properties-files>
    <java-opts>
      <java-opt>-Xmx256m</java-opt>
    </java-opts>
    <!-- Expressions resolved during server execution -->
    <resolve-expressions>false</resolve-expressions>
  </packaging-script>
</packaging-scripts>

provisioning-dir

String

Path to the directory in which to provision the server. It can be an absolute path or a path relative to the buildDir. By default, the server is provisioned into the target/server directory. The default value is server.

provisioning-file

File

The path to the provisioning.xml file to use. You cannot use it when feature-packs configuration item and layers configuration item are set. If the provisioning file path is not absolute, it must be relative to the project base directory. The default value is ${project.basedir}/galleon/provisioning.xml.

record-provisioning-state

boolean

Specifies whether to record the provisioning state in .galleon directory. The default value is false.

runtime-name

String

The runtime-name of the deployment. The default value is the deployment file name, such as myapp.war. You can set this argument to ROOT.war to get the deployment registered in the HTTP root context.

server-config

String

The name of the server configuration to use during deployment. The deployment is deployed inside the configuration referenced from layers-configuration-file-name if layers-configuration-file-name is set. The default value is standalone.xml.

skip

boolean

If you want the goal to be skipped, set it to true. If not, set it to false. The default value is false.

skipDeployment

boolean

Set the value to true if you do not want to deploy the application to the provisioned server.

Note

To package a server as a hollow bootable JAR, a bootable JAR without any application, set this to true in addition to the bootable-jar parameter.

The default value is false.

stdout

String

Indicates how stdout and stderr are handled for the created CLI processes. stderr is redirected to stdout if the value is defined unless the value is none. By default the stdout and stderr streams are inherited from the current process. You can change the setting to one from the following options:

  • None indicates that stderr and stdout should not be used.
  • System.out or System.err to redirect to the current processes.
  • Any other value is assumed to be the path to a file and the stdout and stderr will be written to it.
Expand
Table A.9. JBoss EAP plug-in provision goal parameters
NameTypeDescription

channels

List

A list of channel YAML file references. A channel file contains the versions of the JBoss EAP server artifacts. There are two ways to identify a channel YAML file.

  • If you deploy the channel YAML file artifact in a Maven repository with the channels classifier, then you can identify it using its Maven coordinates: groupId, artifactId and optional version. If version is not set, it uses the latest channel version. For example:
<channels>
  <channel>
    <manifest>
      <groupId>org.jboss.eap.channels</groupId>
      <artifactId>eap-8.1</artifactId>
    </manifest>
  </channel>
</channels>
  • You can retrieve the channel YAML file by using the URL. For example:
<channels>
  <channel>
    <manifest>
      <url>file:///foo/my-manifest.yaml</url>
    </manifest>
  </channel>
</channels>

excluded-layers

List

A list of Galleon layers to exclude. You can use it when feature-pack-location or feature-packs are set. Use the system property wildfly.provisioning.layers.excluded to provide a comma-separated list of layers to exclude.

feature-packs

List

A list of feature-pack configurations to install, which you can combine with layers. Use the system property wildfly.provisioning.feature-packs to provide a comma-separated list of feature-packs.

galleon-options

Map

When provisioning the server, you can set specific Galleon options. If you are building a large number of servers in the same Maven session, you must set jboss-fork-embedded option to true to fork Galleon provisioning and CLI scripts execution. For example:

<galleon-options>
  <jboss-fork-embedded>true</jboss-fork-embedded>
</galleon-options>

layers

List

A list of Galleon layers to provision. You can use it when feature-pack-location or feature-packs are set. Use the system property wildfly.provisioning.layers to provide a comma-separated list of layers.

layers-configuration-file-name

String

A name of the configuration file generated from layers. The default value is standalone.xml. You cannot set this parameter if layers are not configured.

log-provisioning-time

boolean

Specifies whether to log the provisioning time at the end of the provisioning. The default value is false.

offline-provisioning

boolean

Specifies whether to use offline mode when the plug-in resolves an artifact. In offline mode, the plug-in uses the local Maven repository for artifact resolution. The default value is false.

overwrite-provisioned-server

boolean

If you want to delete the existing server referenced from the provisioningDir and provision a new one, set it to true. If not, set it to false. The default value is false.

provisioning-dir

String

Path to the directory in which to provision the server. It can be an absolute path or a path relative to the buildDir. By default, the server is provisioned into the target/server directory. The default value is server.

provisioning-file

File

The path to the provisioning.xml file to use. You cannot use it when feature-packs configuration item and layers configuration item are set. If the provisioning file path is not absolute, it must be relative to the project base directory. The default value is ${project.basedir}/galleon/provisioning.xml.

record-provisioning-state

boolean

Specifies whether to record the provisioning state in .galleon directory. The default value is false.

skip

boolean

If you want the goal to be skipped, set it to true. If not, set it to false. The default value is false.

A.4. Bootable JAR arguments

View the arguments in the following table to learn about supported arguments for use with the bootable JAR.

Expand
Table A.10. Supported bootable JAR executable arguments
ArgumentDescription

--help

Displays the help message for the specified command and exit.

--cli-script=<path>

Specifies the path to a JBoss CLI script that executes when starting the bootable JAR. If the path specified is relative, the path is resolved against the working directory of the Java VM instance used to launch the bootable JAR.

--deployment=<path>

Argument specific to the hollow bootable JAR. Specifies the path to the WAR, JAR, EAR file or exploded directory that contains the application you want to deploy on a server.

--display-galleon-config

Print the content of the generated Galleon configuration file.

--install-dir=<path>

By default, the JVM settings are used to create a TEMP directory after the bootable JAR is started. You can use the --install-dir argument to specify a directory to install the server.

-secmgr

Runs the server with a security manager installed.

-b<interface>=<value>

Set system property jboss.bind.address.<interface> to the given value. For example, bmanagement=IP_ADDRESS.

-b=<value>

Set system property jboss.bind.address, which is used in configuring the bind address for the public interface. This defaults to 127.0.0.1 if no value is specified.

-D<name>[=<value>]

Specifies system properties that are set by the server at server runtime. The bootable JAR JVM does not set these system properties.

--properties=<url>

Loads system properties from a specified URL.

-S<name>[=value]

Set a security property.

-u=<value>

Set system property jboss.default.multicast.address, which is used in configuring the multicast address in the socket-binding elements in the configuration files. This defaults to 230.0.0.4 if no value is specified.

--version

Display the application server version and exit.

Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust. Explore our recent updates.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Theme

© 2026 Red Hat
Back to top