Skip to main content

Supported Platforms and Technologies (FirstGen)

This content is for Harness FirstGen. Switch to NextGen.This topic lists Harness support for platforms, methodologies, and related technologies.

Deployments

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

Deployment Type/Platform Artifact Servers and Repos Infrastructure Strategies Verification Post-Prod Rollback

Kubernetes

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

Manifest Resources:

  • Local and remote YAML
  • Custom Resource Definitions (CRDs)
  • 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
  • Rolling
  • Canary
  • Blue/Green

Rolling:

  • Previous Analysis - Synthetic Load

Canary:

  • Canary Analysis - Realtime Load

Blue/Green:

  • Previous Analysis - Synthetic Load

Yes

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 an HTTP Server)
  • Nexus (as an 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

Using Harness Kubernetes:

  • Rolling
  • Canary
  • Blue/Green

Using native Helm Command:

  • Basic along with steady state check

Previous Analysis - Synthetic Load

Not Supported

VMware Tanzu Application Service
formerly Pivotal Cloud Foundry (PCF)

Cloud Foundry CLI:Version 6 and 7.

Artifact Repo:

  • Jenkins
  • Bamboo
  • Nexus 2
  • Nexus 3
  • Artifactory

Manifest Repo:

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

PAS/PCF

  • Canary
  • Blue/Green
  • Rolling (created as a Basic deployment type Workflow)

Rolling:

  • Previous Analysis - Synthetic Load

Canary:

  • Canary Analysis - Realtime Load

Blue/Green:

  • Previous Analysis - Synthetic Load

Yes

AWS ECS

  • Docker Hub
  • ECR

Static Infrastructure:

  • ECS Cluster

Dynamic Infrastructure:

  • CloudFormation
  • Terraform
  • Shell Script

Deployment Types Fargate, EC2:

  • Canary
  • Blue/Green:
    • Using ALB/NLB and Target Group
    • Using Route 53 DNS
  • Multi-Service:
    • >Caveat: It is created as a Basic Workflow

Deployment Type - EC2:

  • Canary: Canary Analysis - Realtime Load
  • Blue/Green: Previous Analysis - Synthetic Load
  • Multi-Service: 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.

Use hostname expression `completeDockerId`.

Not Supported

AWS AMI/ASG

AWS AMI Repository
(private AMIs only)

Static Infrastructure:

  • AWS ASG
  • SpotInst-based ASG
  • AWS Launch Template/Configuration

Dynamic Infrastructure:

  • CloudFormation
  • Terraform
  • Shell Script
  • Canary
  • Blue/Green

Canary:

  • Canary Analysis - Realtime Load

Blue/Green:

  • Previous Analysis - Synthetic Load

Yes

AWS CodeDeploy

  • Jenkins
  • Bamboo
  • AWS S3

AWS CodeDeploy Servers

Basic

Previous Analysis - Synthetic Load

Not Supported

AWS Lambda

  • Jenkins
  • Artifactory
  • AWS S3
  • Nexus
AWS
  • Basic

Previous Analysis - Synthetic Load

Not Supported

Azure VMSS

Azure VM image galleryStatic Infrastructure:
Azure VMSS
  • Basic
  • Canary
  • Blue/Green

Basic:

  • Previous Analysis - Synthetic Load

Canary:

  • Canary Analysis - Realtime Load

Blue/Green:

  • Previous Analysis - Synthetic Load

Not Supported

Azure Web App

  • Docker Registry
  • Artifactory
  • Azure Container Registry

Static Infrastructure:
Azure App Services

Dynamic Infrastructure:
Terraform, ARM templates

  • Canary
  • Blue/Green
  • Basic

Basic:

  • Previous Analysis - Synthetic Load

Canary:

  • Canary Analysis - Realtime Load

Blue/Green:

  • Previous Analysis - Synthetic Load

Not Supported

SSH

Copy Artifact:

  • Jenkins
  • Bamboo
  • JFrog Artifactory
  • Nexus 2 and Nexus 3
  • Google Cloud Strorage
  • AWS S3
  • Azure Artifacts

Static Infrastructure:

Dynamic:

  • CloudFormation: SSH on AWS only
  • Physical Data Center: Shell Script Provisioner
  • Terraform: SSH on AWS only
  • Basic
  • Canary
  • Rolling

Basic:

  • Previous Analysis - Synthetic Load

Canary:

  • Canary Analysis - Realtime Load

Rolling:

  • Previous Analysis - Synthetic Load

Not Supported

WinRM
IIS (.NET)

Download Artifact:

  • Jenkins
  • Bamboo
  • JFrog Artifactory
  • Nexus 2 and Nexus 3
  • Google Cloud Strorage
  • AWS S3
  • Azure Artifacts
  • SMB
  • SFTP

Static Infrastructure:

  • AWS
  • Physical Data Center
  • Azure Cloud
  • Basic
  • Canary
  • Rolling

Previous Analysis - Synthetic Load

Yes

Deployment Notes

The following notes clarify support of some platform features.

Kubernetes: What Can I Deploy?

In Harness, a managed workload is a Deployment, StatefulSet, or DaemonSet object deployed and managed to steady state.

Harness Canary and Blue/Green Workflow default steps support a single Deployment or StatefulSet workload as a managed entity.

Rolling Workflow default steps support Deployment, StatefulSet, or DaemonSet as managed workloads, but not Jobs.

You can deploy any Kubernetes workload in any Workflow type by using a Harness  annotation to make it unmanaged (harness.io/direct-apply).

The  Apply Step can deploy any workloads or objects in any Workflow type as a managed workload.

OpenShift: Harness supports OpenShift DeploymentConfig in OpenShift clusters as a managed workload across Canary, Blue Green, and Rolling deployment strategies. Please use apiVersion: apps.openshift.io/v1 and not apiVersion: v1.

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

Currently, Kubernetes command-line tool kubectl binary version 1.19.2 is supported behind the Feature Flag NEW_KUBECTL_VERSION. Contact Harness Support to enable the feature.##### Helm

Harness certifies its Helm support using Helm 3.1.2.

Helm chart dependencies are not supported in Git source repositories (Harness Source Repo Providers). Helm chart dependencies are supported in Helm Chart Repositories.

Artifact Servers, Repos, and Artifacts

Harness uses Metadata only when downloading artifact sources. See Service Types and Artifact Sources.

For pulling Docker images from Docker repos, Harness has a limit of 10000 for private Docker repos, and 250 for public (no username or password required) Docker repos.

Virtual Servers

Harness supports VMs on any platform using the platform-agnostic Physical Data Center deployment type. But Harness has full-fledged API integration only with AWS and Azure, at this time. This integration auto-populates VM names and provides many filtering options usings VPCs, subnets, etc. For VMs on GCP, use the Physical Data Center deployment type in your Harness Infrastructure Definition.

AWS SDK Version Support

Harness supports AWS SDK 1.12.47.

Azure Deployments and Proxy Authentication

Harness uses the Azure SDK among other methods and Authenticated proxy is not supported for Azure SDK. Consequently, you cannot use Azure connections for artifacts, machine images, etc, that require proxy authentication. This is an Azure limitation, not a Harness limitation. This is a known Azure limitation with Java environment properties and their SDK.

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.1.9
  • v1.0.0
  • v0.15.5
  • v0.15.0
  • v0.14.0

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 Verification24/7 Service Guard
AppDynamicsBusiness TransactionsYesYes
AppDynamicsJVM and Infra MetricsSupported via Custom MetricsSupported via Custom Metrics
New RelicBusiness TransactionsYesYes
New RelicInsightsSupported via Custom MetricsSupported via Custom Metrics
CloudWatchInfrastructure Metrics (ELB, ECS)YesYes
CloudWatchLambda MetricsYesYes
DynatraceBusiness Transactions (service level)YesYes
DatadogDocker Infra MetricsYesYes
DatadogECS Infra MetricsYesYes
DatadogAPM TracesN/A - API not supported by DatadogYes
DatadogCustom MetricsYesYes
StackdriverInfrastructure MetricsYesYes
StackdriverCustom metrics from explorerNoYes
PrometheusYesYes
InstanaDocker Infra MetricsBusiness TransactionsYesYes
APM Custom MetricsYesYes

Logging Platforms

Most logging platforms are also supported. See Verification.

Log Provider NameDeployment Verification24/7 Service Guard
Datadog - LogsYesYes
ELK (Elastic)YesYes
SplunkYesYes
Stackdriver - LogsYesYes
Sumo LogicYesYes

Collaboration

The following table lists Harness support for collaboration tools.

Provider NameNotificationApproval/Change Management
Microsoft TeamsYesN/A
Email (SMTP)YesN/A
SlackYesN/A
Jira - Supported Custom Field Types: Option, Array, Any, Number, Date, and String - Non-supported Field Types: User, AttachmentYesYes
ServiceNowYesYes
PagerDutyYes

Access Control

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

SSO TypeSSO ProvidersAuthentication SupportedAuthorization (Group Linking) SupportedSCIM Provisioning
SAMLOktaYesYesYes
Azure Active DirectoryYesYesYes
GoogleYesNoNo
OthersYesYesNo
OneLoginYesYesYes
ADFS SAMLYesNoNo
PingFederateYesNoNo
OAuth 2.0GithubYesNoN/A
GitLabYesNoN/A
BitbucketYesNoN/A
GoogleYesNoN/A
AzureYesNoN/A
LinkedInYesNoN/A
LDAP (Delegate connectivity needed)Active DirectoryYesYesN/A
Open LDAPYesYesN/A
Oracle LDAPYesYesN/A

Secret Management

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

Provider NameKey Encryption SupportEncrypted Data Storaged with HarnessSupport for Referencing Existing Secrets
AWS KMSYesYesNo
AWS Secret ManagerYesNoYes
Hashicorp VaultYesNoYes
Azure Key VaultYesNoYes
CyberArkNoNoYes
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 and 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 included and 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.

Browsers

The following browsers are supported:

  • Chrome: Latest version
  • Firefox: Latest version
  • Safari: Latest version

Mobile browsers are not supported.

Supported Screen Resolution

Minimum supported screen resolution is 1440x900.