Skip to main content

Basic Configuration

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.

Prerequisites

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, or az) for AWS, Google Cloud, or Azure, respectively.
  • kubectl configured with access to your Kubernetes cluster.
  • A valid Harness license key.

For obtaining a license, please contact Harness Support.

Installation

  1. Download the latest Helm chart from the Harness GitHub Releases page. Under the Assets section, locate and download the harness-<release-version>.tgz file.

  2. Extract the Helm chart by unpacking the .tgz file into your desired directory.

  3. Navigate to the extracted directory, open the values.yaml file, 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: true
  4. Create Namespace.

    kubectl create ns <harness-namespace>
  5. Install the chart.

    tip

    If you're installing SMP for the first time, we recommend using the override-small.yaml file, which is optimized for minimal resource requirements to help you get started. You can also learn more about resource profiles here.

    helm install <release-name> ./<path-to-directory/> -n <harness-namespace> -f override-small.yaml
  6. Check the pod status to ensure that SMP is up and running.

    kubectl get pods -n <harness-namespace>
  7. 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.

  global:
# -- Enable to install Cloud Cost Management (CCM)
ccm:
enabled: false
# -- Enable to install Continuous Deployment (CD)
cd:
enabled: false
# -- Enable to install First Generation Harness Platform (disabled by default)
chaos:
enabled: false
# -- Enable to install Continuous Integration (CI)
ci:
enabled: false
# -- Enable to install Software Supply Chain Assurance (SSCA)
ssca:
enabled: false
# -- Enable to install Database Devops (DB Devops)
dbops:
enabled: false
# -- Enable to install Harness Code services (CODE)
code:
enabled: false
# -- Enable to install Harness Infrastructure As Code Management (IACM)
iacm:
enabled: false

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.

  global:
license:
ng: "your-ng-license-key"

Looker License Configuration and Renewal

To add or update your looker license, update in the values.yaml file.

   #Enable looker license in values.yaml
looker:
secrets:
lookerLicenseKey: XXXXXXXXXXXXXXXXXXXX

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

ProfileConcurrent PipelinesRecommended Team SizeYAML File
SmallUp to 50Fewer than 50 usersoverride-small.yaml
MediumUp to 20050–200 usersoverride-medium.yaml
LargeOver 200200+ usersoverride-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 Upgrades

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.

# Update using small profile
helm upgrade -i <release-name> <path-to-directory>/ -n <harness-namespace> -f <custom-override.yaml> -f <override-*>.yaml