Install - Java Agent Controller on Containerized Open Liberty App for Dynamic Analysis


Installation Steps

  1. Download the latest vFunction Sudoless Controller Installation TGZ
  2. Download a sample installation.yaml
  3. Download a sample docker-server.sh
  4. Set the Configurable Settings in the downloaded installation.yaml
  5. Create a folder for vFunction artifacts in the Artifact Repository accessible by the Docker Build
  6. Add the vFunction Sudoless Controller Installation TGZ, the docker-server.sh and the installation.yaml to the Artifact Repository
  7. Create a vFunction specific branch to add the vFunction artificats to the Application’s Dockerfile
  8. Modify the Application’s Dockerfile
FROM <existing_docker_image>

COPY <existing_workflow>

### vFunction COPY workflow

COPY /artifact_repository/vfunction/vfunction-controller-sudo-less-installation*.tgz /tmp/vfunction-controller-sudo-less-installation.tgz
COPY /artifact_repository/vfunction/installation.yaml /tmp/
COPY /artifact_repository/vfunction/docker-server.sh /opt/ol/helpers/runtime/docker-server.sh


RUN <existing_workflow>

### vFunction RUN workflow

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                              && \
        cat /tmp/vfunction/etc/sysconfig/vfunction/agent/instances/default-java/vmargs-examples/liberty >> /opt/ol/wlp/usr/servers/defaultServer/jvm.options && \
        chown -R default:root /opt/ol/                                                           && \
        chmod +x /opt/ol/helpers/runtime/docker-server.sh                                                               && \
        chmod -R 777 /tmp/vfunction/                                           

ENTRYPOINT [<existingWorkflowIfUsed>]
CMD [<existingWorkflowIfUsed>]

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