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
Download the tar.gz file (agent-4-gitlab-server-<version>.tar.gz) for Linux or zip file Windows (agent-4-gitlab-server-<version>.zip)
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.Verify that the desired package managers will be installed on the wss-scanner Docker image. For more information, see Modifying the Scanner Dockerfile.
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: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.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
|
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:
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.