Install - Java Agent Controller on Containerized Wildfly or JBoss App for Dynamic Analysis


Installation Steps

  1. Download the latest vFunction Sudoless Controller Installation TGZ
  2. Download a sample installation.yaml
  3. Set the Configurable Settings in the downloaded installation.yaml
  4. Create a folder for vFunction artifacts in the Artifact Repository accessible by the Docker Build
  5. Add the vFunction Sudoless Controller Installation TGZ and the installation.yaml to the Artifact Repository
  6. Create a vFunction specific branch to add the vFunction artificats to the Application’s Dockerfile
  7. Find and note the base path to your Wildfly Application Server

### This should return the location of the bin/standalone.conf which should be in the Wildfly base path

find / -name 'standalone.conf' -type f
  1. Find and note the location and version of the wildfly-common-VERSION.jar on your Wildfly Application Server

find / -name wildfly-common-*.jar -type f
  1. Find and note the location and version of the jboss-logmanager-VERSION.jar on your Wildfly Application Server

find / -name jboss-logmanager-*.jar -type f
  1. Modify the Application’s Dockerfile
### Find-and-replace the WILDFLY_BASE, WILDFLY_COMMON_VER and JBOSS_LOGMANAGER_VER based on the findings from steps 8-10 above
FROM jboss/wildfly:25.0.0.Final

USER root

ENV WILDFLY_BASE=/opt/jboss/wildfly

# following are the versions of wildfly-common and jboss-logmanager in Wildfly 25. Your versions
# may vary depending on jboss/wildfly version used.
ARG WILDFLY_COMMON_VER=1.5.4
ARG JBOSS_LOGMANAGER_VER=2.1.18

COPY ARTIFACT_REPOSITORY/vfunction/vfunction-controller-sudo-less-installation*.tgz /tmp/vfunction-controller-sudo-less-installation.tgz
COPY ARTIFACT_REPOSITORY/vfunction/installation.yaml /tmp/

RUN cd /tmp/ && tar zxvf /tmp/vfunction-controller-sudo-less-installation.tgz     && \
 rm -rf /tmp/vfunction-controller-sudo-less-installation.tgz     && \
 mv /tmp/installation.yaml /tmp/vfunction/etc/sysconfig/vfunction/installation/instances/default-java/     && \
 bash /tmp/vfunction/opt/vfunction/controller-installation/install.sh -i default-java -n -a     && \
 echo "bash /tmp/vfunction/opt/vfunction/controller-installation/restart-controller.sh -i default-java" >> $WILDFLY_BASE/bin/standalone.conf     && \
 cat /tmp/vfunction/etc/sysconfig/vfunction/agent/instances/default-java/vmargs-examples/wildfly >> $WILDFLY_BASE/bin/standalone.conf     && \
 chmod -R 777 /tmp/vfunction     && \
 chown -R jboss:root /tmp/vfunction/     && \
 sed -i "s~<your-wildfly-base-path>~$WILDFLY_BASE~g" $WILDFLY_BASE/bin/standalone.conf     && \
 sed -i "s~wildfly-common-<version>.jar~wildfly-common-${WILDFLY_COMMON_VER}.Final.jar~g" $WILDFLY_BASE/bin/standalone.conf     && \
 sed -i "s~jboss-logmanager-<version>.jar~jboss-logmanager-${JBOSS_LOGMANAGER_VER}.Final.jar~g" $WILDFLY_BASE/bin/standalone.conf

USER jboss

  1. Build and deploy the Application
  2. Confirm that the Application comes up and functions as expected
  3. If any issues arise: