Harness Disconnected On-Premise Setup
- Intended Audience
- Installation Overview
- Before You Begin
- Set Up Harness Disconnected On-Premise
- Upgrade Harness Disconnected On-Premise
Harness Disconnected On-Premise is run entirely within your enterprise network (on-premise or "on-prem"), as opposed to Harness SaaS, which is the Harness cloud offering, and Harness Connected On-Premise, which runs in your cloud environment.
- System Administrators
- Network Administrators
The Harness platform comprises 5 micro-services:
- Harness Manager
- Machine Learning Engine
- Nginx Proxy
Each micro-service is containerized and is deployed on the physical machine where you install Harness.
Before You Begin
Setting up Harness Disconnected On-Premise requires the following:
- Recommended server specification for Harness: 16 cores, 32GB Memory, 250GB Disk.
- Packages: Docker, cURL, sed.
- Default settings on the Linux machine(s) where you run the installer (for example, 0022 unmask).
Set Up Harness Disconnected On-Premise
The following procedure sets up Harness on one physical server.
To set up Harness Disconnected On-Premise, do the following:
- Start Docker. The Docker daemon must be running before you begin Harness installation.
- Obtain the Set Up Harness Disconnected On-Premise tar file from Harness. It is named harness_installer_version.tar.gz. Contact Harness via the Web at harness.io/contact.
The tar file contains the following:
- The harness_installer folder.
- Harness Disconnected On-Premise.
- The install_harness.sh and stop_harness.sh scripts.
- Extract the Set Up Harness Disconnected On-Premise tar file (tar -xvf harness_installer_version.tar.gz). The harness_installer folder appears.
- Open a terminal and navigate to the harness_installer folder.
- In the folder you will see several files, such as accountdetails.properties. You will need to edit these files before running the Harness installer.
- Open accountdetails.properties in a text editor, and edit the following settings.
Enter a name for your Harness account.
Enter your company's name.
Enter the email address of the person in your company that will act as the Harness administrator. The email address must be in lowercase.
- Open inframapping.properties in a text editor, and edit the HOST1_IP_ADDRESS property. Enter the external, public IP address of the host that will run Harness.
- Open config.properties in a text editor.
- For runtime_dir, enter the absolute path where Harness will store its local files. For example, /home/johndoe/Desktop/Harness.
- In a terminal, run install_harness.sh as sudo. You can pass in the runtime directory as an argument to set where Harness is installed. Without the argument, the script defaults to the
$HOMEdirectory and Harness is installed in
This script populates the server with Harness and MongoDB. The script will output a URL using the public IP address you provided in inframapping.properties.
- Navigate to the printed URL. This is the Harness Manager log in.
- Log into Harness using the email address you entered in accountdetails.properties in AdminEmail. The default password for the account is admin.
- Start setting up Harness by downloading and installing a Harness Delegate as described in Delegate Installation.
Upgrade Harness Disconnected On-Premise
To upgrade your Harness Disconnected On-Premise installation, do the following:
- When you receive an upgrade to Harness Disconnected On-Premise, extract the harness_installer_version.tar.gz file.
- Open the harness_installer folder in a terminal.
- Run the install_harness.sh script as sudo.
If you specified a runtime directory when you first installed Harness, ensure you use the same runtime directory as an argument when running install_harness.sh.
If no argument was provided during the first time installation, there is no need to pass an argument while upgrading. The installer will use the default runtime directory location of
$HOME/harness_runtimewhere it was first installed.
- Navigate to the URL printed by the script. This is the Harness Manager log in.
- Log in to Harness.
The following troubleshooting steps will help you diagnose and fix problems you might encounter.
The default port for Harness Disconnected On-Premise is 7143. Some deployment environments, such as AWS EC2, might require you to open inbound port 7143 manually, or even a TCP port range such as 7143 through 7153, to enable traffic to Harness Disconnected On-Premise.
Run Harness Disconnected On-Premise on Different Port
The default port for Harness Disconnected On-Premise is 7143. If you would like to run Harness Disconnected On-Premise on a different port, do the following:
- Extract the harness_installer_version.tar.gz file (tar -xvf harness_installer_version.tar.gz).
- Navigate to the file config_template/proxy/proxyconfig.properties.
- Change the proxy_port=7143 to the new port.
- Rerun the installation.
Docker is Not Running on the Server
The Docker daemon must be running on the server for the installation and running of Harness Disconnected On-Premise. For information on running the Docker daemon, see Configure and troubleshoot the Docker daemon from Docker.
Add Custom Load Balancer In Front Proxy
If you want to use a custom load balancer in front of the proxy server, do the following:
- Open the install_harness.sh script in a text editor.
- Locate the string, LOAD_BALANCER_URL=http://$host1:$proxyPort. It is around line 200 in the setupManager() function.
- Change the LOAD_BALANCER_URL value to the load balancer URL.
- Ensure that the load balancer is routing requests to port 7143 on the installation machine.
- Clean up the Harness runtime directory. The runtime directory is set in the config.properties file.
- Rerun the installation.
Docker CE Cannot be Installed on RedHat 7.x
If you wish to run Harness Disconnected On-Premise on RedHat (RHEL) 7.x, see the article Docker Tip #39: Installing Docker CE on RedHat (RHEL) 7.x.
Cannot Log Into Harness after Installation
Check if the AdminEmail value in the accountdetails.properties file contains any uppercase characters. It may only contain lowercase characters.