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 deatils.

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 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
(../continuous-delivery/onboard-cd/cd-quickstarts/win-rm-tutorial.md)

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

Non-container:

  • 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.

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 version included in Harness, see SDKs installed with the Delegate.

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 (Harness Code Repo Connectors). 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, Dockerhub limits.

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

Docker HubECRGCRACRArtifactoryNexus 3CustomGoogle Artifact RegistryGithub Artifact RegistryJenkinsAWS S3
Kubernetes
Helm
AWS ECS
Azure Web Apps
SSH
WinRM
Serverless
Manifest and Config file Store Support

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

GithubGitlabBitbucketHarness FilestoreAny GitOCI HelmHTTP HelmAWS S3CustomGoogle Cloud StorageInherit from manifest
Kubernetes
Values YAML
Kustomize
Kustomize**Patches**
Openshift**Template**
Openshift**Params**
AWS ECS
Helm Chart
Serverless.com
SSH
WinRM
Azure Web Apps
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 must have local accounts enabled (AKS property disableLocalAccounts=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 ReposContainer RegistriesBuild Farm PlatformsTesting Frameworks Supported
  • GitLab
  • Bitbucket
  • GitHub
  • Artifactory
  • AWS S3
  • GCP GCS
  • 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

Currently, Harness supports:

  • Bazel
  • Maven
  • Gradle

More frameworks will be supported soon.

More frameworks will be supported soon.

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
Virtual Machine (VM)Linux VM (3 VM minimum)YesYesPrometheus, GrafanaSupportedSupported

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, go to Install Software on the Delegate with Initialization Scripts.

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.

Supported browsers

The following 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.