Basic configuration
Configure resource profiles, load balancing, licenses, modules, autoscaling, and dashboards.
Harness Self-Managed Enterprise Edition (SMP) gives organizations complete control over their software delivery infrastructure. This guide walks you through the setup process, including enabling Resource Profiles and Modules, along with essential configuration steps.
SMP is deployed using Helm charts, with customizable options through YAML override files to help you get started quickly.
Before you begin
Before starting this guide, you must complete the following steps:
A Kubernetes cluster (EKS, GKE, or AKS) with a configured Load Balancer IP or a DNS entry.
Helm installed on your local machine.
Command-line tools (e.g.,
eksctl,gcloud, oraz) for AWS, Google Cloud, or Azure, respectively.kubectlconfigured with access to your Kubernetes cluster.A valid Harness license key.
To obtain a license, contact Harness Support.
Installation
Download the latest Helm chart from the Harness GitHub Releases page. Under the Assets section, locate and download the
harness-<release-version>.tgzfile.Extract the Helm chart by unpacking the
.tgzfile into your desired directory.Navigate to the extracted directory, open the
values.yamlfile, and update the following parameters.global: # Load balancer configuration loadbalancerURL: "http://<YOUR-IP-ADDRESS-OR-HOST>" # Ingress configuration ingress: className: "harness" enabled: true hosts: "<YOUR-IP-ADDRESS-OR-HOST>" tls: enabled: false # Enable NGINX nginx: create: true controller: annotations: {} loadBalancerEnabled: true loadBalancerIP: "<YOUR-IP-ADDRESS-OR-HOST>" # Enable default backend defaultbackend: create: trueCreate Namespace.
kubectl create ns <harness-namespace>Install the chart.
helm install <release-name> ./<path-to-directory/> -n <harness-namespace> -f override-small.yamlCheck the pod status to ensure that SMP is up and running.
kubectl get pods -n <harness-namespace>If all steps above have been completed successfully and the services are running, you can access the Harness SMP UI at:
http://<YOUR-IP-ADDRESS-OR-HOST>/auth/#/signup
Module enablement
Modules are functionalities of the Harness Platform, each designed for a specific use. In the Self-Managed Platform (SMP), you can control which modules are active by updating the YAML.
The modules such as CI, CD, CCM, Chaos, etc. can be included or excluded by setting their values to true or false in the values.yaml file.
Licenses
A license defines the level of access and usage limits for using different features or modules of the platform, such as CI, CD, CCM, etc. It determines what services are available, how many resources (like developers or pipelines) you can use, and for how long.
Harness Self-Managed Platform has two types of licenses:
Next Generation (NG): To enable the Core Platform and its modules on SMP.
Looker: To add analytics and dashboards features.
Make sure to contact Harness Support to obtain the required licenses.
NG License Configuration and Renewal
To add or update your NG license, update in the values.yaml file.
Looker License Configuration and Renewal
To add or update your looker license, update in the values.yaml file.
To verify activation and learn more about Looker licensing or for Airgapped installations, see the custom dashboard configuration documentation.
Resource Profiles
The resource profiles are designed to support different deployment scales and workloads, with predefined allocations for CPU, memory, and storage.
Available resource profiles
Profile
Concurrent Pipelines
Recommended Team Size
YAML File
Small
Up to 50
Fewer than 50 users
override-small.yaml
Medium
Up to 200
50–200 users
override-medium.yaml
Large
Over 200
200+ users
override-large.yaml
These resource profiles are included in the Harness Helm chart once downloaded. The standard override-<*>.yaml files are designed for quick access and installation, but you can further customize them to suit your environment and specific use case.
Install and upgrade
To install or upgrade SMP with your desired resource profile, select one of the predefined profiles mentioned above. Then, use the command below after updating the placeholders for <release-name>, <harness-namespace>, <custom-override> (if applicable), and a resource profile like <override-*>, based on your infrastructure.
Last updated
Was this helpful?