JBoss EAP XP 2.0 icon

JBoss EAP XP 2.0

stack

Java stack with EAP XP 2.0, OpenJDK 11 and Maven 3.5

Details
Version
1.0.0 (default)
Schema version
2.0.0
Project type
JBoss EAP XP
Language
java
Starter Projects
EAP XP 2.0 Eclipse Microprofile Config Quickstart
Download
Devfile
schemaVersion: 2.0.0
metadata:
  name: java-jboss-eap-xp
  version: 1.0.0
  displayName: JBoss EAP XP 2.0
  description: Java stack with EAP XP 2.0, OpenJDK 11 and Maven 3.5
  tags: ["RHEL8", "Java", "OpenJDK", "Maven", "EAP", "Microprofile", "EAP XP"]
  icon: https://raw.githubusercontent.com/redhat-developer/devfile-registry/main/icons/type-jboss.svg
  projectType: "JBoss EAP XP"
  language: "java"
  website: https://access.redhat.com/products/red-hat-jboss-enterprise-application-platform/
starterProjects:
  - name: microprofile-config
    description: EAP XP 2.0 Eclipse Microprofile Config Quickstart
    git:
      checkoutFrom:
        remote: jboss-developer
        revision: xp-2.0.x
      remotes:
        jboss-developer: https://github.com/jboss-developer/jboss-eap-quickstarts.git
    subDir: microprofile-config
  - name: microprofile-config
    description: EAP XP 2.0 Eclipse Microprofile Fault Tolerance Quickstart
    git:
      checkoutFrom:
        remote: jboss-developer
        revision: xp-2.0.x
      remotes:
        jboss-developer: https://github.com/jboss-developer/jboss-eap-quickstarts.git
    subDir: microprofile-fault-tolerance
  - name: microprofile-config
    description: EAP XP 2.0 Eclipse Microprofile Health Quickstart
    git:
      checkoutFrom:
        remote: jboss-developer
        revision: xp-2.0.x
      remotes:
        jboss-developer: https://github.com/jboss-developer/jboss-eap-quickstarts.git
    subDir: microprofile-health
  - name: microprofile-config
    description: EAP XP 2.0 Eclipse Microprofile JWT Quickstart
    git:
      checkoutFrom:
        remote: jboss-developer
        revision: xp-2.0.x
      remotes:
        jboss-developer: https://github.com/jboss-developer/jboss-eap-quickstarts.git
    subDir: microprofile-jwt
  - name: microprofile-config
    description: EAP XP 2.0 Eclipse Microprofile Metrics Quickstart
    git:
      checkoutFrom:
        remote: jboss-developer
        revision: xp-2.0.x
      remotes:
        jboss-developer: https://github.com/jboss-developer/jboss-eap-quickstarts.git
    subDir: microprofile-metrics
  - name: microprofile-config
    description: EAP XP 2.0 Eclipse Microprofile OpenAPI Quickstart
    git:
      checkoutFrom:
        remote: jboss-developer
        revision: xp-2.0.x
      remotes:
        jboss-developer: https://github.com/jboss-developer/jboss-eap-quickstarts.git
    subDir: microprofile-openapi
  - name: microprofile-config
    description: EAP XP 2.0 Eclipse Microprofile OpenTracing Quickstart
    git:
      checkoutFrom:
        remote: jboss-developer
        revision: xp-2.0.x
      remotes:
        jboss-developer: https://github.com/jboss-developer/jboss-eap-quickstarts.git
    subDir: microprofile-opentracing
  - name: microprofile-config
    description: EAP XP 2.0 Eclipse Microprofile REST Client Quickstart
    git:
      checkoutFrom:
        remote: jboss-developer
        revision: xp-2.0.x
      remotes:
        jboss-developer: https://github.com/jboss-developer/jboss-eap-quickstarts.git
    subDir: microprofile-rest-client
components:
  - name: eap-xp
    container:
      image: registry.redhat.io/jboss-eap-7/eap-xp2-openjdk11-openshift-rhel8
      memoryLimit: 1512Mi
      mountSources: true
      volumeMounts:
        - name: m2-repository
          path: /home/jboss/.m2/repository
      env:
        - name: GC_METASPACE_SIZE
          value: '96'
        - name: GC_MAX_METASPACE_SIZE
          value: '256'
        - name: GALLEON_PROVISION_LAYERS
          value: 'jaxrs-server,microprofile-platform'
        - name: S2I_DESTINATION_DIR
          value: '/projects'
        - name: STANDALONE_RESTORE
          value: /home/jboss/.m2/.lucky
#Overriding s2i image config to use the copied contents and thus avoid the file permissions issue.
        - name: GALLEON_LOCAL_MAVEN_REPO
          value: '/tmp/galleon-m2-repository'
        - name: JBOSS_HOME
          value: '/projects/eap'
      endpoints:
        - name: 'http'
          targetPort: 8080
  - name: m2-repository
    volume:
      size: 3Gi
  - name: jaeger
    container:
      image: quay.io/jaegertracing/all-in-one:1.21.0
      memoryLimit: 128Mi
      endpoints:
        - name: 'tracing-ui'
          targetPort: 16686
commands:
  - id: build
    composite:
      label: Build and deploy on JBoss EAP-XP Server.
      commands:
        - compile
        - copy-artifact
      parallel: false
      group:
        kind: build
        isDefault: true
  - id: compile
    exec:
      label: Compile and package the application
      component: eap-xp
      commandLine: mvn -Dmaven.test.skip=true -Dcom.redhat.xpaas.repo.jbossorg -s /home/jboss/.m2/settings.xml clean package
      workingDir: $PROJECTS_ROOT
      group:
        kind: build
        isDefault: false
  - id: copy-artifact
    exec:
      label: Copy application artifact
      component: eap-xp
      commandLine: cp target/*.war $JBOSS_HOME/standalone/deployments/ROOT.war
      workingDir: $PROJECTS_ROOT
      group:
        kind: build
        isDefault: false
  - id: run
    exec:
      label: Launch JBoss EAP-XP Server
      component: eap-xp
      commandLine: cp -f $STANDALONE_RESTORE/standalone-openshift.xml $JBOSS_HOME/standalone/configuration/standalone-openshift.xml && $JBOSS_HOME/bin/openshift-launch.sh
      workingDir: $PROJECTS_ROOT
      hotReloadCapable: true
      group:
        kind: run
        isDefault: true
  - id: debug
    exec:
      label: Launch JBoss EAP-XP Server with debug enabled
      component: eap-xp
      commandLine: cp -f $STANDALONE_RESTORE/standalone-openshift.xml $JBOSS_HOME/standalone/configuration/standalone-openshift.xml && $JBOSS_HOME/bin/openshift-launch.sh
      workingDir: $PROJECTS_ROOT
      hotReloadCapable: true
      env:
        - name: JAVA_OPTS_APPEND
          value: '-Xrunjdwp:transport=dt_socket,address=0.0.0.0:$DEBUG_PORT,server=y,suspend=n -Dsun.util.logging.disableCallerCheck=true'
      group:
        kind: debug
        isDefault: true
  - id: provision-server
    exec:
      component: eap-xp
      commandLine: /usr/local/s2i/assemble && cp -Rf $JBOSS_HOME .
      workingDir: $PROJECTS_ROOT
      env:
        - name: JBOSS_HOME
          value: '/tmp/eap'
      group:
        kind: build
        isDefault: false
  - id: store-config
    exec:
      component: eap-xp
      commandLine: mkdir $STANDALONE_RESTORE && cp -f $JBOSS_HOME/standalone/configuration/standalone-openshift.xml $STANDALONE_RESTORE/standalone-openshift.xml
      workingDir: $PROJECTS_ROOT
      env:
        - name: JBOSS_HOME
          value: /tmp/eap
      group:
        kind: build
        isDefault: false
#Hack to avoid the file permissions issue with the random openshift user
  - id: copy-galleon
    exec:
      component: eap-xp
      commandLine: cp -Rf /opt/jboss/container/wildfly/s2i/galleon/galleon-m2-repository /tmp/. && cp -Rf /opt/eap /tmp/.
      workingDir: $PROJECTS_ROOT
      group:
        kind: build
        isDefault: false
  - id: init-server
    composite:
      label: Provision JBoss EAP-XP Server on post-start.
      commands:
        - copy-galleon
        - provision-server
        - store-config
      parallel: false
      group:
        kind: build
        isDefault: false
  - id: cleanup
    exec:
      component: eap-xp
      commandLine: rm -Rf eap
      workingDir: $PROJECTS_ROOT
      group:
        kind: build
        isDefault: false
events:
  postStart:
    - "init-server"