Skip to main content

Supported platforms and technologies

This topic lists Harness support for platforms, methodologies, and related technologies for NextGen modules.

Continuous Delivery (CD)

The following table lists Harness support for deployment platforms, artifacts, strategies, and related technologies.

Deployment Type/Platform Artifact Servers and Repos Infrastructure Strategies Verification

Kubernetes

  • Docker Hub
  • ECR
  • GCR
  • ACR
  • Nexus 3 (Docker Repo)
  • Artifactory (Docker Repo)
  • Custom Repository
  • Google Artifact Registry

Manifest Resources:

  • Kustomize
  • Helm (see Helm support below)
  • OpenShift Template

Static Infrastructure:

  • GKE
  • AKS
  • Other Kubernetes Compliant Clusters
  • EKS
  • OpenShift version 3.11, 4.x
  • Minikube
  • Kubernetes Operations (kops)

Dynamic Infrastructure:

  • GKE using Terraform
  • AWS EKS using CloudFormation
  • Rolling
  • Canary
  • Blue/Green

See Note on Kubernetes for more details.

Rolling:

  • Previous Analysis - Synthetic Load

Canary:

  • Canary Analysis - Realtime Load

Blue/Green:

  • Previous Analysis - Synthetic Load

Helm v3.0

Docker Image Repo:

  • Docker Hub
  • ECR
  • GCR
  • ACR
  • Nexus 3 (Docker Repo)
  • Artifactory (Docker Repo)
  • Custom Repository

Helm Chart Package Repo:

  • Artifactory (as a Helm HTTP Server)
  • Nexus (as a Helm HTTP Server)
  • OCI (as a Helm HTTP Server)
  • AWS S3
  • GCS
  • HTTP Server

Helm Source Repo:

  • Github
  • GitLab
  • Bitbucket
  • Code Commit (Not Certified)
  • Google Cloud Source Repository (Not Certified)

Static Infrastructure:

  • GKE
  • AKS
  • Other Kubernetes Compliant Clusters
  • EKS
  • OpenShift v4.x
  • Minikube
  • Kubernetes Operations (kops)

Dynamic Infrastructure:

  • GKE using Terraform
  • AWS EKS using CloudFormation

Using Harness Kubernetes:

  • Rolling
  • Canary
  • Blue/Green

Using native Helm Command:

  • Basic along with steady state check

Previous Analysis - Synthetic Load

Serverless.com Framework - Lambda

  • Artifactory (ZIP files)
  • AWS ECR (Docker images)

AWS Lambda

Rolling

Previous Analysis - Synthetic Load

Azure Web App

Container and non-container:

  • Docker Registry
  • Artifactory
  • Azure Container Registry
  • Nexus 3
  • GCR
  • AWS ECR

Static Infrastructure:
Azure App Services

  • Canary
  • Blue/Green
  • Basic

Basic:

  • Previous Analysis - Synthetic Load

Canary:

  • Canary Analysis - Realtime Load

Blue/Green:

  • Previous Analysis - Synthetic Load

Secure Shell (SSH)

Non-container:

  • Artifactory
  • Nexus 3
  • Custom
  • Jenkins
  • AWS S3

Static Infrastructure:

  • AWS
  • Physical Data Center (agnostic support for VMs on any platform)
  • Azure
  • GCP (Supported under Physical Data Center)
  • Canary
  • Rolling
  • Basic

Basic:

  • Previous Analysis - Synthetic Load

Canary:

  • Canary Analysis - Realtime Load

Rolling:

  • Previous Analysis - Synthetic Load
Windows Remote Management (WinRM)

Non-container:

  • Artifactory
  • Nexus 3
  • Custom
  • Jenkins
  • AWS S3

Static Infrastructure:

  • AWS
  • Physical Data Center (agnostic support for VMs on any platform)
  • Azure
  • GCP (Supported under Physical Data Center)
  • Canary
  • Rolling
  • Basic

Previous Analysis - Synthetic Load

AWS ECS

  • Docker Registry
  • Artifactory
  • Nexus 3
  • Custom
  • GCR
  • ECR
  • ACR

Static Infrastructure:

  • AWS ECS
  • Canary
  • Rolling
  • Blue/Green
  • Blank

Deployment Type - EC2:

  • Canary: Canary Analysis - Realtime Load
  • Blue/Green: Previous Analysis - Synthetic Load
  • Rolling: Previous Analysis - Synthetic Load

Deployment Type - Fargate:

Same strategy support as EC2.

For Fargate: The complete-docker-id
must be present in the monitoring provider.

AWS ASG

AWS AMI Repository (private AMIs only)

Static Infrastructure:

  • AWS ASG
  • SpotInst-based ASG
  • AWS Launch Template/Configuration
  • Canary
  • Rolling
  • Blue/Green
  • Canary: Canary Analysis - Realtime Load
  • Blue/Green: Previous Analysis - Synthetic Load
  • Rolling: Previous Analysis - Synthetic Load

AWS Lambda

Container and non-container:

  • AWS S3
  • AWS ECR

Static Infrastructure:
AWS Lambda

Basic

Basic:

  • Previous Analysis - Synthetic Load
VMware Tanzu Application Service

Cloud Foundry CLI: Version 6 and 7.

Artifact Repo:

  • Artifactory
  • Nexus
  • Amazon S3
  • Google Container Registry (GCR)
  • Amazon Elastic Container Registry (ECR)
  • Azure Container Registry (ACR)
  • Google Artifact Registry
  • GitHub Package Registry
  • Custom registry
  • any Docker Registry such as Docker Hub

Manifest Repo:

  • Github
  • GitLab
  • Bitbucket
  • Code Commit (Not Certified)
  • Google Cloud Source Repository (Not Certified)

PAS/PCF

  • Canary
  • Blue/Green
  • Rolling
  • Basic

Rolling:

  • Previous Analysis - Synthetic Load

Canary:

  • Canary Analysis - Realtime Load

Blue/Green:

  • Previous Analysis - Synthetic Load
Google Function

Function definition:

  • Github
  • GitLab
  • Bitbucket

Artifacts:

  • ZIP file in Google Cloud Storage
Google Cloud Functions
  • Basic
  • Canary
  • Blue Green

Basic:

  • Previous Analysis - Synthetic Load

Canary:

  • Canary Analysis - Realtime Load

Blue Green:

  • Previous Analysis - Synthetic Load

Deployment notes

The following notes clarify support of some platform features.

Kubernetes

See What Can I Deploy in Kubernetes?.

Kubernetes version support

The following versions are tested and supported for Kubernetes Canary, Rolling, and Blue/Green deployments:

  • 1.13.0
  • 1.14.0
  • 1.15.0
  • 1.16.0
  • 1.17.0
  • 1.18.0
  • 1.19.4
  • 1.20.0
  • 1.21.0
  • 1.22.0
  • 1.23.0
  • 1.24.3

For details on other tools and versions included in Harness, see Delegate-required SDKs.

Guidelines:

  • Harness will officially support 3 previous versions from the last stable release. For example, the current most recent stable release is 1.24.3, and so Harness supports 1.23, 1.22, and 1.21.
  • Harness supports any other versions of Kubernetes you are using on a best effort basis.
  • Harness commits to support new minor versions within 3 months of the first stable release. For example, if the stable release of 1.24.3 occurs on August 15th, we will support it for compatibility by November 15th.

Helm

Helm chart dependencies are not supported in Git source repositories. Helm chart dependencies are supported in Helm Chart Repositories.

Artifact servers, repos, and artifacts

Harness uses Metadata only when downloading artifact sources.

For pulling Docker images from Docker repos, Harness is restricted by the limits of the Docker repo. For example, Docker Hub limits.

The maximum number of artifact image tags fetched by Harness that is 10000.

The following table lists Harness integrations and their artifact source support:

Docker HubECRGCRGCSACRArtifactoryNexus 3CustomGoogle Artifact RegistryGithub Artifact RegistryJenkinsAWS S3
Kubernetes
Helm
AWS ECS
AWS ASG
AWS Lambda
Azure Web Apps
Tanzu
SSH
WinRM
Serverless.com Framework
Google Cloud Function

Manifest and Config file Store Support

The following table lists where you can store your manifests or config files for each integration.

GithubGitlabBitbucketHarness File StoreAny GitOCI HelmHTTP HelmAWS S3CustomGoogle Cloud StorageInherit from manifest
Kubernetes
Values YAML
Kustomize
Kustomize Patches
OpenShift Template
OpenShift Params
AWS ECS
Helm Chart
Serverless.com Framework
SSH
WinRM
Azure Web Apps
Google Cloud Function

Terraform version support

Harness does not include Terraform on the Harness Delegate. You must install Terraform on the Delegate when using Terraform in Harness. For more information, go to Terraform How-tos.

Harness supports the following Terraform versions:

  • v1.3.5
  • v1.1.9
  • v1.0.0
  • v0.15.5
  • v0.15.0
  • v0.14.0

Here's an example install script for the Harness delegate:

# Install TF
microdnf install unzip
curl -O -L https://releases.hashicorp.com/terraform/1.3.5/terraform_1.3.5_darwin_amd64.zip
unzip terraform_1.3.5_darwin_amd64.zip
mv ./terraform /usr/bin/
# Check TF install
terraform --version

Some Harness features might require specific Terraform versions.

Azure AKS clusters

To use an AKS cluster for deployment, the AKS cluster parameter disableLocalAccounts can be set either true or false.

AWS and Azure GovCloud

Harness is now certified in Azure GovCloud and AWS GovCloud.

GitOps

Harness GitOps lets you perform GitOps deployments in Harness. You define the desired state of the service you want to deploy in your Git manifest, and then use Harness GitOps to sync state with your live Kubernetes cluster.

GitOps supports the following:

  • Source Repositories:
    • All Git providers.
    • HTTP Helm repos.
  • Target clusters:
    • Kubernetes clusters hosted on any platform:
      • GKE.
      • AKS.
      • EKS.
      • Other Kubernetes-compliant clusters.
      • OpenShift version 3.11, 4.x.
      • Minikube.
      • Kubernetes Operations (kops).
  • Repository Certificates:
    • TLS Certificate (PEM format).
    • SSH Known Host Entry.
  • GnuPG Keys:
    • GnuPG Public Key Data (ASCII-armored).

See Harness GitOps Basics and Harness CD GitOps Quickstart

Continuous Integration (CI)

The following table lists Harness support for CI platforms, repos, registries, and related technologies.

Source Code Management (SCM)Artifact repositoriesContainer registriesBuild farm platformsTesting frameworks
  • GitLab
  • Bitbucket
  • GitHub
  • AWS CodeCommit
  • Other
  • Artifactory
  • AWS S3
  • GCP GCS
  • JFrog
  • Azure Container Registry (ACR)
  • Amazon Elastic Container Registry (ECR)
  • Google Container Registry (GCR)
  • Docker registries (e.g. Docker Hub)
  • Other
  • Kubernetes cluster (platform agnostic)
  • Amazon Elastic Kubernetes Service (Amazon EKS)
  • Google Kubernetes Engine (GKE)
  • AWS Linux and Windows VMs
  • Red Hat OpenShift 4
  • Bazel
  • Maven
  • Gradle
  • NET CLI
  • Nunit

Continuous Verification

Harness supports the following metrics and logging platforms.

Metrics providers

The following table lists Harness support for metrics platforms (APMs).

Metrics Provider NameMetric PackDeployment Verification
AppDynamicsBusiness TransactionsYes
AppDynamicsJVM and Infra MetricsSupported via Custom Metrics
New RelicBusiness TransactionsYes
New RelicInsightsSupported via Custom Metrics
Google Cloud Operations (GCP)Infrastructure MetricsYes
Google Cloud Operations (GCP)Custom metrics from explorerNo
PrometheusCustom metrics from PrometheusYes
DatadogDocker Infra MetricsYes
DynatracePerformanceYes

Log providers

Most logging platforms are also supported.

Log Provider NameDeployment Verification
SplunkYes
Google Cloud Operations (GCP)Yes

Custom health sources

Harness offers support for all major APM vendors and log providers, but there are cases where a customized APM or log provider is needed. The Custom Health Source lets you customize APMs and log providers of your choice.

See Verify Deployments with Custom Health Source.

Cloud Cost Management

Supported Kubernetes Management Platform

The following section lists the support for the Kubernetes management platform for CCM:

TechnologySupported PlatformPricing
OpenShift 3.11GCPGCP
OpenShift 4.3AWSOn-PremAWSCustom-rate*
RancherAWSCustom-rate**
Kops (Kubernetes Operations)AWSAWS
Tanzu Kubernetes Grid Integrated Edition (TKGI)On-PremCustom-rate***

* Cost data is supported for On-Prem OpenShift 4.3. This uses a custom rate.

** Cost data is supported for K8s workloads on AWS managed by Rancher, but the cost falls back to the custom rate.

*** Cost is computed using a custom rate. This can be modified by Harness on request.

Supported ingress controllers for Kubernetes AutoStopping

The following table lists the ingress controllers supported for Kubernetes AutoStopping:

Ingress ControllerExtent of Support
Nginx ingress controllerFully supported
HAProxy ingress controllerFully supported
Traefik as ingress gatewaySupported using ingress routes and manually configured middlewares
Istio as API gatewayFully supported
Ambassador as API gatewaySupported by manually editing the mapping

Feature Support Matrix

This section lists the feature support matrix for the supported cloud platforms:

AWS Service

Inventory DashboardRecommendationsAutoStopping
EC2YesYesYes (With Spot Orchestration)
ECSYesYesYes
EKSYesYesYes
RDSYesNoYes
EBSYesNoNo
SnapshotsYesNoNA
Elastic IPsYesNoNA
ASGsNoNoYes (With Spot Orchestration)

GCP Product

Inventory DashboardRecommendationsAutoStopping
GCE VMsYesComing soonYes
GKEYesYesYes

Azure Product

Inventory DashboardRecommendationsAutoStopping
Virtual MachineYesComing soonYes (With Spot Orchestration)
AKSYesYesYes

Service Reliability Management

Harness supports the following Health Sources and Change Sources.

Health sources

A Health Source monitors changes in health trends of the Service using metrics and logs collected from an APM and log provider respectively.

Harness offers support for all major APM vendors, but there are cases where a customized APM is needed. The Custom Health Source lets you customize APMs of your choice.

Metrics providers and logging tools

Currently, Harness supports the following APMs and logging tools:

  • AppDynamics
  • Prometheus
  • Dynatrace
  • Splunk
  • Custom Health Source
  • Google Cloud Operations (formerly Stackdriver)
  • New Relic
  • Datadog

More tools will be added soon.

Change sources

A Change Source monitors change events related to deployments, infrastructure changes, and incidents. The following Change Sources are supported:

  • Harness CD NextGen
  • Harness CD
  • PagerDuty

Security Testing Orchestration

See Security Step Settings Reference.

Feature Flags

Harness Feature Flags support client-side and server-side SDKs for a number of programming languages.

Client-side SDKs

The following table lists the Client-side Feature Flag SDKs Harness supports.

SDKDocumentation
AndroidAndroid SDK Reference
iOSiOS SDK Reference
FlutterFlutter SDK Reference
JavascriptJavascript SDK Reference
React NativeReact Native SDK Reference
XamarinXamarin SDK Reference

Server-side SDKs

The following table lists the Server-side Feature Flag SDKs Harness supports.

SDKDocumentation
.NET.NET SDK Reference
GoGo SDK Reference
JavaJava SDK Reference
Node.jsNode.js SDK Reference
PythonPython SDK Reference
RubyRuby SDK Reference
PHPPHP SDK Reference

Harness Chaos Engineering

Perform chaos experiments on applications in your infrastructure, such as a Kubernetes cluster. Use predefined or custom workflow templates.

See Introduction to Chaos Module.

Collaboration

The following table lists Harness support for collaboration tools.

Most providers are used in both Pipeline Notification Strategies and User Group notifications:

Provider NameNotificationApproval/Change Management
Microsoft TeamsYesN/A
EmailYesN/A
SlackYesN/A
JiraYesYes
ServiceNowN/AYes
PagerDutyYesN/A

Access control

The following table lists Harness support for SSO protocols and tools.

See Add and Manage Access Control.

SSO TypeSSO ProvidersAuthentication SupportedAuthorization (Group Linking) SupportedSCIM Provisioning
SAML 2.0OktaYesYesYes
Azure Active DirectoryYesYesYes
OthersYesYesNo
OneLoginYesYesYes
OAuth 2.0GithubYesNoN/A
GitLabYesNoN/A
BitbucketYesNoN/A
GoogleYesNoN/A
AzureYesNoN/A
LinkedInYesNoN/A
LDAP (Delegate connectivity needed)Active DirectoryComing soonComing soonN/A
Open LDAPComing soonComing soonN/A
Oracle LDAPComing soonComing soonN/A

Secret management

The following table lists Harness support for cloud platform secrets management services.

See Harness Secrets Management Overview.

Provider NameKey Encryption SupportEncrypted Data Storaged with HarnessSupport for Referencing Existing Secrets
AWS KMSYesYesNo
AWS Secret ManagerYesNoYes
Hashicorp VaultYesNoYes
Azure Key VaultYesNoYes
Google KMSYesYesNo

Harness Self-Managed Enterprise Edition

The following table lists the major support features for Harness Self-Managed Enterprise Edition offerings.

SolutionSupported PlatformConnected*HA Supported**MonitoringDisaster RecoveryAuto RestartFeatures Under Controlled Release
Kubernetes ClusterKubernetes - GKE - AKS - EKSYesYesPrometheus, GrafanaSupportedSupported

Supported Kubernetes versions for Harness Self-Managed Enterprise Edition

  • Self-Managed Enterprise Edition supports Kubernetes v.1.23. Self-Managed Enterprise Edition additionally supports Kubernetes versions 1.22, 1.21, and 1.20.
  • Effective October 7, 2022, with the release of version 76918, Self-Managed Enterprise Edition no longer supports Kubernetes open-source versions 1.18 and earlier.
  • Self-Managed Enterprise Edition supports the other versions of Kubernetes you use on a best-effort basis.
  • Harness commits to support new minor versions of Kubernetes within three months of the first stable release. For example, if the stable release of 1.24.0 occurs on August 31, Harness extends compatibility by November 30.

Terms of support for Harness Self-Managed Enterprise Edition

Harness Self-Managed Enterprise Edition does not introduce changes that break compatibility with supported versions of Kubernetes. For example, Self-Managed Enterprise Edition does not use features from Kubernetes version n that do not work in Kubernetes version n-2.

Installation and upgrade preflight checks provide warnings when you use Kubernetes versions that are not supported.

In cases where you encounter a problem that is related to an incompatibility issue, you must upgrade your cluster. Harness will not issue a patch to accommodate the use of unsupported Kubernetes versions.

SDKs installed with the Delegate

Harness Delegate includes binaries for the SDKs that are required for deployments with Harness-supported integrations. These include binaries for Helm, ChartMuseum, kubectl, Kustomize, and so on.

Kubernetes Deployments

For Kubernetes deployments, the following SDKs/tools are included in the Delegate.

  • kubectl: v1.13, v1.19
  • Helm: v2.13.1, v3.1.2, v3.8.0
  • Kustomize: v3.5.4, v4.0.0
  • OpenShift: v4.2.16

The versions can be found in this public GitHub repo: https://github.com/harness/harness-core/tree/develop/960-api-services/src/main/java/io/harness/delegate/clienttools

For details on updating the default tool versions, see Build custom delegate images with third-party tools.

For Kubernetes deployments, the following SDKs/tools are certified.

Manifest TypeRequired Tool/SDKCertified Version
Kuberneteskubectlv1.24.3
go-templatev0.4
Helmkubectlv1.24.3
helmv3.9.2
Helm (chart is stored in GCS or S3)kubectlv1.24.3
helmv3.9.2
chartmuseumv0.8.2 and v0.12.0
Kustomizekubectlv1.24.3
kustomizev4.5.4
OpenShiftkubectlv1.24.3
ocv4

Native Helm deployments

For Native Helm deployments, the following SDKs/tools are certified.

Manifest TypeRequired Tool/SDKCertified Version
Helm Charthelmv3.9.2
kubectlRequired if Kubernetes version is 1.16+.v1.24.3

Install a Delegate with custom SDK and 3rd-party tool binaries

To support customization, Harness provides a Harness Delegate image that does not include any third-party SDK binaries. We call this image the No Tools Image.

Using the No Tools Image and Delegate YAML, you can install the specific SDK versions you want. You install software on the Delegate using the INIT_SCRIPT environment variable in the Delegate YAML.

For steps on using the No Tools Delegate image and installing specific SDK versions, see Install a Delegate with 3rd Party Tool Custom Binaries.

The Update Framework (TUF)

The Update Framework (TUF) is an open source specification for that provides instructions on how to organize, sign, and interact with metadata to secure package managers.

Harness includes native TUF support via the following:

  • Deployment templates: Deployment Templates use shell scripts to connect to target platforms, obtain target host information, and execute deployment steps.
    • Deployment Templates can obtain the required metadata for native TUF support, and generate and validate signatures in the software lifecycle.
  • OCI image registry support:
  • Enforce the rotation of secrets and key management practices:
  • Continuous Verification: TUF recommends the verification of deployments akin to Harness Continuous Verification.

Harness Open Source Software (OSS) components

The following document lists the open source libraries and third-party software Harness uses.

Supported browsers

The following desktop browsers are supported:

  • Chrome: latest version
  • Firefox: latest version
  • Safari: latest version
  • All Chromium-based browsers.

Mobile browsers are not supported.

Supported screen resolution

Minimum supported screen resolution is 1440x900.