Supported platforms and technologies
This topic lists Harness support for platforms, methodologies, and related technologies for NextGen modules.
Continuous Delivery (CD) and GitOps
This section lists the supported CD features and integrations you can use in Harness for deploying and verifying your apps.
- Deployment types
- Provision
- Controls/Utilities
- Files
- Artifacts
- Ticketing/Approvals
- Governance
Kubernetes
Overview:
- Kubernetes
- Helm charts (v2 and v3)
- Kustomize
- Local (Harness Community Edition)
Supported connectors for deployment:
- Kubernetes connector
- Username and password
- Client key and secret
- OIDC authentication
- Kubernetes service account
- Assume role binding on delegate configuration
- Google Cloud connector (GKE authentication)
- Service Account
- Google Cloud Role on Delegate
- Workload Identity
- Azure Cloud Connector (AKS Authentication)
- Subscription Id
- Principal and Service Account
- GovCloud Support
- AWS Cloud Connector (EKS Authentication)
- IRSA
- Access Key and Secret Key
- IAM Role
- GovCloud Support
- Kubernetes connector
Supported platforms for deployment:
- Self Hosted Kubernetes
- Google Kubernetes Engine
- Azure Kubernetes Engine
- AWS Elastic Kubernetes Service
- Red Hat OpenShift
Versions and tooling support:
- Kubectl Client Versions:
- 1.16
- 1.27
- We support what each of the Cloud Providers support. We recommend users to keep their binary versions up to date.
- By default Harness ships with kubectl client - 1.25
- Tooling:
- OpenShift - oc client binary
- Kustomize - kustomize binary
- Helm - Helm 3.12 and 2.8 binary.
- Helm 3.8 can be supported via feature flag.
- Kubectl Client Versions:
Limitations:
- Helm:
- Helm Hooks are not supported for this swimlane. Harness manages and orchestrates the manifests and their release.
- Kustomize:
- Kustomize Patches are only supported in YAML, not JSON
- Kustomize Containerized Plugins are not supported
- Kustomize manifests and patches do not support the custom remote manifest feature.
- Harness managed resources:
- Deployment
- Secrets
- ConfigMap
- StatefulSet
- HorizontalPodAutoScalar
- PodDisruptionBudget
- Helm:
Supported integrations:
- Traffic Shifting for Advanced Deployment Strategies:
- Istio
- Nginx Ingress Controller
- All manifest type sources for fetching Kubernetes resources:
- Github
- Gitlab
- Bitbucket
- Custom Remote Source Repository
- Harness Local File Store
- For Helm Chart Type Manifests we also support:
- Generic Git Provider
- Google Cloud Storage
- Amazon S3 Storage
- Helm OCI Repository (ACR, ECR, GAR, Artifactory)
- Helm HTTP Server Repository (Nexus, Artifactory)
- Artifact repository supported to deploy with manifest:
- DockerHub
- Amazon Elastic Container Registry
- Google Container Registry
- Azure Container Registry
- Custom Artifact Source
- Google Artifact Registry
- Github Package Registry
- Nexus 3
- Artifactory
- Traffic Shifting for Advanced Deployment Strategies:
For details on what you can deploy, go to 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
- 1.24.9
- 1.25.6
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.25.6, and so Harness supports 1.24, 1.23, and 1.22.
- 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.25.6 occurs on April 15th, we will support it for compatibility by July 15th.
Helm notes
Helm chart dependencies are not supported in Git source repositories. Helm chart dependencies are supported in Helm Chart Repositories.
Azure AKS clusters
To use an AKS cluster for deployment, the AKS cluster parameter disableLocalAccounts
can be set either true
or false
.
Native Helm
- Overview:
- Supported connectors for deployment:
- Kubernetes Connector
- Username + Password
- Client Key and Secret
- OIDC Authentication
- Kubernetes Service Account
- Assume Rolebinding on Delegate Configuration
- Google Cloud Connector (GKE Authentication)
- Service Account
- Google Cloud Role on Delegate
- Workload Identity
- Azure Cloud Connector (AKS Authentication)
- Subscription ID
- Principal and Service Account
- GovCloud Support
- AWS Cloud Connector (EKS Authentication)
- IRSA
- Access Key and Secret Key
- IAM Role
- GovCloud Support
- Kubernetes Connector
- Supported platforms for deployment:
- Self Hosted Kubernetes
- Google Kubernetes Engine
- Azure Kubernetes Engine
- AWS Elastic Kubernetes Service
- Red Hat OpenShift
- Versions and tooling support:
- Helm Client Versions: 2.8 - 3.8
- We support what each of the Cloud Providers support, we recommend users to keep their binary versions up to date
- By default Harness ships with helm client 2.8 and 3.12.
- Tooling:
- OpenShift - oc client binary
- Kustomize - kustomize binary
- Helm - Helm 3.12 & 2.8 binary. Helm 3.8 can be supported via feature flag.
- Limitations:
- Helm 2 is deprecated so there is limited support for Helm 2.
- Helm 3 is now the default for Harness Helm Chart Deployments.
- Helm Plugins are not supported
- Only Basic Deployment Strategy supported (No Canary or Blue-Green Support Out of the box)
- Supported integrations:
- Manifest Sources for fetching Helm Chart:
- Github
- Gitlab
- Bitbucket
- Generic Git Provider
- Custom Remote Source Repository
- Google Cloud Storage
- Amazon S3 Storage
- Helm OCI Repository (ACR, ECR, GAR, Artifactory)
- Helm HTTP Server Repository (Nexus, Artifactory)
- Harness Local File Store
- Artifact Repository for Container Images to deploy with Chart:
- DockerHub
- Amazon Elastic Container Registry
- Google Container Registry
- Azure Container Registry
- Custom Artifact Source
- Google Artifact Registry
- Github Package Registry
- Nexus 3
- Artifactory
- Manifest Sources for fetching Helm Chart:
Notes
Helm chart dependencies are not supported in Git source repositories. Helm chart dependencies are supported in Helm Chart Repositories.
Amazon ECS
- Overview:
- Supported connectors for deployment:
- AWS Cloud Connector
- IRSA
- Access Key and Secret Key
- IAM Role
- GovCloud Support
- Supported platforms for deployment:
- AWS Cloud, any region
- AWS - Launch Types:
- Amazon ECS - EC2 - Generally Provisioned Instances
- Amazon ECS - EC2 - Spot Backed Instances
- Amazon ECS - Fargate
- Versions and tooling support:
- AWS SDK
- Supported integrations:
- ECS Service Discovery - Supported via Service Definition
- ECS Circuit Breaker - Supported via Service Definition
- Artifact Repository:
- DockerHub
- Amazon Elastic Container Registry
- Azure Container Registry
- Custom Artifact Source
- Github Package Registry
- Nexus 3
- Artifactory
Amazon AMI/ASG
- Overview:
- Supported connectors for deployment:
- AWS cloud connector
- IRSA
- Access Key and Secret Key
- IAM Role
- GovCloud Support
- AWS cloud connector
- Supported platforms for deployment:
- AWS cloud, any region
- Versions and tooling support:
- AWS SDK
AWS Lambda
- Overview:
- Supported connectors for deployment:
- AWS Cloud Connector
- IRSA
- Access Key and Secret Key
- IAM Role
- GovCloud supported
- AWS Cloud Connector
- Supported platforms for deployment:
- AWS cloud, any region
- Versions and tooling support:
- AWS SDK
- Supported integrations:
- Artifact Repository Supported to Deploy with Function Definition:
- Amazon Elastic Container Registry
- Amazon S3
- Artifact Repository Supported to Deploy with Function Definition:
AWS SAM
- Overview:
- Supported connectors for deployment:
- AWS cloud connector
- Access key and secret key
- AWS cloud connector
- Supported platforms for deployment:
- AWS cloud, any region
- Versions and tooling support:
- AWS SDK
- Harness supports standard SAM templates.
- Supported integrations:
- All Git providers are supported for SAM templates.
- Currently, you cannot add artifacts to your Harness SAM service.
Traditional: WinRM
- Overview:
- Supported connectors for deployment:
- AWS Cloud Connector
- IRSA
- Access Key and Secret Key
- IAM Role
- GovCloud Support
- Azure Cloud Connector (AKS Authentication)
- Subscription Id
- Principal and Service Account
- GovCloud Support
- AWS Cloud Connector
- Supported platforms for deployment:
- AWS Cloud
- Azure Cloud
- Physical Datacenter
Traditional: SSH
- Overview:
- Supported connectors for deployment:
- AWS Cloud Connector
- IRSA
- Access Key and Secret Key
- IAM Role
- GovCloud Support
- Azure Cloud Connector (AKS Authentication)
- Subscription Id
- Principal and Service Account
- GovCloud Support
- AWS Cloud Connector
- Supported platforms for deployment:
- AWS Cloud
- Azure Cloud
- Physical Datacenter
- Linux SSH Setups
- Ubuntu Version 22+
- RHEL9 (Red Hat Enterprise Linux 9)
- SSH libraries supported:
- SSHJ: used in our HashiCorp Vault SSH integrations.
- JSCH: used in our SSH deployment types.
- To see the hostkey formats for these libraries, go to the SSH implementation comparison.
- Limitations:
- Google Compute Engine (Virtual Machine Targets)
- Limited Support, Harness can connect to Google VMs via an SSH Key, not via Google Cloud Authentication
- Google Compute Engine (Virtual Machine Targets)
Tanzu Application Service (formerly Pivotal Cloud Foundry)
- Overview:
- Supported connectors for deployment:
- Tanzu Connector
- Endpoint URL, Username and Password
- Tanzu Connector
- Supported platforms for deployment:
- On Premise Cloud Foundry Installations
- VMware Tanzu Platform
- Versions and tooling support:
- Binary Versions:
- CF CLI v7
- Binary Versions:
Google Functions
- Overview:
- Supported connectors for deployment:
- Google Cloud Connector
- Service Account
- Supported platforms for deployment:
- Google Cloud, any region
- Versions and tooling support:
- Google SDK. Supported versions:
- Google Functions Gen 1
- Google Functions Gen 2
- Google SDK. Supported versions:
- Deployment strategies:
- Google Functions Gen 1: Basic.
- Google Functions Gen 2: Basic, blue green, canary.
- Supported integrations:
- Artifact Repository:
- Google Cloud Storage
- Google Cloud Storage and Google Cloud Source (Gen 1 Only)
- Artifact Repository:
Spot Instances
- Overview:
- Supported connectors for deployment:
- Spot Connector
- AccountID + API Token
- Spot Connector
- Supported platforms for deployment:
- AWS cloud, any region
- Limitations:
- Deployment Behavior:
- Incremental Traffic Shifting for SpotInst Deployment is not supported
- VM-based Deployments are supported via Elastigroup configuration
- Deployment Behavior:
Serverless.com Framework
- Overview:
- Serverless.com Framework (AWS Lambda)
- Supported connectors for deployment:
- AWS Cloud Connector
- IRSA
- Access Key and Secret Key
- IAM Role
- AWS Cloud Connector
- Supported platforms for deployment:
- AWS cloud, any region
- Versions and tooling support:
- Supported Binary Versions:
- serverless.com 1.x
- serverless.com 2.x
- serverless.com 3.x
- Supported Binary Versions:
- Limitations:
- Deployment Behavior:
- Harness only supports AWS Lambda Functions to be deployed via Serverless.com Framework
- Harness builds and deploys Lambda Functions> You cannot split up the tasks to build functions and deploy functions separately as part of Harness support.
- Not supported application types:
- Google Functions
- Azure Functions
- Serverless.com 1.x (limited support). Not all capabilities supported.
- Basic deployment supported. No out-of-the-box canary and blue green deployment supported.
- Deployment Behavior:
- Supported integrations:
- Serverless.com plugins:
- Harness supports all the Serverless.com plugins. Please make sure they are compatible with the version of Serverless.com you are using.
- Artifact Repository:
- DockerHub
- Amazon Elastic Container Registry
- Artifactory
- Amazon S3
- Serverless.com plugins:
Azure WebApps
- Overview:
- Supported connectors for deployment:
- Azure Cloud Connector (AKS Authentication)
- Subscription Id
- Principal and Service Account
- GovCloud Support
- Azure Cloud Connector (AKS Authentication)
- Supported platforms for deployment:
- Azure cloud, any Region
- Versions and tooling support:
- Azure SDK
Builds in CD
Continuous Integration (CI) can be performed in Harness using the module and CI pipelines.
If you are using Harness Continuous Delivery (CD) but not Harness Continuous Integration (CI), you can still perform CI using the Jenkins step in your CD stage.
Harness integrates with Jenkins, enabling you to run Jenkins jobs and dynamically capture inputs and outputs from the jobs.
- Overview:
GitOps
- Overview:
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:
- Argo CD version supported: 2.7.8.
- 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).
- Limitations:
- Self-hosted environments
- Agents installed in custom namespaces are not yet supported.
- Self-hosted environments
Local (Harness Community Edition)
Harness CD Community Edition is a lightweight version of Harness that you can download and run on your laptop or any VM.
Harness CD Community Edition is intended to get devs started with Harness quickly without having to sign up for a Harness SaaS account.
Custom
For non-native deployments, Harness provides a custom deployment option using Deployment Templates.
Harness supports the following infrastructure provisioning tools:
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.
Harness also supports Terraform Cloud and Enterprise.
- Containerized steps:
- Containerize step groups
- Multiple step types can be run containerized.
- Controls:
- Strategies: basic, rolling, canary, blue green, custom.
- Barriers
- Resource Constraints
- Queue steps
- Deployment freeze
- Failure strategies
- Conditional executions
- Looping strategies
- Triggers
- Input set and overlays
- Utilities:
- Build:
Manifests, specifications, config files, and other deployment files can be pulled from the following providers:
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 | ✅ | ✅ | ✅ | ✅ | ✅ |
All artifact sources are covered in CD artifact sources.
- Docker registry on any platform
- Google Container Registry (GCR)
- Google Cloud Storage (GCS)
- Google Artifact Registry
- Amazon Elastic Container Registry (ECR)
- AWS S3
- Azure Container Registry (ACR)
- Azure DevOps Artifacts
- Nexus 2 and 3
- Artifactory
- Jenkins
- Bamboo
- Github packages
- HTTP Helm
- OCI Helm
- Custom artifact source
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 | ✅ |
You can use the following ticketing systems for creating and updating tickets, and as approval gates:
- Jira (ticketing, approvals)
- ServiceNow (ticketing, approvals)
- Harness manual approvals
Harness Policy As Code uses Open Policy Agent (OPA) as the central service to store and enforce policies for the different entities and processes across the Harness platform.
You can centrally define and store policies and then select where (which entities) and when (which events) they will be applied.
Currently, you can define and store policies directly in the OPA service in Harness.
Soon, you will be able to use remote Git or other repos (e.g. OCI-compatible registries) to define and store the policies used in Harness.
Notes
- AWS and Azure GovCloud: Harness is now certified in Azure GovCloud and AWS GovCloud.
Harness Self-Managed Enterprise Edition (SMP) including offline Environments
All CD features supported in Harness SaaS are also supported in Self-Managed Enterprise Edition with the following exceptions:
- Dashboards: Harness CD Dashboards might not be completely functional with a bundled Timescale community edition version installation.
- Triggers: The feature flag
CD_GIT_WEBHOOK_POLLING
must be enabled for Github polling with two factor authentication. For more information, go to Polling frequency. - ServiceNow: ServiceNow versions Utah and earlier are supported.
- Jira: Jira on-premise versions < 9.0 are supported. To support Jira on-premise >= 9.0, the feature flag
SPG_USE_NEW_METADATA
must be enabled. - GitOps: The Harness GitOps Agent does not support custom certificates in Self-Managed Enterprise Edition.
- GitOps: The Harness GitOps Agent does not yet support installing agents in specific cluster namespaces in Self-Managed Enterprise Edition.
- Policy as Code: Harness Git Experience support for OPA policies is not supported in Self-Managed Enterprise Edition.
- Harness AI Development Assistant(AIDA): To support AIDA in Self Managed Enterprise Edition running in an offline environment, you must whitelist https://harness.openai.azure.com
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 Application Performance Monitoring (APM) and log management tools:
APM tools
Harness CV supports the following APM tools:
- AppDynamics
- Amazon CloudWatch
- Custom health source
- Datadog
- Dynatrace
- Google Cloud Operations (formerly Stackdriver)
- New Relic
- Prometheus (includes support for AWS Prometheus)
- Splunk Observability (formerly SignalFx)
- Sumo Logic
Harness supports most of the popular APM tools, but there may be instances where Harness don't have a native connector. Using the Harness Custom Health Source feature, you can integrate such APM tools with Harness.
Log management tools
Harness CV supports the following log management tools:
- Datadog
- Elasticsearch
- Google Cloud Operations (formerly Stackdriver)
- Grafana Loki
- Splunk
- Sumo Logic
Harness supports most of the popular log management tools, but there may be instances where Harness don't have a native connector. Using the Harness Custom Health Source feature, you can integrate such log management tools with Harness.
Cloud Cost Management
This topic provides the Harness Cloud Cost Management supported platforms and feature support matrix:
- Cost Reporting
- Cost Optimization
- Cost Governance
Features | AWS | Azure | GCP | Kubernetes | RBAC Support |
---|---|---|---|---|---|
Perspectives | ✅ | ✅ | ✅ | ✅ | ✅ |
Cost categories | ✅ | ✅ | ✅ | ✅ | |
BI dashboards | ✅ | ✅ | ✅ | ✅ | ✅ |
Anomaly detection | ✅ | ✅ | ✅ | ✅ | ✅ |
Currency standardization | ✅ | ✅ | ✅ | ✅ | ✅ |
Inventory management | Supported services and products:
| Supported services and products:
| Supported services and products:
| NA | Managed through Dashboards |
Perspectives
Feature summary
Different stakeholders in an organization care about different slices of your cloud data. Perspectives allow you to monitor the slice of data you are interested in. It also shows contextual recommendations and anomalies, tying in real time alerting and budgets to the specific style of data.
Benefits
- Perspectives can help you monitor cloud costs, tie them back to optimization opportunities, and set budget to govern costs along with reporting and alerting capabilities.
- Single pane of glass across multiple cloud and cluster costs.
- Slice and dice data across multiple dimensions across cloud providers.
- Deep resource-level visibility for K8s and ECS clusters.
Prerequisites
Any of the following CCM cloud connectors in a healthy state:
- AWS
- GCP
- Azure
- K8s
Supported Integrations
Terraform support - coming soon
Supported Platforms
- SaaS
- SMP
Notes
- Upper limit of 10,000 perspectives
- Resource-level granularity is not feasible in cloud perspectives
- Perspective Preferences
- Not supported for Azure and Kubernetes
- RBAC is not supported
- Data level and connector level RBAC is not supported
- The total cost displayed on the perspective list page is pre-computed (performed once per day) and could potentially deviate from the real-time costs presented within the perspective.
Documentation link
Cost category
Feature summary
Cost categories are a rule-based engine that attaches additional metadata to categorize cloud spending. Enabling organizations to align costs with context most relevant to their showback and chargeback models.
Cost categories also enable you to reshare specific costs (Shared) with different sharing strategies.
Benefits
- Contextualize cloud spending
- Cost sharing to manage shared/ common pool resources
Prerequisites
Any of the following CCM cloud connectors in a healthy state:
- AWS
- GCP
- Azure
- K8s
Supported Platforms
- SaaS
- SMP
Notes
Maximum limits
- Cost Buckets: 1000
- Shared Buckets: 10
Dashboard limitations
- Any changes to the cost categories will only be reflective for the current month data onwards. Historical data will point to the state of cost categories at that point in time.
- Cost category metadata attribution doesn’t work for any historical data, it is only from the point of cost category creation.
- Not supported in dashboards for cluster, AWS, GCP & Azure models. Only supported in the Unified Model.
- Shared cost data attribution of cost categories doesn’t flow into dashboards.
Perspectives limitations
- Perspectives always rely on the current state of cost categories, everything is generated dynamically real-time.
- Sharing of unallocated costs among cost buckets is not supported
Documentation link
Currency Standardization
Feature summary
Currency standardization allows you to view your cloud spend data in the currency of your choice. It provides more consistent, easy-to-consume, and meaningful cloud analytics across the entire business.
Benefits
If you have cloud provider bills in different currencies, currency standardization helps you normalize all costs into a single currency of your choice.
Supported Platforms
- SaaS
Notes
After standardizing the currency, historical cluster data is not backfilled automatically. Today a support request has to be raised to replay/backfill data.
You can configure your preferred currency only once. It can't be updated later.
The currency symbol in dashboards don't change, but the cost values are displayed in the preferred currency.
Only 15 currencies are supported
Default currency conversion factor is picked up from the CUR and falls back to public API.
Option to change currency conversion factor. The new factor will be used to:
- Reflect current month’s data and new data for cloud
- Reflect current day’s data and new data for cluster
Currency representation based on locale. Default is
en-us
locale.After configuring it may take up to 24 hours for the converted value to be displayed.
Documentation link
Anomalies
Feature summary
Anomaly detection helps detect unusual spending patterns in your clusters costs and cloud accounts. Cloud cost anomaly detection can be used as a tool to keep cloud costs under control. It also provides alerting capabilities (email and Slack) so that stakeholders are notified of each anomaly that's detected.
Benefits
- Early detection of unusual expenses: Anomaly detection can quickly identify unusual spending patterns or unexpected costs. This early detection allows businesses to address potential issues promptly, preventing further financial losses.
- Realtime alerting: This can help relevant teams get notified proactively.
Prerequisites
Any of the following CCM cloud connectors in a healthy state:
- AWS
- GCP
- Azure
- K8s
Supported Platforms
- SaaS
- SMP
Notes
CCM detects anomalies only for the following time series:
- Clusters: cluster name, namespaces
- AWS: Account, Service, Usage Type
- GCP: Projects, Products and SKUs
- Azure: Subscription ID, Service Name, and Resources
Anomaly are detected once every 24 hours
Anomaly are detected in one of the two cases:
- Actual cost - Predicted Cost > $75
- Actual Cost / Predicted Cost >= 1.25X
Documentation link
BI Dashboards
Feature summary
Custom dashboards enable you to leverage the full functionality of BI platform backed by the simple data models exposed by Cloud Cost Management.
Benefits
Data Visualization: BI Dashboards allows users to create interactive and visually appealing dashboards and reports. This makes it easier for users to understand complex data sets and gain insights.
Real-time Data Access: BI Dashboards enables users to access real-time data from various cloud sources. This ensures that users are making decisions based on the most up-to-date information.
Data Exploration and Discovery: BI Dashboards provides a powerful and user-friendly interface that empowers users to explore and analyze data on their own. Users can easily drill down into specific data points, apply filters, and perform ad-hoc analysis.
Prerequisites
Any of the following CCM cloud connectors in a healthy state:
- AWS
- GCP
- Azure
- K8s
Supported Platforms
- SaaS
- SMP
Notes
The following data can be consumed through dashboards:
- AWS
- GCP
- Azure
- Cluster
- ECS
- K8s
- Inventory
- EC2
- RDS
- EBS
- Instances
- Disks
- Azure VM
- Recommendations
- Autostopping savings (Coming soon)
Documentation link
Features | AWS | Azure | GCP | Kubernetes | RBAC Support |
---|---|---|---|---|---|
AutoStopping | ✅ | ✅ | ✅ | ✅ * | ✅ |
Recommendations | ✅ | ✅ | ✅ | ✅ | ✅ |
Commitment Orchestrator | Coming soon |
* - Review the information within the AutoStopping section to access details about supported Kubernetes providers.
AutoStopping
Feature summary
AutoStopping Rules offer a seamless way to optimize your non-production resources, ensuring they are active only when needed, and inactive when idle. With the added advantage of orchestrating workloads on spot instances, interruptions due to spot interruptions become a thing of the past. By implementing AutoStopping Rules:
- Eliminate unnecessary expenses incurred from allowing unused cloud VMs remain active.
- Slash non-production cloud expenditures by a remarkable 70%.
Benefits
- Ability to stop idle cloud resources intelligently.
- Supports various traffic sources such as HTTP, and TCP.
- Supports fixed schedules.
- Supports dry run mode for initial evaluation.
- Major cloud providers such as AWS, GCP, and Azure are supported.
Supported Configurations
AWS
EC2 VM
- EC2 VMs behind ALB running HTTP(s) workloads
- On-demand & Spot support
- EC2 standalone VMs running HTTP(s) workloads (Proxy)
- On-demand & Spot support
- EC2 standalone VMs with SSH/RDP access (Proxy)
AutoScaling groups
AutoScaling groups behind ALB running HTTP(s) workloads
- On-demand & spot support
- Spot support using ASG’s multiple instance type support
RDS
RDS connect using AutoStopping proxy
ECS
ECS tasks running HTTP(s) workloads behind ALB
Azure
Azure VMs
Azure VMs behind App gateway running HTTP(s) workloads
- On-demand support
- Supports only AppGateway V2
Standalone Azure VMs running HTTP(s) workloads
- On-demand support
- Requires AutoStopping proxy
GCP
Compute Engine
- Compute Engine standalone VM running HTTP(s) workloads
- On-demand support
- Requires AutoStopping proxy
- Compute Engine standalone VM running SSH/RDP
- On-demand support
- Requires AutoStopping proxy for RDP/SSH direct connect
Instance Groups
Standalone instance group VMs running HTTP(s) workloads
Kubernetes
Supported k8s providers
- EKS
- Node pool mode
- Fargate mode
- AKS
- GKE
- Node pool mode
- AutoPilot mode
- Kops
Supported resources
- Deployment
- Statefulset
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 | Full | - |
HAProxy ingress controller | Full | - |
Traefik as ingress gateway | Partial | Supported using ingress routes and manually configured middlewares |
Istio as API gateway | Full | - |
Ambassador as API gateway | Partial | Supported by manually editing the mapping |
The supported Kubernetes version for AutoStopping is 1.19 or higher.
Supported Integrations
- API
- Terraform
Supported Platforms
- SaaS
Documentation link
Recommendations
Feature summary
CCM provides recommendations for your ECS clusters, workloads, node pools, Azure VMs, and AWS EC2 instances. Recommendations are also generated for asset governance policies. These recommendations show you resource optimization opportunities to potentially reduce your monthly spending.
The recommendations are computed by analyzing the past utilization of CPU and memory of your workload. The implementation uses a histogram method to compute the recommendations.
Benefits
Cost optimisation: With recommendations you can get an overview of the potential cost savings on resources across your infrastructure.
Automated workflow: Automatically generated recommendations based on your past utilization data and trends.
Ticketing integration: Allows you to easily manage all the recommendations and facilitates comprehensive tracking of recommendation lifecycles across the system. CCM offers Jira and ServiceNow as the ticketing tools to manage all the recommendations within CCM. You are also provided with an option to ignore the recommendation if it is not applicable.
Prerequisites
- Kubernetes connectors are required for workload and node pool recommendations
- AWS, Azure connectors with inventory management enabled.
Supported use cases
- AWS EC2
- Azure VMs
- K8s Cluster
- Workload
- Nodepool
- ECS Service
- Governance
Supported Platforms
- SaaS
- SMP
Notes
After onboarding the cloud or cluster connectors to CCM, it may take up to 48 hours for the recommendations to appear in the platform.
Azure VM, AWS EC2 Recommendations are pulled in from the Azure advisor & AWS cost optimizer respectively
- Memory metrics are not considered when these recommendations are computed
Workload recommendations
- 15% buffer to the recommended resources by default
- CPU limits are not recommended by the platform
The following labels are used to process node pool recommendations. Make sure to add one of the labels listed below for the respective cloud providers:
Amazon Web Services (AWS)
eks.amazonaws.com/nodegroup
alpha.eksctl.io/nodegroup-name
node-pool-name
kops.k8s.io/instancegroup
Google Cloud Platform (GCP)
cloud.google.com/gke-nodepool
node-pool-name
kops.k8s.io/instancegroup
Microsoft Azure
Agentpool
node-pool-name
kops.k8s.io/instancegroup
Potential savings
- For Node pool recommendations, CCM uses public pricing to calculate costs.
- For Workload and ECS recommendations, CCM uses the last day cost available from cluster data.
- For EC2 and Azure VM recommendations, CCM fetches the values provided by the Cloud Provider themselves.
GCP VM recommendations are not supported
Notifications are not supported for recommendations
Documentation link
Features | AWS | Azure | GCP | Kubernetes | RBAC Support |
---|---|---|---|---|---|
Asset Governance | ✅ | Coming soon | Coming soon | ✅ | |
Budgets | ✅ | ✅ | ✅ | ✅ | ✅ |
Asset Governance
Feature summary
Achieve a state of well managed cloud through a Governance-as-Code approach with real-time enforcement and auto-remediation.
Benefits
- Powered by the open-source Cloud Custodian project, backed by CNCF.
- Supports structured policies in YAML format, simplifying ad-hoc cloud-specific scripts.
- Supports a wide range of out-of-the-box cloud resource types.
- Pre-packaged with sample policies which can be used to detect orphan and under utilized resources, for select resource types.
- Provides automated recommendations for addressing low utilization. Recommendations lifecycle is managed by Jira.
- Ability to execute policies in dry run mode.
- Supports cost calculation for EC2, RDS, EBS, and EBS snapshots.
Prerequisites
A CCM cloud connector (AWS) that has the required permissions.
Supported usecases
- Identify cloud resources that are either orphaned or underutilized based on defined conditions. For example, display RDS instances with storage usage below 10% with a specific tag.
- Set up enforcements that automatically trigger corrective measures upon condition fulfillment. This applies to individual rules, multiple rules, and rule sets across various accounts and regions. For example, configure an enforcement to automatically power down EC2 instances during off-peak hours, ensuring large-scale remediation.
- Send a notification through Slack or call a webhook when policy conditions are met.
Supported Integrations
- API
- Jira
- AIDA
- RBAC
Supported Configurations
- AWS
- Azure (Coming soon)
- GCP (Coming soon)
Supported Platforms
- SaaS
Notes
- Cost correlation is available only for specific cloud resource types.
- The presented cost savings are estimated based on approximate monthly costs for the respective group of resources.
- Limit on number of custom rules - 300
- Limit on number of target accounts per enforcement - 200
- Limit on number of target regions in an enforcement - 30
- Limit on number of rules in rule sets - 30
- Limit on number of policies in an enforcement - 30
- Limit on number of rule sets in an enforcement - 30
Documentation link
Budgets
Feature summary
Harness CCM Budgets allow you to set custom budgets and receive alerts when your costs exceed (or are forecasted to exceed) your budget. You can create budgets for Harness Applications and clusters along with Budget groups. Audit trail is supported for budgets and budget groups.
Benefits
Alerts and notifications: Support for email and slack alerts to effectively monitor your customized budgets, ensuring your costs align with your anticipated targets.
Budget grouping: Allows you to categorize and organize budgets into distinct and logical groups based on specific criteria.
Budget support for various time ranges: Allows you to establish financial limits for specific periods.
Set budgets for forecasted costs: Allows you to project future expenditures for better financial management.
Prerequisites
Any of the following CCM cloud connectors in a healthy state:
- AWS
- GCP
- Azure
- K8s
All budgets are linked to a perspectives, at least one perspective is required.
Supported Platforms
- SaaS
- SMP
Notes
Budgets
- Budget breached for all weekly, monthly, yearly budgets are checked only once a day to send out notifications.
- Budget breached for daily budgets are checked every hour.
- Perspective can’t be edited once a budget is created. Fields such as
budget period
andstart time
can’t be modified.
Budget Groups
- All attributes of the budgets need to be same for them to be part of a budget group.
- A budget can be part of only one budget group.
- Cascading type can’t be modified for the budget group.
- Except for
budget period
andstart time
, budget settings within budget group for individual budgets can be modified.
Documentation link
Harness does not currently support AWS China regions.
CCM on Harness Self-Managed Enterprise Edition
Review the following information about what installation infrastructure and CCM features are supported on Harness Self-Managed Enterprise Edition.
Supported installation infrastructure for CCM on Harness Self-Managed Enterprise Edition
AWS is the only supported installation infrastructure. If you do not install Harness Self-Managed Enterprise Edition on AWS, then you cannot use the CCM features.
Supported CCM features on Harness Self-Managed Enterprise Edition
The following table provides the feature support matrix for CCM on Harness Self-Managed Enterprise Edition.
Features | AWS | Azure | GCP | Kubernetes | Connected environment | Air-gapped environment |
---|---|---|---|---|---|---|
Perspectives | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ |
Cost categories | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ |
Budgets | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ |
BI dashboards | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ |
Anomaly detection | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ |
Currency standardization | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Recommendations | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ |
AutoStopping | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Asset governance | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Perspective preferences are not supported on Harness SMP.
For a comprehensive list of supported features in other Harness modules and the Harness Platform overall, go to Supported platforms and technologies.
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
Go to Security Step Settings Reference.
Feature Flags
Harness Feature Flags supports client-side and server-side SDKs for a number of programming languages.
Supported client-side SDKs
The following table lists the client-side Feature Flag SDKs that Harness supports.
Supported server-side SDKs
The following table lists the server-side Feature Flag SDKs that Harness supports.
Harness Chaos Engineering
Perform chaos experiments on applications in your infrastructure, such as a Kubernetes cluster. Use predefined or custom workflow templates.
Go to 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](/docs/continuous-delivery/x-platform-cd-features/cd-steps/notify-users-of-pipeline-events
- Send Notifications Using Slack
- Send Notifications to Microsoft Teams
Provider Name | Notification | Approval/Change Management |
---|---|---|
Microsoft Teams | Yes | N/A |
[Email](/docs/continuous-delivery/x-platform-cd-features/cd-steps/notify-users-of-pipeline-events | N/A | |
Slack | Yes | N/A |
Jira | Yes | Yes |
ServiceNow | N/A | Yes |
[PagerDuty](/docs/continuous-delivery/x-platform-cd-features/cd-steps/notify-users-of-pipeline-events | N/A |
Harness Git Experience
Harness Git Experience lets you store configurations for your resources like pipelines, input sets in Git.
Supported Git providers
The following section lists the support for Git providers for Harness Git Sync:
- GitHub
- Bitbucket Cloud
- Bitbucket Server
- Azure Repos
- GitLab
Supported Harness entities
You can save the following Harness resources in Git using Harness Git Experience:
- Pipelines
- Input sets
- Templates
Artifact Source templates are not supported with Git Experience.
Access control
The following table lists Harness support for SSO protocols and tools.
Go to 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.
Go to Harness Secrets Management Overview.
Provider Name | Key Encryption Support | Encrypted Data Stored 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 supported features for Harness Self-Managed Enterprise Edition offerings.
Solution | Supported Platform | Connected | HA | Monitoring | Disaster Recovery |
---|---|---|---|---|---|
Kubernetes Cluster | Kubernetes - GKE - AKS - EKS | Yes | Coming soon | Prometheus, Grafana | Coming soon |
Supported Kubernetes versions
- Self-Managed Enterprise Edition supports Kubernetes v.1.25, as well as versions 1.24, 1.23, 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.25.0 occurs on August 31, Harness extends compatibility by November 30.
Terms of support
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 unsupported Kubernetes versions.
In cases where you encounter a problem related to an incompatibility issue, you must upgrade your cluster. Harness does not issue a patch to accommodate the use of unsupported Kubernetes versions.
Template Library
Limitations
- When you delete an existing template with active pipeline references, Harness deletes the references.
- When you convert a runtime input in a template to a fixed value, the input type does not change in the linked pipeline. You must manually edit the linked pipeline YAML and provide the fixed values.
- When you convert a fixed type input to a runtime input in your template, the input type does not change in the linked pipeline. You must click the template in the linked pipeline to refresh it and save the pipeline again. This re-initiates the reconciliation process.
- Chained pipeline stages are not supported with pipeline templates.
- When using multiple nested templates, you must manually reconcile the changes or force reconcile via the three-dots menu.
SDKs installed with Harness 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 image type yy.mm.xxxxx
78306 and later.
- kubectl: v1.24.3
- Helm: v2.13.1, 3.1.2, 3.8.0
- Kustomize: v4.5.4
- OpenShift: v4.2.16
The versions can be found in the Harness public GitHub repo.
For details on updating the default tool versions, go to 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.25.6 |
go-template | v0.4.1 | |
Helm | kubectl | v1.25.6 |
helm | v3.9.2 | |
Helm (chart is stored in GCS or S3) | kubectl | v1.25.6 |
helm | v3.9.2 | |
chartmuseum | v0.8.2 and v0.12.0 | |
Kustomize | kubectl | v1.25.6 |
kustomize | v4.5.4 | |
OpenShift | kubectl | v1.25.6 |
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.25.6 |
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, go to 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.