Full example deployment of EAP 8 in Helm charts
Environment
- Red Hat Enterprise Application Platform
- 8.x
- galleon build
- Red hat OpenShift Container Platform (OCP)
- 4.x
Issue
Full example deployment of EAP 8 in Helm charts
Resolution
Example 1: Full example EAP 8 deployment via Helm chart galleon without specific s2i settings
build:
uri: https://github.com/jboss-developer/jboss-eap-quickstarts.git
ref: 8.0.x
contextDir: helloworld
env:
- name: MAVEN_OPTS
value: '-XX:MetaspaceSize=251m -XX:MaxMetaspaceSize=256m'
deploy:
replicas: 1
env:
- name: JAVA_OPTS_APPEND
value: -XX:MetaspaceSize=251m -XX:MaxMetaspaceSize=256m
This will generate an build from the redhat-ga-plugin-repository repository from https://maven.repository.redhat.com/ga/org/jboss/eap/channels/eap-8.0/1.12.0.GA-redhat-00011/:
[INFO] Downloaded from redhat-ga-plugin-repository: https://maven.repository.redhat.com/ga/org/wildfly/security/wildfly-elytron-permission/2.2.2.Final-redhat-00001/wildfly-elytron-permission-2.2.2.Final-redhat-00001.jar (0 B at 0 B/s)
Mar 26, 2026 11:28:45 PM org.wildfly.channel.maven.VersionResolverFactory$MavenResolverImpl resolveChannelMetadata
INFO: Resolving channel metadata from Maven artifact org.jboss.eap.channels:eap-8.0:1.12.0.GA-redhat-00011
[INFO] Provisioning server in /tmp/src/target/server
[INFO] Resolving feature-packs
[INFO] Installing packages
[INFO] Resolving artifacts
...
[INFO] Generating configurations
This is solved via: https://maven.repository.redhat.com/ga/org/jboss/eap/channels/ + channel + version, as below:
| Setting | Result |
|---|---|
| repository | https://maven.repository.redhat.com/ga/org/jboss/eap/ |
| channel | eap-8.0 |
| specific version | 1.12.0.GA-redhat-00011 |
Example 2: Full example EAP 8 deployment via Helm chart galleon using specific s2i settings
build:
uri: https://github.com/jboss-developer/jboss-eap-quickstarts.git
ref: 8.0.x
contextDir: helloworld
env:
- name: MAVEN_OPTS
value: '-XX:MetaspaceSize=251m -XX:MaxMetaspaceSize=256m'
s2i:
version: 1
featurePacks: org.jboss.eap.cloud:eap-cloud-galleon-pack
galleonLayers: cloud-default-config
channels: org.jboss.eap.channels:eap-8.0
deploy:
replicas: 1
env:
- name: JAVA_OPTS_APPEND
value: -XX:MetaspaceSize=251m -XX:MaxMetaspaceSize=256m
Result:
[INFO] Provisioning server in /opt/jboss/container/wildfly/s2i/galleon/provisioning/generic_layers/target/server
...
[INFO] -------------< org.jboss.galleon.s2i:layers-provisioning >--------------
[INFO] Building Provision a set of Galleon layers from s2i feature-pack 1.0.0.Final
[INFO] --------------------------------[ pom ]---------------------------------
Example 3: Full example EAP 8 deployment spec environment variable CONFIG_IS_FINAL
build:
uri: https://github.com/jboss-developer/jboss-eap-quickstarts.git
ref: 8.0.x
contextDir: helloworld
s2i:
version: 1
featurePacks: org.jboss.eap.cloud:eap-cloud-galleon-pack,org.jboss.eap.xp:wildfly-galleon-pack
galleonLayers: cloud-default-config
deploy:
replicas: 1
env:
- name: CONFIG_IS_FINAL
value: 'true' <------------ must be string
Interpretation
- build.uri:
https://github.com/jboss-developer/jboss-eap-quickstarts.git - build.ref: 8.0.x
- build.contextDir: Hello World
- env: used to set the environment variables
- s2i.version: set the version for the build
Rules:
- The moment that
featurePacksis used,galleonLayerswill be required. - The moment that both are used, so then
channelsmust be used.
Root Cause
The channel becomes the root for fetching the manifest file, which has a list of jars with groupid, artifactid and versions:
schemaVersion: "1.0.0"
name: "EAP 8.0 Update 12.0"
id: "org.jboss.eap.channels:eap-8.0"
description: "This manifest provides the latest upgrades to provision EAP 8.0"
streams:
- groupId: "com.amazon.ion"
artifactId: "ion-java"
version: "1.11.9.redhat-00001"
- groupId: "com.amazonaws"
artifactId: "aws-java-sdk-core"
version: "1.12.284.redhat-00002"
- groupId: "com.amazonaws"
artifactId: "aws-java-sdk-kms"
version: "1.12.284.redhat-00002"
- groupId: "com.amazonaws"
The follow is the following:
Helm install -> Build starts -> env converted -> Maven starts -> Access maven.repository.redhat.com/channel/version -> get manifest -> poms -> jars -> metadata
Maven example:
### Environment variables:
STEP 3/9: ENV
OPENSHIFT_BUILD_NAME="helloworld-build-artifacts-1"
OPENSHIFT_BUILD_NAMESPACE="eap"
OPENSHIFT_BUILD_SOURCE="https://github.com/jboss-developer/jboss-eap-quickstarts.git" OPENSHIFT_BUILD_REFERENCE="8.0.x"
OPENSHIFT_BUILD_COMMIT="c4f466f6c45b7ef34111884cd9537169835cba3c"
CUSTOM_INSTALL_DIRECTORIES="extensions"
MAVEN_OPTS="-XX:MetaspaceSize=251m -XX:MaxMetaspaceSize=256m"
...
#### Maven starting:
INFO Running 'mvn -e -Popenshift -DskipTests -Dcom.redhat.xpaas.repo.redhatga -Dfabric8.skip=true -Djkube.skip=true --batch-mode -Djava.net.preferIPv4Stack=true -s /home/jboss/.m2/settings.xml -Dmaven.repo.local=/tmp/artifacts/m2 package'
Diagnostic Steps
Example where channels is absent, the problem is below - where the output is: version can neither be null, empty nor blank:
[INFO] Provisioning server in /opt/jboss/container/wildfly/s2i/galleon/provisioning/generic_layers/target/server
[INFO] Resolving feature-packs
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 15.815 s
[INFO] Finished at: 2026-03-26T23:18:13Z
[INFO] ------------------------------------------------------------------------
[WARNING] The requested profile "openshift" could not be activated because it does not exist.
[ERROR] Failed to execute goal org.jboss.eap.plugins:eap-maven-plugin:1.0.1.Final-redhat-00025:package (provisioning-layers cloud-default-config) on project layers-provisioning: Provisioning failed: Failed to resolve org.jboss.eap.cloud:eap-cloud-galleon-pack:zip: version can neither be null, empty nor blank -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.jboss.eap.plugins:eap-maven-plugin:1.0.1.Final-redhat-00025:package (provisioning-layers cloud-default-config) on project layers-provisioning: Provisioning failed
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:306)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:211)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:165)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:157)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:121)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.