Full example deployment of EAP 8 in Helm charts

Solution Verified - Updated

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:

SettingResult
repositoryhttps://maven.repository.redhat.com/ga/org/jboss/eap/
channeleap-8.0
specific version1.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 featurePacks is used, galleonLayers will be required.
  • The moment that both are used, so then channels must 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)
Components
Category
Tags

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.