Skip to main content
Skip table of contents

Installation Prerequisites - Mend for GitLab

Overview

This page describes the required prerequisites for installing Mend for GitLab.

General

The following requirements must be accommodated before installing Mend for GitLab:

  • Access to a working Mend Application and a user with Admin privileges (either Organization or Product Admin).

  • Access to a working self-hosted GitLab instance and a user with Admin privileges.

  • The deployment includes two environments:

    • A build environment where the image is built.

    • A deployment environment where the image is deployed.

  • The build environment can be the same one as the deployment environment on which the relevant Mend Docker images will be deployed.

  • For both build and target environments arm64 is not supported.

Hardware Requirements (For Build and Deployment Environments)

  • CPU: Dual Core, 2Ghz or higher (Intel or AMD)

  • RAM: 16GB

  • Storage: 100GB minimum; depending on maximum repository size and complexity

General Requirements (For Build and Deployment Environments)

  • Admin privileges:

    • Windows - The user must have administrative privileges.

    • Linux - The user must have root privileges.

  • Docker server version 18 and above. To verify the Docker version, enter docker --version in the command line.

  • Software and files delivered by mend:

    • Mend Docker distribution artifacts that are delivered as a tar.gz or zip file (For example, agent-4-gitlab-server-<version>.tar.gz, agent-4-gitlab-server-<version>.zip).

    • You can download the latest version with this link.

Build Environment Requirements

  • An internet connection for the entire duration of the build procedure.

  • When using a Container Orchestration Platform (i.e Kubernetes, ECS, Rancher etc.), make sure you have logs collection in place: ELK, Splunk or similar. If you are not using an Orchestration platform for the containers, the logs will be collected in designated folders. 

Deployment Environment Requirements

  • Port 5678 must be open at all times. This port will be used to receive webhooks from the GitLab system hook.

  • Access to the Mend application is required at times for the operation of Mend for GitLab. To check your access to the Mend application, see the Health Checks section.

  • Communication between all the components, deployment environment to GitLab Server and the Mend application.

Preparing for Installation

  1. Download the tar.gz file (agent-4-gitlab-server-<version>.tar.gz) for Linux or zip file Windows (agent-4-gitlab-server-<version>.zip)

  2. Extract the downloaded file to an empty directory.
    The extraction creates the following folders:
    wss-configuration: UI Configuration tool and related configuration file template
    wss-deployment: Deployment template (for example, deploying the integration using Helm charts)
    wss-gls-app: Mend for GitLab application
    wss-remediate: Mend Remediate worker
    wss-scanner: Mend for GitLab scanner
    build.sh/build.bat (Linux/Windows): The build script that will create the relevant Docker images.

  3. Verify that the desired package managers will be installed on the wss-scanner Docker image. For more information, see Modifying the Scanner Dockerfile.

  4. Build the docker images. A total of three images will be built: wss-gls-app, wss-scanner, and wss-remediate.
    There are two options to build the Docker images:

    1. Using an executable script (recommended):
      Windows - Run build.bat which is located in the main folder where you extracted the agent-4-gitlab-server zip file.
      Linux - Run build.sh which is located in the main folder where you extracted the agent-4-gitlab-server tar.gz file.
      In order to ensure that the build succeeded, run the command docker images and check if the wss-gls-app, wss-gls-scanner, and wss-remediate images were created.

    2. Manually building the images:
      NOTE: If you selected option 4a (Using an executable script), skip this step.
      To run the steps of the build file manually, run the following commands directly:

CODE
# For example:
docker build -t wss-gls-app:<version> wss-gls-app/docker
docker build -t wss-scanner:<version> wss-scanner/docker 
docker build -t wss-remediate:<version> wss-remediate/docker

Note: From version 21.5.1, the Remediate Dockerfile supports both Ubuntu 18.04 and Ubuntu 20.04-compatible images. The base image can be changed using the BASE_IMAGE build argument. For example:

CODE
docker build --build-arg BASE_IMAGE=ubuntu:18.04 -t wss-remediate:21.5.1 wss-remediate/docker

Note: The wss-scanner image Dockerfile is located in the wss-scanner\docker\ folder. Some package managers are installed by default and the others will need to be manually uncommented in the Dockerfile in order to use them. We also offer the Dockerfilefull that is located in the wss-scanner\docker\ folder. When using the wss-scanner image’s Dockerfilefull, all of the supported package managers are uncommented and installed by default.

See here for more information on which package managers are part of the scanner image as well as how to add additional package managers.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.