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 |
---|---|---|---|---|
Manifest Resources:
| Static Infrastructure:
Dynamic Infrastructure:
|
See Note on Kubernetes for more details. | Rolling:
Canary:
Blue/Green:
| |
Docker Image Repo:
Helm Chart Package Repo:
Helm Source Repo:
| Static Infrastructure:
Dynamic Infrastructure:
| Using Harness Kubernetes:
Using native Helm Command:
| Previous Analysis - Synthetic Load | |
| AWS Lambda | Rolling | Previous Analysis - Synthetic Load | |
Container and non-container:
| Static Infrastructure: |
| Basic:
Canary:
Blue/Green:
| |
Non-container:
| Static Infrastructure:
|
| Basic:
Canary:
Rolling:
| |
Windows Remote Management (WinRM) | Non-container:
| Static Infrastructure:
|
| Previous Analysis - Synthetic Load |
| Static Infrastructure:
|
| Deployment Type - EC2:
Deployment Type - Fargate: Same strategy support as EC2. For Fargate: The | |
AWS AMI Repository (private AMIs only) | Static Infrastructure:
|
|
| |
Container and non-container:
| Static Infrastructure: | Basic | Basic:
| |
VMware Tanzu Application Service | Cloud Foundry CLI: Version 6 and 7. Artifact Repo:
Manifest Repo:
| PAS/PCF |
| Rolling:
Canary:
Blue/Green:
|
Google Function | Function definition:
Artifacts:
| Google Cloud Functions |
| Basic:
Canary:
Blue Green:
|
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 Hub | ECR | GCR | GCS | ACR | Artifactory | Nexus 3 | Custom | Google Artifact Registry | Github Artifact Registry | Jenkins | AWS 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.
Github | Gitlab | Bitbucket | Harness File Store | Any Git | OCI Helm | HTTP Helm | AWS S3 | Custom | Google Cloud Storage | Inherit 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).
- Kubernetes clusters hosted on any platform:
- 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 repositories | Container registries | Build farm platforms | Testing frameworks |
---|---|---|---|---|
|
|
|
|
|
Continuous Verification
Harness supports the following metrics and logging platforms.
Metrics providers
The following table lists Harness support for metrics platforms (APMs).
Metrics Provider Name | Metric Pack | Deployment Verification |
---|---|---|
AppDynamics | Business Transactions | Yes |
AppDynamics | JVM and Infra Metrics | Supported via Custom Metrics |
New Relic | Business Transactions | Yes |
New Relic | Insights | Supported via Custom Metrics |
Google Cloud Operations (GCP) | Infrastructure Metrics | Yes |
Google Cloud Operations (GCP) | Custom metrics from explorer | No |
Prometheus | Custom metrics from Prometheus | Yes |
Datadog | Docker Infra Metrics | Yes |
Dynatrace | Performance | Yes |
Log providers
Most logging platforms are also supported.
Log Provider Name | Deployment Verification |
Splunk | Yes |
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:
Technology | Supported Platform | Pricing |
OpenShift 3.11 | GCP | GCP |
OpenShift 4.3 | AWSOn-Prem | AWSCustom-rate* |
Rancher | AWS | Custom-rate** |
Kops (Kubernetes Operations) | AWS | AWS |
Tanzu Kubernetes Grid Integrated Edition (TKGI) | On-Prem | Custom-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 Controller | Extent of Support |
Nginx ingress controller | Fully supported |
HAProxy ingress controller | Fully supported |
Traefik as ingress gateway | Supported using ingress routes and manually configured middlewares |
Istio as API gateway | Fully supported |
Ambassador as API gateway | Supported by manually editing the mapping |
Feature Support Matrix
This section lists the feature support matrix for the supported cloud platforms:
AWS Service
Inventory Dashboard | Recommendations | AutoStopping | |
EC2 | Yes | Yes | Yes (With Spot Orchestration) |
ECS | Yes | Yes | Yes |
EKS | Yes | Yes | Yes |
RDS | Yes | No | Yes |
EBS | Yes | No | No |
Snapshots | Yes | No | NA |
Elastic IPs | Yes | No | NA |
ASGs | No | No | Yes (With Spot Orchestration) |
GCP Product
Inventory Dashboard | Recommendations | AutoStopping | |
GCE VMs | Yes | Coming soon | Yes |
GKE | Yes | Yes | Yes |
Azure Product
Inventory Dashboard | Recommendations | AutoStopping | |
Virtual Machine | Yes | Coming soon | Yes (With Spot Orchestration) |
AKS | Yes | Yes | Yes |
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.
SDK | Documentation |
---|---|
Android | Android SDK Reference |
iOS | iOS SDK Reference |
Flutter | Flutter SDK Reference |
Javascript | Javascript SDK Reference |
React Native | React Native SDK Reference |
Xamarin | Xamarin SDK Reference |
Server-side SDKs
The following table lists the Server-side Feature Flag SDKs Harness supports.
SDK | Documentation |
---|---|
.NET | .NET SDK Reference |
Go | Go SDK Reference |
Java | Java SDK Reference |
Node.js | Node.js SDK Reference |
Python | Python SDK Reference |
Ruby | Ruby SDK Reference |
PHP | PHP 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:
- Add a Pipeline Notification Strategy
- Send Notifications Using Slack
- Send Notifications to Microsoft Teams
Provider Name | Notification | Approval/Change Management |
---|---|---|
Microsoft Teams | Yes | N/A |
Yes | N/A | |
Slack | Yes | N/A |
Jira | Yes | Yes |
ServiceNow | N/A | Yes |
PagerDuty | Yes | N/A |
Access control
The following table lists Harness support for SSO protocols and tools.
See Add and Manage Access Control.
SSO Type | SSO Providers | Authentication Supported | Authorization (Group Linking) Supported | SCIM Provisioning |
---|---|---|---|---|
SAML 2.0 | Okta | Yes | Yes | Yes |
Azure Active Directory | Yes | Yes | Yes | |
Others | Yes | Yes | No | |
OneLogin | Yes | Yes | Yes | |
OAuth 2.0 | Github | Yes | No | N/A |
GitLab | Yes | No | N/A | |
Bitbucket | Yes | No | N/A | |
Yes | No | N/A | ||
Azure | Yes | No | N/A | |
Yes | No | N/A | ||
LDAP (Delegate connectivity needed) | Active Directory | Coming soon | Coming soon | N/A |
Open LDAP | Coming soon | Coming soon | N/A | |
Oracle LDAP | Coming soon | Coming soon | N/A |
Secret management
The following table lists Harness support for cloud platform secrets management services.
See Harness Secrets Management Overview.
Provider Name | Key Encryption Support | Encrypted Data Storaged with Harness | Support for Referencing Existing Secrets |
---|---|---|---|
AWS KMS | Yes | Yes | No |
AWS Secret Manager | Yes | No | Yes |
Hashicorp Vault | Yes | No | Yes |
Azure Key Vault | Yes | No | Yes |
Google KMS | Yes | Yes | No |
Harness Self-Managed Enterprise Edition
The following table lists the major support features for Harness Self-Managed Enterprise Edition offerings.
Solution | Supported Platform | Connected* | HA Supported** | Monitoring | Disaster Recovery | Auto Restart | Features Under Controlled Release |
---|---|---|---|---|---|---|---|
Kubernetes Cluster | Kubernetes - GKE - AKS - EKS | Yes | Yes | Prometheus, Grafana | Supported | Supported |
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 Type | Required Tool/SDK | Certified Version |
Kubernetes | kubectl | v1.24.3 |
go-template | v0.4 | |
Helm | kubectl | v1.24.3 |
helm | v3.9.2 | |
Helm (chart is stored in GCS or S3) | kubectl | v1.24.3 |
helm | v3.9.2 | |
chartmuseum | v0.8.2 and v0.12.0 | |
Kustomize | kubectl | v1.24.3 |
kustomize | v4.5.4 | |
OpenShift | kubectl | v1.24.3 |
oc | v4 |
Native Helm deployments
For Native Helm deployments, the following SDKs/tools are certified.
Manifest Type | Required Tool/SDK | Certified Version |
Helm Chart | helm | v3.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:
- TUF recommends the use of an OCI image-spec container registry. Harness supports OCI registry for Helm charts.
- Enforce the rotation of secrets and key management practices:
- Harness provides token key rotation natively.
- 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.